上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 53 下一页
摘要: lct+并查集 联赛之后忘了很多东西 复习一下 这并不是一棵树,所以我们不能直接上lct 但是把双联通分量缩了以后就是一棵树了 怎么缩呢 就是把splay拆了合并到一个点上 连通性和双联通分量拿两个并查集维护 access的时候x=find(fa[x]) #include<bits/stdc++.h 阅读全文
posted @ 2018-01-05 20:55 19992147 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 我已经忘了lct 1.lct能干什么 能维护一个序列,能做线段树做的事 能维护一颗静态的树,能做树链剖分和线段树做的事 能维护一个动态的序列,能做splay做的事 能维护一颗动态的树,能做splay和树链剖分的事 所以lct=splay+树链剖分 2.怎么维护 树链剖分是利用轻重链剖分的性质 那么l 阅读全文
posted @ 2018-01-05 20:44 19992147 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 凸包+三分 想做这道题很久了 暴力的想法就是枚举,但是这样t了 然后发现列出来的式子满足三分 那么整数三分最大值 维护凸包的时候想了很长时间,觉得用斜率判很反人类 叉积是个好东西 #include<bits/stdc++.h> using namespace std; const int N = 1 阅读全文
posted @ 2017-12-27 19:56 19992147 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 数论 这个幂指数很难搞,那么我们取个log 去取log得有底数,那么自然这个底数能表示出所有的数 原根满足这个性质 那么我们求出原根,再去log 变成k*ind(x)=ind(a) (mod phi(p)) phi(p)=p-1 又因为g^ind(a)=a (mod p) 那么我们用bsgs求出in 阅读全文
posted @ 2017-12-19 18:06 19992147 阅读(256) 评论(0) 推荐(0) 编辑
摘要: fft 分治虽然是万能的,但是太慢了 分治是nlog^2n的,太慢了,于是我们用求逆和开根 设f(x)表示答案为x的方案数 c表示物品的生成函数 那么f=f*f*c+1 f*f表示左右儿子的方案数 c表示根的方案数 +1是空树,也就是+上t(x)=1这个生成函数 然后求根公式得出f=2/(1+sqr 阅读全文
posted @ 2017-12-19 09:08 19992147 阅读(115) 评论(0) 推荐(0) 编辑
摘要: fft+数论 抄了很多地方 首先我们有个暴力dp,dp[i][j]表示到第i个数,乘积%m=j的方案数 那么可以暴力转移。 这个东西很明显不能矩阵快速幂,又不是卷积,但是我们可以转化 还记得原根吗 g^0...g^P-2 %P的余数各不相同,我们可以用指标代替数 指标就是上面的幂 设a的指标为ind 阅读全文
posted @ 2017-12-18 17:23 19992147 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 网络流 最大权闭合子图 我已经忘记了这个东西是什么 大概是这样的,设选了a就必须选b,那么a->b 连inf,代表 强制选 如果价值为正从source连,否则向sink连,然后sum-flow就行了,sum是所有的正权和 这个题很明显是最大权闭合子图,但是中间有些点形成强连通分量挖掉就行了 #inc 阅读全文
posted @ 2017-12-17 19:41 19992147 阅读(86) 评论(0) 推荐(0) 编辑
摘要: fft 考虑什么情况下不能组成三角形,那么就是a+b<=c,我们用fft求出所有a+b的情况,对于每个c统计就行了 #include<bits/stdc++.h> using namespace std; #define pi acos(-1) const int N = 500005; int n 阅读全文
posted @ 2017-12-17 10:27 19992147 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 分治ntt 考虑从添加i,放在j位置,那么1->j是一个连通块,j+1->i和1->j不连通,那么我们可以列出式子dp[i]=∑j=1->i dp[i-j]*A(i-1,j-1)*j^2 dp[i]表示i个数的答案 然后化简一下就可以分治ntt了 #include<bits/stdc++.h> us 阅读全文
posted @ 2017-12-17 10:26 19992147 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 分治+ntt 设dp[i]表示i个点的图联通的方案数 那么考虑dp,利用容斥,总-不符合,枚举j=1->i-1,然后考虑不符合,那么考虑和1联通的连通块,剩下的不和1连通,那么dp[i]=2^t(i)-∑j=1->i-1 dp[j]*C(i-1,j-1)*2^t(i-j) 就是t(i)表示i个点的图 阅读全文
posted @ 2017-12-16 17:28 19992147 阅读(108) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 53 下一页