摘要:
"传送门" emmm树剖裸题,就线段树维护一下最大值和权值和就行了。 这里有一个点就是:因为会出现负数,所以查最大值的时候不能初始化为0,这样就没法维护负值 cpp include include include define MAXN 30005 struct Node { long long s 阅读全文
摘要:
"传送门" 捡起了之前树剖的坑,之前只写了树剖LCA的板子但是树剖模板却一直没有写好,学长 "sjie" 非常贴心地给我们上课,于是我去补了一下板子,并且写下自己对树剖的理解。 树剖用来干什么? 维护树上的修改 求u到v的路径上的所有点的权值和 修改u到v的路径上的所有点的权值 求以u为根的子树的结 阅读全文
摘要:
1. 对于访问次数很多的题目,可以考虑预处理离线做,也可以在线搞一搞 阅读全文
摘要:
day( 1) 赶车 坐车 坐车 坐车 坐车 真是偏僻…… 颓废了一个早上,中午把某jl机房惨案(逃,一个下午咸鱼干活,晚上欢乐游戏 day0 剪视频+剪视频+剪视频……感觉还可以……不管了丢下工作之后再说了。 开始写模板,状态非常不好,缩点tarjan交了好几次一直WA且找不到错,最后一行一行地和 阅读全文
摘要:
"传送门" Solution 看上去的确是一道dp题,还是区间dp的那种 但是你发现这是一个环,非常难受 所以我们想啊:如果这是一条链该多好 于是乎,我们直接把这个环拉直。1 2 3 但是怎么绕回去呢? 再接一遍好了:1 2 3 1 2 这样就可以了!! 那么如何进行区间dp呢? 首先我们定义$dp 阅读全文
摘要:
"传送门" 看到联通块,好像跟并查集、强连通分量有关系吧,仔细一看跟哪些点属于哪些块没关系,只关心联通块数量,那么应该可以用并查集做。继续看,这是一道删边的题,好像很难维护删边,我们又知道并查集是可以维护加边的,那么我们就倒过来做好了。 阅读全文
摘要:
"传送门" 所有学生都有床可以让认识自己的人睡,不在校的学生不占用床铺。 考虑建一个二分图,人对应床,求出最大匹配,根据题意,所有人都应该被安排上,那么就不能存在无法匹配。 cpp include include include define MAXN 55 int Link[MAXN],vis[M 阅读全文
摘要:
"传送门" Solution 算是一道差分约束的模板题了。 将符号统一一下,如果是小于号就求负环,否则求正环 cpp include include include define MAXN 10005 struct edge{ int v,w,next; }G[MAXN'9'||ch='0'&&ch 阅读全文
摘要:
"传送门" 妙啊…… 很容易想到建个图,然后跑一下拓扑排序,看看有几层就行了。但是会发现连边的代价是平方。 所以可以建立一个虚点,将层与层之间的所有边汇集同一个点上。然后就只需要线性的代价就可以做了。 cpp include include include define MAXN 2005 stru 阅读全文
摘要:
参考资料: "Menci's Code Style for OI" 概况 在任何地方,不同功能的代码块应使用空行隔开 全局变量按照:结构体、数组、单个变量排列。 预编译指令 后面加一个空格后再写`` 使用 来定义常量,而不用 ,并且末位习惯是 不使用所有 的头文件,包括万能头文件。 不使用 按顺序写 阅读全文