摘要: 题目:BZOJ1972、洛谷P2482、codevs1834 题目大意:叫你模拟一个叫“猪国杀”的游戏,并要你输出游戏结果。 解题思路:模拟。并没有什么高深的算法,就是模拟,不过东西很多,很容易乱,于是我调了一上午。。。所以建议在写代码时加上注释,并做好写长代码的准备。 其他注意的是,如果牌堆没牌了 阅读全文
posted @ 2017-07-14 13:56 Mrsrz 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个序列和一些操作,让你实现这些操作,并回答询问。具体操作见题目。 解题思路:因为输入的东西需要xor之前输出的yes个数,所以本题是强制在线。 一个序列形成等差数列必须满足以下三个条件: 1.序列最小数+公差*(项数-1)=序列最大数; 2.该区间差分后的gcd=公差; 3.数字各不 阅读全文
posted @ 2017-07-13 18:51 Mrsrz 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个图,有一些操作要你实现。具体操作见题目。 解题思路:首先,我认真地读着题目,当我看到 这两行时,感觉有点不知所措。然而, !!! 这充分说明了出题者脑洞之大。orz 当我历经千辛万苦写完代码打算测样例时,发现样例第11行出现了个操作9!而且还影响答案!相当于这题连样例都没有。 吐槽 阅读全文
posted @ 2017-07-12 19:39 Mrsrz 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个水果,每次选择一个区间,切没(orz)这些水果,求每次切好后还剩下多少水果。 解题思路:线段树,区间修改,单点查询(根节点)。 C++ Code: 阅读全文
posted @ 2017-07-12 13:20 Mrsrz 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目:洛谷P2597、BZOJ2815(然而此处并没有题面)、codevs1210 题目大意:给你一个食物网,要你求每个生物的“毁灭值”(毁灭值为该生物灭绝后,其他跟着它灭绝的生物的总数)。 解题思路:拓扑排序+LCA。 先假设所有生产者都吃“太阳”,然后对它们进行拓扑排序。以拓扑序依次加点,每次将 阅读全文
posted @ 2017-07-12 11:25 Mrsrz 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 题目大意:区间修改与求和。 线段树(线断术)模板题。 C Code: 阅读全文
posted @ 2017-07-12 10:50 Mrsrz 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目大意:就是叫你求最近公共祖先。 最近刚学了倍增,于是用这道模板题来练练。 有人说倍增写法要读入优化,要卡常,然而经过我的测试,发现并不需要(尽管我加了读优,比原来的要快400+ms)。 C++ Code: 另外附上以前写的Tarjan,比倍增快了1000+ms(尽管我也不相信倍增比Tarjan慢 阅读全文
posted @ 2017-07-12 09:17 Mrsrz 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 题目: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 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一棵树上有n个标记点,有个人要在一个点出发走遍所有标记点,问从哪个点走(满足后一个条件下要最小),至少走多远。 解题思路:先随便找个标记点DFS遍历,求出每次返回起点时所需的路程s(每条路走2遍,所以每次加2),顺便删掉非标记的叶子节点。 但因为并不需要返回起点,所以一条最长的路径可以不返 阅读全文
posted @ 2017-07-11 08:43 Mrsrz 阅读(374) 评论(0) 推荐(0) 编辑