03 2018 档案
摘要:学到了好多东西啊这题。。。 https://blog.csdn.net/sdfzyhx/article/details/72968468
阅读全文
摘要:一开始只推出O(TN)的做法,后来看了看发现再推一步就好了。 我们只需要枚举gcd就可以啦。 然后我们改变一下枚举顺序 设T为dk 预处理中间那部分前缀积就好了。
阅读全文
摘要:拉格朗日插值+dp 直接dp是n立方的,我们考虑优化。 dp式子为f[i][j]=f[i-1][j-1]*j*i+f[i-1][j]表示i个元素选j个的答案 然后发现最高次就是2j次,所以我们预处理出2n个点的值再用拉格朗日一插就好。
阅读全文
摘要:问了数竞的毛毛搞了一番也没太明白,好在代码蛮好写先记下吧。
阅读全文
摘要:复习了一波差分约束。 http://blog.csdn.net/my_sunshine26/article/details/72849441 构图方式记住就好。 本题要倒序插入否则会被卡。
阅读全文
摘要:求一个图中强联通图的个数。 一看就是容斥啦,但这种二进制高端操作还是学习一下Candy?dalao 注释在代码里 好久没更了。。。
阅读全文
摘要:没错,又是这题,使用后缀自动机,反向建树,主席树维护right集合。 By:大奕哥
阅读全文
摘要:感谢dalaoWJZ的讲解。 我们对于每一个串a[i]相当于在他parent的right集合里找一个出现位置在id-len[x]+len[parent]到id[x]-1区间的 用主席树判存在性即可。 至于我问了很久这个区间为什么不能往前判,原因是你每个节点都代表唯一一个子串,所以我们定性查询就可以啦
阅读全文
摘要:题目:https://arc069.contest.atcoder.jp/tasks/arc069_d 题意就是让你在n对数字每一对都选一个数使得任意两个数做差的绝对值最小值最大。 关系显然是一个2-sat,然后我们发现二份答案如果差值为x那么a-x+1到a+x-1是绝对不能选的, 也就是选完以后剩
阅读全文
摘要:1 #include 2 using namespace std; 3 const double pai=acos(-1),eps=1e-8; 4 struct DOT 5 { 6 double x,y; 7 DOT(double _x=0,double _y=0){x=_x,y=_y;} 8 DOT operator+(DOT a,DOT b) 9 ...
阅读全文
摘要:用左偏树模拟攻占的过程,维护最小值,最多入和出m次,每次log复杂度。
阅读全文
摘要:参见http://blog.csdn.net/popoqqq/article/details/43122821
阅读全文