摘要: 题目:BZOJ1150、codevs1615、洛谷P3620 题目大意:有n个点,k条链,每个点离原点有一定的距离。要你用k条链连接2k个点,使得k条链的长度最短。 解题思路:毕竟是CTSC级别的题目,很难找出正确算法。在网上翻阅了很多资料后,终于理解了此题的正确算法。orz 正确算法为:贪心+链表 阅读全文
posted @ 2017-07-11 16:18 Mrsrz 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 题目:BZOJ2733、洛谷P3324、codevs1477 题目大意:给你n座岛,每座岛一个权值,某些岛是连在一起的。 有q个操作,每个操作可以: 1.将两座岛连起来。 2.输出和x岛直接或间接连接的所有岛里,权值第y小的岛的编号。 解题思路:线段树合并。这是我写的第一道线段树合并题。听说可以用高 阅读全文
posted @ 2017-07-11 14:28 Mrsrz 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一棵树上有n个标记点,有个人要在一个点出发走遍所有标记点,问从哪个点走(满足后一个条件下要最小),至少走多远。 解题思路:先随便找个标记点DFS遍历,求出每次返回起点时所需的路程s(每条路走2遍,所以每次加2),顺便删掉非标记的叶子节点。 但因为并不需要返回起点,所以一条最长的路径可以不返 阅读全文
posted @ 2017-07-11 08:43 Mrsrz 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 题目:洛谷P1309、codevs1132、Vijos P1771 题目大意:要你模拟瑞士轮赛制,求出R轮后第Q名选手的编号。 解题思路:首先对所有选手按分数从大到小进行排序,然后模拟比赛。 因为原本是排好序的,赢的加1分,输的扣1分,所以赢的人和输的人也是分别有序的。 所以我们可以把每轮赢的人扔进 阅读全文
posted @ 2017-07-11 08:26 Mrsrz 阅读(528) 评论(0) 推荐(0) 编辑