题意 求\(\gcd(a, b)\),其中\(a,b\leq10^{10000}\) 题解 使用\(\text{Stein}\)算法,其原理是不断筛除因子\(2\)然后使用更相减损法 如果不筛\(2\)因子的话复杂度是线性的,比如\(a=1,b=10^{10000}\) 再证明下更相减损术,即\(\gcd(a,b)=gcd(a-b,b)\): 假设\(d=\gcd(a,b)\),则\(a=pd,b=qd\) 根据定义可知\(\gcd(p,q)=1\) 因此\(px+qy=1\)存在解\(x,y\…
拆点跑$MCMF最小费用最大流$ 复习一下$MCMF$模板啦啦啦--- 一些坑:更新$dist$后要接着更新$pre$,不要判断是否在队列中再更新,,,听不懂吧,听不懂就对了,因为只有我才会在这种错误上犯逗$TwT$ #include<cstdio> #include<cstring> #include<algorithm> #define N 205 #define M 20005 #define mo 410 #define read(x) x=getint() u…
水啊水,最后ans别忘了%哦! #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int mo = 45989; int cnt = 1, point[23], n, m, t, S, T; struct node { int u, v, nxt; } E[1003]; struct Mt { int v[123][123]; Mt() {memset(v,…
发现自己这几天智商完全不在线-- 这道题的数据十分的水,怎样都可以艹过去-- 开始想了一个完全错误的算法,枚举一对点,判断这一对点是否同时在两条最短路上,是就用两点之间的路径更新答案.显然这样是错的: 8 10 7 8 2 5 1 3 1 3 5 2 3 6 2 3 8 4 5 8 4 6 8 2 5 6 4 6 2 9 7 5 7 6 7 9 答案显然是 0,但是这个算法会输出 3. 但是实际上这个做法是可以 AC 的,但是我只有 30 分,原因先按下不表. 然后点开了讨论,发现我的做法果然是…
「BZOJ 4228」Tibbar的后花园 Please contact lydsy2012@163.com! 警告 解题思路 可以证明最终的图中所有点的度数都 \(< 3\) ,且不存在环长是 \(3\) 的倍数的环.这是充分必要的,由于图不联通,其就是由若干个联通块组成的,每个联通块是一条链或者环长不是 \(3\) 的倍数的环,然后强上EGF就好了. 列出链的EGF和环的EGF \[ A(x)=x+\sum_{i\geq2}\dfrac{x^i}{2} \\ B(x)=\sum_{i>3,…
「BZOJ 3645」小朋友与二叉树 解题思路 令 \(G(x)\) 为关于可选大小集合的生成函数,即 \[ G(x)=\sum[i\in c ] x^i \] 令 \(F(x)\) 第 \(n\) 项的系数为为权值为 \(n\) 的二叉树的方案数,显然有 \[ F(x)=F(x)^2G(x)+1\\ F^2(x)G(x)-F(x)+1=0 \\ F(x)=\dfrac{1\pm\sqrt{1-4G(x)}}{2G(x)} \] 当 \(x\to 0\) 时,\(F(x)\) 的值为 \(1\)…
「BZOJ 4502」串 题目描述 兔子们在玩字符串的游戏.首先,它们拿出了一个字符串集合 \(S\),然后它们定义一个字符串为"好"的,当且仅当它可以被分成非空的两段,其中每一段都是字符串集合 \(S\) 中某个字符串的前缀.比如对于字符串集合 \(\{ "abc","bca" \}\),字符串 \("abb"\),\("abab"\)是"好"的 \(("abb"=…
「BZOJ 4289」 PA2012 Tax 题目描述 给出一个 \(N\) 个点 \(M\) 条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点 \(1\) 到点 \(N\) 的最小代价.起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权 \(N \leq 10^5, M \leq 2 \times 10^5\) 解题思路 : 首先考虑一个暴力的做法,建一个新图,把每一条边看成新图的一个点' 对于原图的每一个点 \(u\) 对于边 \((u, x),…
「BZOJ 2534」 L - gap字符串 题目描述 有一种形如 \(uv u\) 形式的字符串,其中 \(u\) 是非空字符串,且 \(v\) 的长度正好为 \(L\), 那么称这个字符串为 \(L-Gap\) 字符串 给出一个字符串 \(S\), 以及一个正整数 \(L\), 问 \(S\) 中有多少个 \(L-Gap\) 子串. \(1 \leq |S| \leq 5 \times 10^4, L \leq 10\) 解题思路 : 考虑要对特征串计数,不妨枚举 单个 \(u\) 的长度…
「BZOJ 2956」模积和 令 \(l=\min(n,m)\).这个 \(i\neq j\) 非常不优雅,所以我们考虑分开计算,即: \[\begin{aligned} &\sum_{i=1}^{n}\sum_{j=1,i\neq j}^{m}(n \bmod i)(m\bmod j)\\ =&\sum_{i=1}^{n}\sum_{j=1}^{m}(n \bmod i)(m\bmod j)-\sum_{i=1}^{\texttt{l}}(n \bmod i)(m\bmod i)\\ \…