嘟嘟嘟 这其实就是一道树剖板子题,只不过就是写的长了一点。 还是叨叨几点吧: 1.区间取相反数:开一个标记数组,每一次亦或1,然后对应的sum取相反数,Max, Min交换,并且取相反数。 2.题目中给的是边权,但要转化成点权:这条边的边权转化成儿子节点的点权,然后每一次链上操作的时候,x, y的L
原创 2021-05-29 19:04:41
235阅读
"嘟嘟嘟" 就这么建。 "———" c++ include include include include include include include include include include using namespace std; define enter puts("") defin
原创 2021-05-29 20:34:44
275阅读
"题目" 显然有一个暴力$dp$ $dp_{i,j}$表示前$i$个数选了$j$个的答案 转移显然 $$dp_{i,j}=dp_{i 1,j}+dp_{i 1,j 1}\times i$$ 由于元素是有顺序的,答案是$dp_{A,n}\times n!$ 复杂度是$O(nA)$的显然过不了 我们观察
转载 2019-05-26 19:21:00
110阅读
2评论
嘟嘟嘟 有谁能想到这题会用到主席树呢?(不愧是WJMZBMR出的题) 首先考虑如果区间是固定的话,中位数该怎么求。 没错,二分。如果大于当前二分值$mid$的数比小于$mid$的数多,说明$mid$还可以再变大,向右二分;否则向左二分。 如果我们把小于$mid$的数都标记成$-1$,大于的标记成$1
原创 2021-05-29 19:24:02
783阅读
嘟嘟嘟 k-d tree模板之二:查询第k大距离。(所以是怎么上黑的) 因为k-d tree的查询就是暴力嘛,所以我就想到了一个很暴力的做法:每一次查询用一个长度为k的优先队列维护。按距离递增,编号递减的方式排序。 然后查询的时候,如果队列长度大于k了,就尝试用当前节点更新首。 刚开始没看到k的范
原创 2021-05-29 20:21:44
140阅读
bzoj2631(权限题。。。): "链接" 落咕: "链接" 考察的是LCT维护链上信息。 但是这个题不一样的是又有加法又有乘法。。。(有木有想到落咕的模板——线段树2qwq) 因为乘法的运算优先度比加法高,所以我们要先做乘法再做加法(证明?去看线段树2的题解吧),push_down的时候要注意一
原创 2021-07-15 13:52:21
139阅读
国家集训队1999论文集 陈宏:《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》 来煜坤:《把握本质,灵活运用——动态规划的深入探讨》 齐鑫:《搜索方法中的剪枝优化》 邵铮:《数学模型的建立、比较和应用》 石润婷:《隐蔽化、多维化、开放化——论当今信息学竞赛中数学建模的灵活性》 杨帆:《准确性、全面性、美观性——测试数据设计中的三要素》 周咏基:《论随机化算法的原理
转载 2023-05-24 00:14:28
90阅读
"嘟嘟嘟" 这道题dp虽然不难,但是我还是没推出来,感觉最近脑子不太好用啊。 于是就跑去问神仙gjx(全国前三!)了。(外出集训真是好) 神仙不愧是神仙,一会儿就想出来了,而且方法还比网上的题解好懂。 dp[i][j]表示用值域为[1, i]的数,凑出的所有合法序列的值的和。 然后规定序列必须是严格
原创 2021-05-29 20:23:15
158阅读
题目题目背景Ray 乐忠于旅游,这次他来到了 T 城。T 城是一个水上城市,一共有 nn 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有 n-1n−1 座桥。Ray 发现,有些桥上可以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度 ww,也就是说,Ray...
原创 2021-07-13 14:47:52
141阅读
组合数学计数与统计2001 - 符文杰:《Pólya原理及其应用》2003 -
转载 2022-09-23 22:46:15
130阅读
嘟嘟嘟 这题就是整体二分的板儿,只不过变成二维的。 那么就用二维树状数组好啦。 至于二维树状数组,看了代码就懂了。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #i
原创 2021-05-29 20:19:55
164阅读
带修莫。时间复杂度$O(N^{5/3})$ 不会的可以看看 "胡小兔 dalao的博客" 先离线所有操作,然后标记上修改的时间戳,还按照普通莫做,如果当前处理的询问在上一个处理的时间之前,就还原之间所有操作,如果在之后就先进行之间的所有操作。
原创 2021-07-15 10:54:48
115阅读
题目链接: "戳我" 差不多就是DAG最小路径覆盖吧——拆点连边。 不会的可以看看蒟蒻的这个关于网络流的小总结 "qwq" 最小路径覆盖(不相交)=节点个数 最大匹配 但是要注意的是这个题的节点个数不能算高山深涧的点,因为它本来就非法,自己就构不成一个路径。
原创 2021-07-15 10:57:28
127阅读
V.[国家集训队]Tree II LCT维护这种东西是要比线段树要恶心的多的……毕竟线段树的区间大小是可以直接通过区间左右端点算出的,但是LCT就不行,必须手动维护。并且,线段树的维护是(左儿子+右儿子),但是LCT的维护是(左儿子+自己+右儿子)! 请务必先把线段树模板做掉,关于运算的优先级什么的
转载 2021-03-31 15:57:00
97阅读
2评论
"题目" 这不是线段树模板2放$lct$上了吗 于是开始码码码 之后一直wawawa 于是开始调调调 之后旁边的慎老师看了一看代码就说,你下放乘法标记的时候不乘加法标记吗 我:。。。 代码 cpp include include include include define maxn 300005
转载 2019-02-12 21:03:00
52阅读
2评论
嘟嘟嘟 这道题其实还是挺基础的,只不过操作有点多。 区间乘和区间加按线段树的方式想。 那么就先要下放乘标记,再下放加标记。但这两个和反转标记是没有先后顺序的。 对于区间加,sum加的是区间长度$*$lazy标记。但是线段树区间固定,而lct不是,所以还要单独维护一个size。 还有一点,这个是spl
原创 2021-05-29 20:19:49
86阅读
"嘟嘟嘟" 这其实就是一道最小边覆盖的板儿题。 暴力连边,然后跑匈牙利(dinic),则答案就是总结点数 匹配数。 比如节点1和2,2和3匹配上了,那么就是1到2,2到3这两条路径连接到一块,相当于把节点3合并到这条路径上了。所以从路径数就是总结点数 连接次数。 然而我不知怎么想的写了个费用流,虽然
原创 2021-05-29 20:34:39
173阅读
http://cogs.pro:8080/cogs/problem/problem.php?pid=1763 二分答案x 把区间内>=x的数设为1,<x的数设为-1 左端点在[a,b]之间,右端点在[c,d]之间的子序列中,若中位数>=x, 那么 [b+1,c-1]的区间和+[a,b]的最大右子段和
转载 2021-08-05 11:42:36
82阅读
CXXXVII.[国家集训队]Tree I 两年前刚学MST时做这题WA了,然后两年后才把它补上…… 明显直接wqs二分就行了。 代码: #include<bits/stdc++.h> using namespace std; int n,m,q,dsu[50100],ip; int read(){
转载 2021-03-31 15:13:00
115阅读
2评论
嘟嘟嘟 看到回文串,就想到了manacher。而且这道题只用求长度为奇数的回文串,所以不用添加字符,在原回文串上跑一边即可。 需要注意的是,如果一个回文串的半径是r,那么这个回文串同时也包含了r - 1, r - 2,……1的回文串,因为r表示的是以 i 为回文中心的最长的回文串。于是我们开一个桶,
原创 2021-05-29 19:09:37
143阅读
  • 1
  • 2
  • 3
  • 4
  • 5