04 2016 档案
摘要:①洞穴勘测 bzoj2049 题意:由若干个操作,每次加入/删除两点间的一条边,询问某两点是否连通。保证任意时刻图都是一个森林。(两点之间至多只有一条路径) 这就是个link+cut+find root的裸题啦。 LCT实现的时候注意在splay的时候要提前把所有点pushdown一下,详见代码。 #include #include #include #include #includ...
阅读全文
摘要:在搞LCT之前,我们不妨再看看喜闻乐见的树链剖分。 树链剖分有一道喜闻乐见的例题:NOI2015 软件包管理器 如果你看懂题目了,你就会明白它是叫你维护一个树,这棵树是不会动的,要兹磁子树求和,子树修改,树上路径求和,树上路径修改。 树链剖分就是把一个树剖分成像这样的东西: 一棵树用一坨重链组成,重链之间用轻链连接。 对于树上的每一个点,它和子树大小最大的那个的根节点在同一重链,其他...
阅读全文
摘要:我们来安利一个黑科技。(其实是Claris安利来的 比如我现在有一坨询问,每次询问两个不超过n的数的gcd。 n大概1kw,询问大概300w(怎么输入就不是我的事了,大不了交互库 http://mimuw.edu.pl/~kociumaka/files/stacs2013_slides.pdf ht
阅读全文
摘要:可以在UOJ上提交也可以在bzoj上提交(权限) A. Bali Sculptures 对于前72%的数据,按位考虑,然后跑一点沙茶dp就行了。 dp:用f[x][y]表示前x位分为y段是否满足条件。 对于最后29%的数据,我们改一下dp方程。 dp:用f[x]表示前x位满足条件至少要分几段。 结论:傻逼题 #include #include #include #include...
阅读全文
摘要:这篇文章会列一点非常规的数据结构题。 tyvj4393 纸条 大意是有若干条纸条,每次操作是把一个纸条挪动一下,然后求一个位置的所有纸条上数的和。所有纸条的长度之和不超过20W,纸条数量啥的都是10W。 首先我们可以分块,不过标解不知道高到哪里去了,对于所有的纸条按照长度大于小于$\sqrt{n}$
阅读全文
摘要:bzoj3529 数表 令F(i)为i的约数和,q次给定n,m,a,求 $\sum_{\substack{1 \leq i \leq n\\1 \leq j \leq m\\F(gcd(i,j) \leq a}}{F(gcd(i,j))}{mod2^{31}}$ n,m<=10^5,q<=20000
阅读全文
摘要:嗯因为本人就是个计算几何渣所以标题就写个初步好了… ①求多边形面积 poj3907 随便找一个点,对多边形相邻顶点求叉积。加在一起求绝对值即可。 #include #include #include #include #include #include #include #include #include #include using namespace std;int n;doubl...
阅读全文
摘要:发个福利好了(求不吐槽名字 自己做的软件,(目前)效果大概如上图… 对于我这种比较喜欢参加一些奇怪比赛的人来说还是有用的。 原理…就是在后台开七个浏览器2333 按左边的按钮会开始抓取比赛,进度可以在右下角显示。 按右边的按钮会把抓取到的比赛汇总在表格里 然后双击比赛名称可以用默认浏览器打开比赛 代码写了13k左右…比较丑就不放了 因为是qt写的,所以需要一大坨dll。 于是...
阅读全文
摘要:文章修改不会置顶看着真难受… ⑤miller-rabin 记n-1=a*2^b。在[1,n)中随机选取一个整数x,如果x^a≡1或x^(a*2^i)≡-1(其中0<=i<b),那么我们认为n是质数。 正确率大概是((1/4)^随机次数) 下面的代码还带了一个快速乘 ⑥pollard-rho 一个比较
阅读全文
摘要:这题实在是比较一棵赛艇就发上来好了。 题目: 给定n,求出小于等于n的所有合数的最小质因数之和。 对于70%的数据,n=k的质因数p我们可以发现n/p是在10^7以内的。然后为了保证质因数是最小的,我们必须只能选n不是#include #include #include #include #include #include #include #include #include #includ...
阅读全文
摘要:听说明天AU爷ysy要给我们讲数论 赶紧预习一下好了 ①高斯消元 嗯这个就不多解释了… 题1 bzoj1013 球形空间产生器 嗯这题就是给你一个n维球体上的n+1个点,求圆心。 所以假设第i个点是(a[i][1],a[i][2]…a[i][n]) 那么我们就是要找一个点(x[1]…x[n])使得
阅读全文
摘要:P1279 文艺平衡树 额真的是平衡树啊…调了0.5h有点方 #include #include #include #include #include #include #include #include #include using namespace std;#define SZ 666666int ch[SZ][2],fa[SZ],sz[SZ],val[SZ],an,root;bo...
阅读全文
摘要:好像序列自动机还没有写过… 串长为n的串共有n+1个节点,除了串中的n个节点,还有一个空的根节点放在串首。每个节点至多有26条出边,每条边连向它之后的第一个字符。 串中的任意一个子序列对应了一条根到某个节点的路径。且每条路径对应一个不同的子序列。 每个节点的parent是这个字母上一次出现的位置。更新只要沿parent指针扫描即可。 FJOI2016 所有公共子序列问题 这题暴力建tri...
阅读全文
摘要:在Onenote里面写的,懒得搬,就发图好了。 看不清楚的话可以新窗口打开
阅读全文
摘要:51nod1053 这题还是我们熟悉的M子段和,只不过N,M#include #include #include #include #include #include #include #include using namespace std;int n,m,l[233333],r[233333];long long a[233333];typedef pair pii;set ps;void ...
阅读全文
摘要:有点长…分个P好了 人民群众喜闻乐见的网络流24题 http://cojs.tk/cogs/problem/index.php?key=%E7%BD%91%E7%BB%9C%E6%B5%8124%E9%A2%98 ①搭配飞行员 二分图最大匹配裸题 如果要强行上最大流…那么就S->左边每一个点连边容量1,该连的边连一下容量1,右边每一个点->T连边容量1 #include #incl...
阅读全文