上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 二分图匹配。发现:无论怎么交换,同一行的还是同一行,同一列的还是同一列的。所以直接建图,跑匈牙利就好了#include#include#include#include#include#define N 205using namespace std;int pp[N],... 阅读全文
posted @ 2017-08-20 19:37 Ren_Ivan 阅读(119) 评论(0) 推荐(0) 编辑
摘要: tarjan跑出来所有的割点 dfs搞每一个点双和几个割点相连,0个就要建两个,因为建一个的话,那个地方没了就死了,1个就要建一个,因为如果割点断了,需要内部供给,2个就不用建,任意一个断都可以从另一边过 1 #include<cstdio> 2 #include<cstring> 3 #inclu 阅读全文
posted @ 2017-08-20 18:09 Ren_Ivan 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 预处理出每个点周围四个点互相到达的最短路,再在整个图上跑SPFA,要记录路径 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<cmath> 6 #include< 阅读全文
posted @ 2017-08-20 17:44 Ren_Ivan 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目 发现每一行,列的差都相等 ⎡⎣⎢124235346⎤⎦⎥ 行 1-2=2-3=3-4 2-4=3-5=4-6 列 1-2=2-3=4-5 2-3=3-4=5-6 再发现了这个神奇的规律后,就可以用带权并查集维护了。#include #include #inclu... 阅读全文
posted @ 2017-08-15 21:00 Ren_Ivan 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 我还以为我状压很好。。。。。。 噗!!! 果然我区间很差。。。 f[i][j][s]表示i~j段,合并后的状态为s所得的最大收益 枚举i,j,k,s. f[i][j][s#include #include #include #include #define N 350... 阅读全文
posted @ 2017-08-15 17:33 Ren_Ivan 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1:快速幂 2:exgcd 3:exbsgs,题里说是素数,但我打的普通bsgs就wa,exbsgs就A了......(map就是慢).....#include#include#include#include#include#include#define LL l... 阅读全文
posted @ 2017-08-15 06:30 Ren_Ivan 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 每次把gcd(a,c)提到前面,直到a,c互质,然后就是普通BSGS了#include#include#include#include#include#define LL long longusing namespace std;struct hashtable{ s... 阅读全文
posted @ 2017-08-14 21:18 Ren_Ivan 阅读(126) 评论(0) 推荐(0) 编辑
摘要: BSGS算法,预处理出ϕ(c)−−−−√内的a的幂,每次再一块一块的往上找,转移时将b乘上逆元,哈希表里O(1)查询即可#include#include#include#include#include#include#define LL long longlong l... 阅读全文
posted @ 2017-08-14 10:43 Ren_Ivan 阅读(76) 评论(0) 推荐(0) 编辑
摘要: %%% dalao Orz ,筛素数到sqrt(n),分解ϕ(p),依次枚举判断就好了#include#include#include#include#include#define N 100000#define LL long longusing namespace... 阅读全文
posted @ 2017-08-14 08:44 Ren_Ivan 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 我们要求的是∑ni=1∑mj=1(2×gcd(i,j)−1) 化简得2×∑ni=1∑mj=1gcd(i,j)−n×m 所以我们现在只需要求出∑ni=1∑mj=1gcd(i,j)即可 ∑ni=1∑mj=1gcd(i,j) =∑ni=1∑mj=1∑d|gcd(i,j)ϕ(... 阅读全文
posted @ 2017-08-13 15:15 Ren_Ivan 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题意:一棵树,给两个点,求树上有多少点到他俩距离相等倍增lca,分好多情况讨论。。#include#include#include#include#include#define N 100500using namespace std;int e=1,head[N];s... 阅读全文
posted @ 2017-08-13 14:00 Ren_Ivan 阅读(111) 评论(0) 推荐(0) 编辑
摘要: n>=m,所以就变成了求ϕ(m!)∗n!/m! 而ϕ(m!)=m!∗(p−1)/p......p为m!的素因子,即为m内的所有素数,问题就转化为了求n!∗(p−1)/p...... 只需要预处理出素数,阶乘,逆元即可#include#include#include#i... 阅读全文
posted @ 2017-08-13 07:22 Ren_Ivan 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 因为规定n层的阶梯只能用n块木板 那么就需要考虑,多出来的一块木板往哪里放 考虑往直角处放置新的木板 不管怎样,只有多的木板一直扩展到斜边表面,才会是合法的新状态,发现,这样之后,整个n层阶梯就被分成了i层和n-1-i层的阶梯,即 f(n)=∑i=0n−1f(i)×f... 阅读全文
posted @ 2017-08-12 20:39 Ren_Ivan 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 把排好序的序列看成一对对括号,要把他们往原数列里塞,所以就是括号序合法方案数 即为卡特兰数 f(n)=Cn2nn+1 求的时候为避免除法,可以O(n)计算每个素数出现次数,最后乘起来,打完之后发现其实根本不用快速幂……#include#include#include#... 阅读全文
posted @ 2017-08-12 20:31 Ren_Ivan 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 没有任何思路,打表发现ans=phi(n)*phi(m)*n*m %%% popoqqq Orz 然而并没有看懂……#include#include#include#include#include#define mod 998244353llusing names... 阅读全文
posted @ 2017-08-12 17:11 Ren_Ivan 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页