随笔分类 - 数据结构
摘要:链接 "luogu" 思路 可耐我连cdq都不会,Orz 陈丹琦 代码 cpp include using namespace std; const int N = 5e5 + 7; int read() { int x = 0, f = 1; char s = getchar(); for (;s
阅读全文
摘要:链接 "bzoj" 最好不要去luogu,数据太水 思路 一个询问转化成四个矩阵,求起点$(0,0)到(x,y)$的矩阵 离线处理,离散化掉y,x不用离散。 一行一行的求,每次处理完一行之后下一行的贡献直接叠加到当前。 用lowbit统计 错误 离散化小心点,是y 1不是y 代码 cpp inclu
阅读全文
摘要:链接 "luogu" 思路 简单题 代码 cpp include define ls c[x][0] define rs c[x][1] using namespace std; const int N = 1e5 + 7, mod = 51061; int read() { int x = 0,
阅读全文
摘要:P4211 [LNOI2014]LCA 链接 "loj" "luogu" 思路 多次询问$\sum\limits_{l \leq i \leq r}dep[LCA(i,z)]$ 可以转化成l到r上的点到根的路径+1 最后求一下1到z的路径和就是所求 区间$[l,r]$是可以差分的 离线直接求就行了。
阅读全文
摘要:链接 "luogu" 思路 颜色很少,开10个lct分别维护 这一行的代码调了半天。 代码
阅读全文
摘要:[NOI2014]魔法森林 链接 "loj" 思路 a排序,b做动态最小生成树。 把边拆成点就可以了。 uoj98.也许lct复杂度写假了、、越卡常,越慢 代码
阅读全文
摘要:[SDOI2019]热闹又尴尬的聚会 链接 "luogu" "loj" 思路 第一问贪心?的从小到大删除入度最小的点,入度是动态的,打个标记。 当然不是最大独立集。 第二问第一问的顺序选独立集,不行就不要。选出来的一定是满足不等式的。 每次最多删除p+1个,独立集个数是$\lceil \frac{n
阅读全文
摘要:[SDOI2018]物理实验 set,扫描线,旋转坐标系 链接 "loj" 思路 先将导轨移到原点,然后旋转坐标系,参考 "博客" 。 然后分线段,每段的贡献(三角函数值)求出来,用自己喜欢的平衡树,我选set。 显然答案的一端是小线段的端点。 然后扫描线求出最大的ans。 代码 cpp inclu
阅读全文
摘要:bzoj [SDOI2014]数表 莫比乌斯反演 BIT 链接 "bzoj" "luogu" "loj" 思路 $$ \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}a [f[gcd(i,j)] using namespace std; const int N =
阅读全文
摘要:3495: PA2010 Riddle 2 sat 前缀优化 链接 "bzoj" 思路 不想说啥了,看 "hwim" 的吧,我去睡觉了zZ。 代码 cpp / Problem: 3495 User: gryz2016 Language: C++ Result: Accepted Time:19152
阅读全文
摘要:loj 2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点 链接 "loj" 思路 用交错关系建出图来,发现可以直接缩点,拓扑统计。 完了吗,不,瓶颈在于边数太多了,线段树优化建图。 细节 建新图要判重。 内存永远算不对 代码 cpp include define ll long lo
阅读全文
摘要:bzoj3073: [Pa2011]Journeys 链接 "BZOJ" 思路 区间和区间连边。如何线段树优化建图。 和单点连区间类似的,我们新建一个点,区间 新点 区间。 又转化成了单点连区间的了。 代码 cpp include using namespace std; const int N=2
阅读全文
摘要:cf 786 B 链接 "CF" 思路 n个点,3种建边方式,规模$O(n^2)$ 线段树优化建图 注意 读入的数据好坑啊,说好的v,u变成了u,v。 两棵树,一棵出,一棵入。线段树的作用只不过是按照那个形状建边而已,并没啥用。 初始父亲儿子连边,两棵树的叶子结点一一连边,边权为0。(实际中可以直接
阅读全文
摘要:CF1062E Company 链接 "cf" "luogu" 题目大意 给定一颗树,有若干个询问,每个询问给出 l,r,要求编号为 ll~rr 的点任意删去一个之后剩余点的 LCA 深度最大,输出删去点的编号和 LCA 的最大深度 思路 一堆点的lca就是dfs序列的最大和最小的lca 因为只能删
阅读全文
摘要:P4577 [FJOI2018]领导集团问题 链接 "luogu" "bzoj" 他是个重题 "bzoj4919: [Lydsy1706月赛]大根堆" 代码改改就过了 思路 求树上的lis,要好好读题目的!!! 类似于一条链子的思路,把大于w[u]的改掉 代码 cpp include using n
阅读全文
摘要:hiho 1513 : 小Hi的烦恼 五维偏序 链接 "hiho" 思路 高维偏序用bitset,复杂度$(\frac{n^2}{32})$ 代码 cpp include using namespace std; const int N=3e4+7; int read() { int x=0,f=1
阅读全文
摘要:[十二省联考2019]异或粽子 01trie 链接 "luogu" 思路 首先求前k大的(xo[i]^xo[j])(i define ll long long using namespace std; const int N = 5e5 + 6; ll read() { ll x = 0, f =
阅读全文
摘要:[十二省联考2019]春节十二响 链接 "loj" "luogu" 思路 考试的75分的$O(n^2)$谢瓜了,菜的一批。 直接堆启发式合并。反正就是随便写就过的那种。 好菜啊 代码 cpp // luogu judger enable o2 include define ll long long
阅读全文
摘要:U34272 [愚人节题目3]现代妖怪殖民地 fft 题目链接 https://www.luogu.org/problemnew/show/U34272 思路 虽然是个py题。 ntt(或者fft)模板题,可能稍不注意就会T 代码 cpp include using namespace std; c
阅读全文
摘要:链接 https://www.luogu.org/problemnew/show/P1337 思路 交了好多发,都是wrong 初始值取平均数就1A了 真的是玄学的算法 代码 cpp // luogu judger enable o2 include using namespace std; con
阅读全文