摘要: 题目描述: "https://www.cnblogs.com/problems/p/11789930.html" 题目链接: "http://codedecision.com/problem/1113" 这道题目涉及的一个知识点是它最多有 $n = 10^5$ 种颜色,而我们需要每种颜色动态去建树。 阅读全文
posted @ 2019-11-04 11:27 codedecision 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problem/P2486" 首先这是一道树链剖分+线段树的题。 线段树部分和 "codedecision P1112 区间连续段" 一模一样,所以我们在做这道题目之前最好去做一下这道题目的练习。 然后就是树链剖分的部分。 此部分支持两种操作 阅读全文
posted @ 2019-11-03 22:13 codedecision 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problem/P3150" 这道题目是博弈论的入门题。 我们以 __必胜态__ 和 __必败态__ 来讲解这个问题。 首先,下面的图片演示了前8个数的必胜态和必败态: 可以发现: 当 $m=1,3,5,7$ 的时候都是必败态; 当 $m=2 阅读全文
posted @ 2019-11-03 17:50 codedecision 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目描述: "https://www.cnblogs.com/problems/p/P1112.html" 题目链接: "http://codedecision.com/problem/1112" 线段树区间操作,每一个线段对应的点包含三个信息: $l$:表示这个区间最左边的点的数值; $r$:表示 阅读全文
posted @ 2019-11-03 09:07 codedecision 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://codeforces.com/contest/1245/problem/D" 题目大意: 平面上有n座城市,第i座城市的坐标是 $x[i], y[i]$ , 你现在要给n城市供电,对于第i座城市,你可以选择两种方式给其供电: 建造一个发电站供电,这需要花费 $c[i]$ 阅读全文
posted @ 2019-11-02 18:13 codedecision 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problem/P3366" 最小生成树模板题。 Kruskal算法 算法思想:给边按边权从小到大排序,然后遍历每一条边,如果边上的两个点不在同一个集合,则选择这条边,并将两个点所在集合合并。直到选择了 $n 1$ 条边。 实现代码如下: 阅读全文
posted @ 2019-11-02 17:19 codedecision 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problem/P2672" 这道题目是贪心,贪心的思想是: 选择 $m$ 户人家的最大疲劳值应该是以下两种方案中的较大值: 方案一:选择 $a[i]$ 最大的 $m$ 户人家; 方案二:选择 $a[i]$ 最大的 $m 1$ 户人家,以及剩 阅读全文
posted @ 2019-11-02 16:03 codedecision 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problem/P5022" 这道题目一开始看的时候没有思路,但是看到数据范围里面有一个: $m = n 1$ 或 $m = n$ ,一下子有了思路。 当 $m = n 1$ 时,这就是一棵树,以1为根节点进行搜索,每次优先访问编号小的点即可 阅读全文
posted @ 2019-11-02 15:16 codedecision 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problem/P5020" 这道题目是一道模拟题,但是又有一点多重背包的思想在里面。 首先我们定义一个 来表示和为 的情况在之前有没有出现过, 一开始当然所有的 (除了 )都为 ,只有 为 , 然后对于每一个 来说,我们从 到 (最大值)去 阅读全文
posted @ 2019-11-02 15:15 codedecision 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "https://www.luogu.org/problemnew/show/P5019" 这道题目是一道模拟题,但是它有一点贪心的思想。 我们假设当前最大的深度是 $d$ ,那么我们需要把所有深度为d的坑全都填成深度为 $d 1$ ,然后去填深度为 $d 1$ 的坑…… 实现代码如下( 阅读全文
posted @ 2019-11-02 15:14 codedecision 阅读(116) 评论(0) 推荐(0) 编辑