摘要: 题目: BZOJ4016最短路径树问题 分析: 大家都说这是一道强行拼出来的题,属于是两种算法的模板题。 我们用dijkstra算法算出1为源点的最短路数组,然后遍历一下建出最短路树。 之后就是裸的点分治算法,一个桶,两个变量就解决了这道题。 代码: 1 #include<bits/stdc++.h 阅读全文
posted @ 2019-02-27 20:07 杜宇一声 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题目: P3727曼哈顿计划E 分析: 大长题面容易给人一种不可做的错觉,但是这题考的知识点都是我们熟悉的。 稍加分析我们可以得到,我们可以把每个点当成一个单独的游戏,如果k=1,就是简单的nim游戏,这样,当多个游戏放在一起的时候,我们就可以根据一条链的权值异或和来判断必胜必败。 这个给我们启发, 阅读全文
posted @ 2019-02-27 16:10 杜宇一声 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目: P2664 树上游戏 分析: 本来是练习点分治的时候看到了这道题。无意中发现题解中有一种方法可以O(N)解决这道题,就去膜拜了一下。 这个方法是,假如对于某一种颜色,将所有这种颜色的点全部删去,原树会被割成若干棵小树,那么这个颜色对每个点的贡献就是:树的大小n - 所在小树的大小sz。所以我 阅读全文
posted @ 2019-02-27 09:26 杜宇一声 阅读(170) 评论(0) 推荐(0) 编辑