题面 思路 50 pts 暴力。我们发现每次操作等于将前面的红的变成蓝的,将第一个蓝的变成红的。 要养成写暴力的好习惯。 #include <bits/stdc++.h> using namespace std; /* */ int n; string s; int cnt = 0; bool check() { for (int i …
SPFA学习笔记 SPFA,他死了!——某次 noi T1 的出题人。 感觉和 DIJ 很像。 使用范围:负边权,判断负环,随机图 不适用于构造图。容易超时。 思路: 对于出发的点,向所有可以到达,并且没到达过的点的边都进行松弛(见 图论——dijkstra),将松弛的点入队,注意是队列不是优先队列。 继续重复上面的操作,直到队列为空。 #incl…
https://note.ztrztr.top/
难度:黄。 思路 我们假设 $x \bmod k == y \bmod k$,那么 $x = nk + a$,$y = mk + a$。我们可以计算出: $$ y - x = (mk + a) - (nk + a)\\ $$ $$ y - x = mk - nk\\ $$ $$ y - x = (m - n)k\\ $$ $$ K | y - x …
题目链接:洛谷 P1048 题目大意 给定一个最大重量为 $V$ 的背包,和 $n$ 个物品。每个物品有一个重量和价值。现在问在背包可以装下的范围内,最大的价值是多少。 朴素 DP 我们定义 dp[i][j] 为到第 $i$ 个物品,背包的重量为 $j$ 的最大价值。 我们可以得出状态转移方程: $$ \text{dp[i][j] = max(dp…