摘要:
题目链接 思路: 这道题其实还是普通的区间修改和查询问题,只不过序列变为了环形,所以就是小小的改一下就可以了。 分类讨论一下,如果输入的l<r,那么就是照常修改和查询。但由于是环形,所以会出现l>r的地方,其实也就是这样拆成l-n和1-r两个操作即可。 代码,不需要代码,太水了 #include<b 阅读全文
摘要:
题目链接 这道题数据范围比较小,所以方法还是比较暴力的。 思路: 先按每个格子的状态,让所有格子与他周围的格子连一条权值为它连向那个格子的值(0或1)。然后我们n方枚举所有格子跑最短路,最短路即为从起点到终点的最小障碍数。然后我们枚举所有最短路,先看他移除障碍后是否只用了小于等于k次机会,然后求出两 阅读全文
摘要:
题目链接 这道题一看最小值最大,很容易被误导进二分答案的思路,但实际上并不需要二分答案。 其实正解是最小生成树,我们先预处理出原图的最小生成树,因为要分k个部落,所以我们先把最小的n-k边先全部选走。因为我们用kruskal的话要用到并查集,这样我们就可以判断他们是否在同一部落中。然后我们再枚举剩下 阅读全文
摘要:
题目链接 这道题有55分都是最短路板子。但是我们肯定不满足于55分,看了题解才知道这道题是一个叫分层图最短路的东西。 对于k次免费机会,相当于建了k层图,每一层的图都是原图上的边权,但是每一层之间所连的边权为0,并且是有向边,我的理解是,因为我们只有一次机会,没有反悔?洛谷上的大佬说的是因为这样才满 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
题目链接 当时在暑假早就讲了这道题了,只不过我现在才做了这道题。 题解: 我们要求次小生成树的话,考虑先把最小生成树求出来,因为如果我们用求最小生成树的话,边早已经从大到小排序好了,所以次小生成树的就是替换最小生成树上的一条边所得。 那么考虑如何来替换那一条边,要保证严格次小,那么我们需要替换掉最小 阅读全文