02 2024 档案
摘要:注意:本题解的点编号从 0 开始。 作为一个最短路题还是很有意思的。 这道题难点在于让时光倒流,考虑从 N−1 出发往各个点走。反向建图,之后就可以用 dijkstra 算法做。 具体一些,先将 f 初始化为 −∞,再将 f(N−1) 初始化为 +∞ (显然从自己到自己无论多晚走都可以)。 再考虑假
阅读全文
摘要:在我的代码中,下标一般从 0 开始,大部分函数/类的方法最寻左闭右开原则。 我们维护一个布尔数组 f,fi 表示 Si 与 Si−1 是否相等,相等为 1,不相等为 0。至于 f 的首项,他对答案不会产生影响,设置成什么都无所谓。 对于操作二,显然 S 中区间 [L+1,R] 元素全部与它前面
阅读全文
摘要:好一个 DP 套 DP!这里必须要锐评一下题面太抽象读题都花我 20 min 从一个点 p 删除一个棋子后,你可以选择与他直接相连的一些点放上棋子,不过要求被选择点权值的和小于 p 的权值 wp。显然,如果想要选择 p 的某个相邻点 q,一定有 wp>wq (单个点的权值都超了肯定没法选)。凭
阅读全文
摘要:趣味贪心题。 本题要把数字反转或拼接起来,而且没有对数字的计算操作,则可以从字符串的角度考虑本题。判断游戏最后剩下的数字 ≥10m,就是看游戏最后剩下的字符串的长度 ∣S∣>m。 Anna 应该可以做点什么,让字符串变短。她选择了一个数字反转之后,会丢掉前导零,此时字符串可能会变短一些(例如 158
阅读全文
摘要:这个题还算挺套路的。 我的思路如下: tarjan 找到所有非割边 按照这些边重新建图 在这些边中找到权值最小的边 以这条边的一个端点为起点,另一个为终点,跑 bfs 找环 相信各位大佬还有更好的思路,但是我这应该是不太需要脑子的 #include<bits/extc++.h> using name
阅读全文
浙公网安备 33010602011771号