摘要: 树链剖分板子题,可以作为入门 操作1单点修改 操作2询问链上最大权值,线段树中加入max参数维护即可 操作3求权值和 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> # 阅读全文
posted @ 2021-09-17 16:30 lemonGJacky 阅读(45) 评论(0) 推荐(0)
摘要: 没什么特殊的一道树链剖分板子题,可以作为树剖入门题 操作1单点修改即可 操作2和操作3为树链剖分基础操作 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #includ 阅读全文
posted @ 2021-09-17 16:26 lemonGJacky 阅读(51) 评论(0) 推荐(0)
摘要: 此题用树链剖分处理 操作1:询问p点的工人是否能够到达q点 操作2:p点部落与q点开战 操作3:第x次战争结束 当p点与q点开战时工人无法通过两点间的路径,因此我们可以令开战时的路径权值为1,未开战时为0,则工人能到达q点的条件是:当且仅当p点到q点的路径权值和为0 需要注意的是,树链剖分是用来处理 阅读全文
posted @ 2021-09-17 16:15 lemonGJacky 阅读(52) 评论(0) 推荐(0)
摘要: 可以发现将整张图涂完需要n+m-1次,而每涂完一个点,这个点便可以影响到此点所在的一整列和一整行,我们考虑每填涂完一个点后将这些行和列放入一个连通块,则容易得出:当所有行和列连通时,填涂完毕。 行和列的总和一共有n+m,填涂需要n+m-1次,需要用到连通块,这三点结合起来容易让人想到Kruskal算 阅读全文
posted @ 2021-09-17 11:24 lemonGJacky 阅读(75) 评论(0) 推荐(0)