摘要:
P3360 偷天换日 题目传送门 树形DP维护背包 很有意思的一道树形DP,最麻烦的一点是题目没有按照传统建树方法给出数据,而是给了很多二元组。但是观察到这是一颗二叉树,所以可以用线段树的思想存储数据(确实很离谱但是这是对的) Code #include<bits/stdc++.h> #define 阅读全文
posted @ 2025-11-13 23:54
Amiyawasdonkey
阅读(2)
评论(0)
推荐(0)
摘要:
P3384 【模板】重链剖分/树链剖分 题目传送门 树链剖分和重链剖分都是要学的……它们其实是包含关系( 树链剖分 树链剖分CSDN 树链剖分是提高树上搜索效率的一个巧妙方法,它一定规则把树剖分成一条线性的不相交的链,对整棵树的操作,就转化为对链的操作;而从根到任何一条链只是经过 \(O(\log 阅读全文
posted @ 2025-11-13 23:54
Amiyawasdonkey
阅读(1)
评论(0)
推荐(0)
摘要:
P4516 [JSOI2018] 潜入行动 题目传送门 思路 很容易看出是一个树上背包问题,树上背包其实主要还是分类讨论占大头。 其中比较有意思的是简单的实现方法 不难发现,只有当儿子被覆盖的时候才能更新,因此,只有当儿子本来就被覆盖时,或者父亲节点被标记时,才能转移。 for(int p1 = 0 阅读全文
posted @ 2025-11-13 23:53
Amiyawasdonkey
阅读(2)
评论(0)
推荐(0)
摘要:
P1979 [NOIP 2013 提高组] 华容道 题目传送门 思路 其实这种问题可以换一种方式想一想,可以是空白格子在这个方格内移动。 路径问题可以暴力搜索 接下来考虑怎么优化掉无用的路线。 只有起点格子在空白格子四周起点格子才能动,所以应该是尽量让空白格子往起点格子周围跑,而不是毫无目的地乱跑, 阅读全文
posted @ 2025-11-13 23:53
Amiyawasdonkey
阅读(2)
评论(0)
推荐(0)
摘要:
贴自己认为重要的算法标签: 二分 贪心 树上倍增 题目传送门 题目大意 给定一棵树,标记若干个点,每个点可以在树上移动,移动代价是 \(1\) 单位距离 \(/1\) 单位时间,要使得最终所有叶子节点到根节点的最短路径上有一个标记点,求最小时间。 思路 因为若一个时间限制满足题意,则所有比它大的时间 阅读全文
posted @ 2025-11-13 23:53
Amiyawasdonkey
阅读(2)
评论(0)
推荐(0)
摘要:
偶数位取反什么的,本蒟蒻根本想不懂啊…… 于是只能另寻他法。 思路 显然,整个串最终的形态必然是 \(1\) 和 \(0\) 交替出现的,形如 \(101010\),或者是全部清空。 由此,我们可以发现,一类字符要么全在偶数位上,要么全在奇数位上。 也就是说,一类字符的偶数位个数与奇数位个数在最终必 阅读全文
posted @ 2025-11-13 23:53
Amiyawasdonkey
阅读(1)
评论(0)
推荐(0)
摘要:
例题:P4281 学习博客:CSDN Code #include<bits/stdc++.h> #define Iseri namespace #define Nina std #define Kawaragi int #define Momoka main #define ls(p) (p<<1) 阅读全文
posted @ 2025-11-13 23:52
Amiyawasdonkey
阅读(1)
评论(0)
推荐(0)
摘要:
思路 讲一个比较好理解的方法。 我们可以求出根节点 \(1\) 到 \(x\) 和 \(y\) 的路径,再根据这两条路径来求 \(x\) 和 \(y\) 的最近公共祖先(LCA),那么这两个节点之间最短路径的长度就是 \(x\) 到 LCA 的距离加上 \(y\) 到 LCA 的距离。 查找 LCA 阅读全文
posted @ 2025-11-13 23:52
Amiyawasdonkey
阅读(1)
评论(0)
推荐(0)
摘要:
6.2在打模拟赛……rk13/38,95pts 今天上课啥都没听懂,对其他人进行了一个请教,现在回过头来再总结一下。 Tarjan 通过维护 dfn (表示该节点是第几个被dfs到的)以及 low (表示该节点所属强连通分量的最上面的节点)来求一个图内的强连通分量。 Code /* 1、low相等的 阅读全文
posted @ 2025-11-13 23:52
Amiyawasdonkey
阅读(1)
评论(0)
推荐(0)
摘要:
六一快乐 最小生成树 生成树的边权总和最小, 在特定题目中可以转化为字典序最小。 Krustal 用并查集查询是否连通。 算法采用贪心法的设计思想,从最小的边开始,逐步依次选取更大的边,直到遍历完成所有的边。 对于每条边,判断其所连接节点是否属于同一个连通分支。如果属于,则舍弃此边。 Boruvka 阅读全文
posted @ 2025-11-13 23:51
Amiyawasdonkey
阅读(1)
评论(0)
推荐(0)

浙公网安备 33010602011771号