摘要:
动态点分治总结 下面是伟大の分割线! 上面是伟大の分割线! 废话 再开一坑。 刷几道题来填。 才刷两题,慢慢补吧。。。。 (这玩意是真的神,调死你 警告:这篇文章中的代码都很丑陋! 下面是伟大の分割线! 上面是伟大の分割线! 思想 前置技能:点分治。 动态点分治就是带修改的点分治。 如果每次单点修改 阅读全文
摘要:
点分治总结 开坑。 做几道例题之后填。 噫噫噫没例题做 好像都出动态点分治去了(Orz) 下面是分割线! 上面是分割线! 点分治 瞎BB一个 :点分治适用于处理树上路径的统计问题。 eg. 问你一棵树上距离为k的点对数量。 思想 一棵有根树上的路径只有两种:过根的和不过根的。 如果是过根的,可以$O 阅读全文
摘要:
数论知识总结 欧拉函数 NOIP爆零の辣鸡第一次学数论,啃腚有错误。。。所以这篇博客很可能是错的。。。墙裂推荐 "这个" 定义 定义:小于等于n且与n互质的数的个数。 $\phi(n)=\sum_{i=1}^{n}[gcd(i,n)=1]$ 求法 求法1:只求$\phi(n)$ 从$1$到$\sqr 阅读全文
摘要:
题面:http://sycstudio.com/bzojch/p/2683.html CDQ裸题。 上洛谷群借了个权限号AC了。 cpp // It is made by XZZ include include define il inline define rg register define v 阅读全文
摘要:
bzoj:http://www.lydsy.com/JudgeOnline/problem.php?id=2141 cogs:http://cogs.pro:8080/cogs/problem/problem.php?pid=1871 这题和动态逆序对有点像 这题有些小卡常 首先用树套树维护值域,然 阅读全文
摘要:
一次AC。吼啊。 BZOJ权限QAQ 区间加和乘打标记,区间乘x就是区间移动,平衡树解决即可。 查询直接遍历一遍然后算出来 cpp // It is made by XZZ include include include include define il inline define rg regi 阅读全文
摘要:
我也不知道题目名字是什么。 啊啊啊啊啊这题好难啊我不会做 竟然没有修改操作 先差分一下数组,每个点存它和前一个/后一个的差值,题目转化成求最长的连续元素 =0的长度 这就辣鸡东西了 注意l==r时的特判 cpp // It is made by XZZ include include define 阅读全文
摘要:
区间逆序对查询。妙蛙 莫队$O(n^{1.5}log_2n)$ cpp // It is made by XZZ include include include define il inline define rg register define vd void define sta static 阅读全文
摘要:
我实在是不想再打一遍树状数组套替罪羊树了。。。 然后在普通平衡树瞎逛的时候找到了以前看过vector题解 于是我想:为啥不把平衡树换成vector呢??? 然后我又去学了一下ZKW线段树 就用 ZKW线段树套vector 水过啦!!! 每个ZKW线段树的节点保存一个vector 操作1在分出的vec 阅读全文
摘要:
LCT裸题 注意打标记之间的影响就是了 这个膜数不会爆unsigned int cpp include include include include using namespace std; define rg register define il inline define sta static 阅读全文
摘要:
~~LCT裸题~~ 我LCT学傻了这题明显可以树剖~~我不会树剖了~~ 本来的siz是Splay上的子树和,并没有什么用。 所以每个点维护 虚子树和 和 子树和 虚子树和即虚边连接的子树和,且只有在access和link操作更改。 注意link操作 原来的link: 现在的link: 然而上面是错的 阅读全文
摘要:
~~学完LCT后赶脚树剖忘光光了~~ LCT板子题~~LCT的全是板子题~~ 对每个点维护区间最左边的颜色lcol,区间最右边的颜色rcol和颜色段数tot。 合并时若左边的rcol==右边的lcol,新的tot=左tot+右tot 1; 不是就新tot=左tot+右tot 修改打个覆盖标记即可。 阅读全文
摘要:
网络流24题 部分总结 慢慢写吧。。。 以前做过一些了; 然后发现也做了不少了,集中写一下。 警告: 1. 题目按照随机顺序排列。 2. 文章中只有建模的方法。 最小路径覆盖问题 http://cogs.pro:8080/cogs/problem/problem.php?pid=728 题目即题解。 阅读全文
摘要:
BZOJ卡不过灰常蛋疼(毕竟人蠢自带巨大常数 这和动态维护最小生成树很像,但加边变成了删边,似乎没法做了。 然后根据之前的套路离线做,删边变成加边,就可以做了orz 二分查找的:(慢 //orz各位巨犇 阅读全文
摘要:
我写的第一道HNOI2017的题。。。 记得去年(没错就是去年)不会splay,然后spaly GG~~现在看好water啊~~ 参照~~已经AFO的~~QYP巨佬的手玩结论(orzorzorz):spaly操作虽然是$O(n)$的,但是只需修改几条边(So 你可以开个数组来维护splay) Ins 阅读全文
摘要:
LCT练手好题啊。 SPFA的做♂FA是把边按照a排序,然后加一条权值为b的边跑SPFA,不断更新答案。很好的做♂FA,但复杂度无♂FA保证。 LCT的做♂FA类似,也是把边按照a排序,然后也是加一条权值为b的边,动态维护最小生成树。 然后赋边权的方♂FA是新建一个点表示边,原来点的权值为0,边的权 阅读全文
摘要:
主席树。比树状数组高端多了又好写。 last[i]表示上一个颜色为i的数,没有则为0。 那么一个区间里的答案就显而易见了: $\sum_{i=l}^r (last[i] include define il inline define rg register define vd void define 阅读全文
该文被密码保护。 阅读全文
摘要:
板子题 "link cut tree" cpp // It is made by XZZ include include define il inline define rg register define vd void define sta static typedef long long ll 阅读全文
摘要:
link cut tree 动态树(准确说是维护森林)之一,支持连边,断边,求链上权值和等操作。 splay基础:会rotate和splay就行。还要会一点区间反转操作打标记。很基♂础的东西。 有重链,每条重链用splay来维护,splay中排名为这条重链中深度值,顺便把链的要维护信息(譬如链上点权 阅读全文