博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: "题面链接" cpp / 代码正确性不保证。。(不过交了SPOJ没WA T了最后一个点) 在DFS序做莫队 当一个点不是另一个点的LCA时,需要加上它们LCA的贡献 / include include include include define gc() getchar() const int N 阅读全文
posted @ 2018-02-26 21:14 SovietPower 阅读(160) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 比较水的题 然而。。 首先可以考虑DFS 每B个分一个块,但是这样链底不会和上边相连 于是考虑从底下开始分,即在DFS完一个点时才将其加入栈中;当子树size==B时出栈 最后在根节点可能会剩下一些未分配的点,这些点数当然 include define gc() getchar() c 阅读全文
posted @ 2018-02-26 19:40 SovietPower 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 两人轮流走,每次可以从盒子(容量给定)中取出任意堆石子加入Nim游戏,或是拿走任意一堆中正整数个石子。无法操作的人输。10组数据。 阅读全文
posted @ 2018-02-26 11:10 SovietPower 阅读(252) 评论(2) 推荐(1) 编辑
摘要: 1堆石子有n个。两人轮流取。先取者第1次可以取任意多个,但不能全部取完。以后每次取的石子数不能超过上次取子数的2倍,取完者胜。问谁能赢。 阅读全文
posted @ 2018-02-26 09:35 SovietPower 阅读(307) 评论(0) 推荐(1) 编辑
摘要: 给定n棵"树","树"的节点可能"挂着"一个环,保证没有环相交,且与树只有一个公共点。 两人轮流从树上删边,删去一条边后,不与根相连的一部分会被移除。最后无法移动的人输。问谁能赢。 阅读全文
posted @ 2018-02-26 08:59 SovietPower 阅读(335) 评论(0) 推荐(1) 编辑
摘要: "题目链接" 一个很暴力的想法:每个点拆点,向不能同时存在的连边 但是这样边太多了,而且会有很多重复。~~我不会说我还写了还没过样例~~ 我们实际就是在做一个最大匹配。考虑原图,同在黄/红格里的骑士是互不攻击的,即不会连边。 那么拿这两部分建二分图,分别连向S,T。障碍直接不参与连边。这样边数也少 阅读全文
posted @ 2018-02-26 06:24 SovietPower 阅读(153) 评论(0) 推荐(1) 编辑