11 2019 档案
摘要:最好分数:100+20+10+64+64+55 最坏分数:100+20+10+64+36+55 咕咕数据分数:100+25+10+64+60+55 CCF官方: 100+35+10+64+36+55=300 大概是要退役了吧。 $\mathrm 早晨并没有睡懒觉,7点钟就爬起来开始背板子(然而现在看
阅读全文
摘要:问题描述 "BZOJ2591" "LG3047" 题解 换根树形DP。 设 代表 当 为根时, 为根的子树中,到 的距离为 的权值和 。 此时我们就可以得到 号结点的答案。 考虑这样做 遍,可以求出答案,但是会T飞掉。 观察每次暴
阅读全文
摘要:问题描述 "LG4395" "BZOJ1369" 题解 发现对于结点 ,其父亲,自己,和所有的孩子权值不同,共 类,从贪心的角度考虑,肯定是填 这三种。 于是套路树形DP,设 代表以 为根的子树中,且 标为 $0/1/2
阅读全文
摘要:问题描述 "BZOJ1688" 题解 背包,在转移过程中使用状压。
阅读全文
摘要:问题描述 "BZOJ2733" "LG3224" 题解 对于每个结点建立一棵权值线段树。 查询操作就去查询第 大,合并操作就合并两颗权值线段树。 并查集维护连通性。 同时 STO hkk,zcr,zzk
阅读全文
摘要:问题描述 "LG2996" 题解 和没有上司的舞会双倍经验?
阅读全文
摘要:问题描述 "LG4556" 题解 对于每一个结点,建立一棵动态开点线段树。 然后自低向上合并线段树。 同时维护整个值域的最大值和最大值位置。
阅读全文
摘要:问题描述 "LG CF455C" 题解 首先,题目给出了 条边,对这 个点, 条边组成的森林,跑出每棵树的直径,同时使用并查集维护树的连通性。 考虑合并两棵树的情况:设这两棵树的代表元为 ,这棵树的直径有三种来源: 这棵树的直径 这棵树的直径 穿过
阅读全文
摘要:问题描述 "LG CF1005F" 题解 由题面显然可得,所求即最短路树。 所以跑出最短路树,计数,输出方案即可。
阅读全文
摘要:问题描述 "CF786B" "LG CF786B" 题解 线段树优化建图 线段树的一个区间结点代表 区间点。 然后建立区间点的时候就在线段树上建边,有效减少点的个数,从而提高时空效率。 "优质题解传送门"
阅读全文
摘要:问题描述 "LG CF343D" 题解 树剖,线段树维护0 1序列 yzhang:用珂朵莉树维护多好 cpp include using namespace std; template void read(Tp &x){ x=0;char ch=1;int fh; w
阅读全文
摘要:问题描述 "CF896C" "LG CF896C" 题解 我expect就是T飞,从这里跳下去,也不碰和珂朵莉相关的任何东西。 珂朵莉树真好使。 珂朵莉树模板。 cpp include using namespace std; define int long long
阅读全文
摘要:问题描述 "LG2495" 题解 虚树
阅读全文
摘要:先开坑。 md原题写挂我也真是。。。 100+20+10 白夜 打表大法吼 显然,不在环上的点对答案的贡献是 。 打表得到环上的递推式,矩阵一下乘起来就好了。 cpp include using namespace std; define int long lon
阅读全文
摘要:问题描述 "LG1345" 题解 点边转化,最小割,完事。 cpp include using namespace std; template void read(Tp &x){ x=0;char ch=1;int fh; while(ch!=' '&&(ch '9'
阅读全文
摘要:问题描述 "LG1344" 题解 我太菜了,我一开始竟然没有看出这是个最小割裸题。。。 两个询问。 第一个询问,直接跑最小割就好了。 第二个询问,建图的时候边权建 ,代表割掉这条边需要 的代价。 cpp include using namespace
阅读全文
摘要:问题描述 "POJ1741" 题解 题意是求树上满足两点之间距离 的点对 的数目。 点分治。 cpp include include include include using namespace std; template v
阅读全文
摘要:写在前面 先开个坑... 之前学过点分治,但是总是感觉打的时候内心莫名的慌,敲完几个函数的定义就开始脑袋一片空白。 所以重学了一下点分治,并写了这篇博客。 看看什么时候把它补完吧。 参考资料 找了两篇还不错的博客 https://www.cnblogs.com/bztM
阅读全文
摘要:问题描述 "LG SP2713" 题解 分块,区间开根。 如果一块的最大值是 ,那么这个块就不用开根了。 如果最大值不是 ,直接暴力开就好了。 cpp include using namespace std; define int long long
阅读全文
摘要:问题描述 [LG-SP1716](https://www.luogu.org/problem/SP1716] 题解 GSS 系列的第三题,在第一题的基础上带单点修改。 第一题题解传送门 在第一题的基础上,增加一个单点修改就完事了。 $\mathrm #include<bits/stdc++.h> u
阅读全文
摘要:问题描述 "LG SP1043" 题解 系列第一题。 个询问,求 的最大字段和。 线段树,维护 的 ,向上合并即可。 但是注意询问过程中也需要维护这些信息。 cpp include usi
阅读全文