题解:P7687 [CEOI2005] Critical Network Lines

这道题和求普通的割边十分相似。最开始的思路就是将 $a$ 和 $b$ 的情况分别求解,然后再进行合并,然而这样并不行。 本题的关键通信线路和割边并不是充要条件,而是充分不必要条件。有些边虽然是割边,但该边将所有点分为两部分后每部分均有 $A$ 与 $...

Solution

题解:P7993 [USACO21DEC] Lonely Photo B

首先时最简单的做法,两层循环逐一判断,时间复杂度为 $O(n^2)$。但是现在无法通过最后一个数据点,需要优化程序。 对于一个从 $i$ 开始的情况,首先用一次二分找到最远的点符合只出现 H 或 G 的情况,设为 $l$。然后再用一次二分找到最远的点...

Solution

题解:P7995 [USACO21DEC] Walking Home B

一道很普通的计数 $\texttt{dp}$。设 $dp_{i,j,k,l}$ 表示在 $(i,j)$ 位置上,还剩下 $k$ 次行走方向改变,当前的方向为 $l$ 时的方案数。因为只能够向下走,则令 $l \in \{0,1\}$ 表示这两种方向。...

Solution

题解:P7904 「DCOI」火烧の云

求起点到终点所花费的最短时间,可以用 bfs 来解决问题。对于一个点,包含四个信息,分别是横纵坐标、当前花费的时间和方向。由题可知,有若干个起点,所以首先把所有起点均加入到队列中去。一共有八种不同的关键字符,一一列举即可,注意判断边界的条件。 # ...

Solution

题解:CF1359D Yet Another Yet Another Task

由于 $a_i \in [-30,30]$,所以我们可以考虑枚举区间出现的最大值。由于可以只选一张牌,所以最大得分的最小值为 $0$。 那么我们首先枚举 $i \in [1,30]$,表示该段区间的最大值为 $i$,然后内层循环求和,即 sum +=...

Solution

题解:P2875 [USACO07FEB]The Cow Lexicon S

这道题和 $\texttt{P2432}$ 的题目是一样的。考虑动态规划的作法,设 $dp[i]$ 表示原字符串的前 $i$ 位最少需要删除的字符的数量,显然最后的答案是 $dp[L]$。 对于初始值,因为求最小值,所以先把 $dp[i]$ 均设置为...

Solution

题解:P2432 zxbsmk爱查错

考虑动态规划的作法,设 $dp[i]$ 表示原字符串的前 $i$ 位最少需要删除的字符的数量,显然最后的答案是 $dp[L]$。 对于初始值,因为求最小值,所以先把 $dp[i]$ 均设置为 $+\infty$,同时由转移方程的含义可知 $dp[0]...

Solution

题解:P7886 「MCOI-06」Gerrymandering

由题意可知,假设对于一个 $n \times m$ 的表格,我们用了 $p$ 种颜色去染色,显然有 $n \times m = p \times k$。移项可知,$p = n \times m \div k$。又因为 $p$ 是整数,所以需要满足 $...

Solution

题解:CF778A String Game

删除字母的个数显然越多越好,再看题目中的 Note that after removing one letter, the indices of other letters don't change. 这句话,意思是删除一个字母后,其他字母的...

Solution

题解:CF822B Crossword solving

对于输入的两个字符串 $s,t$,要修改 $s$ 中尽可能少的字符,使其能在字符串 $t$ 中被查找到。 直接想到最朴素的枚举算法,枚举字符串 $t$ 的左端点,因字符串 $s$ 的长度不变,所以右端点也能够同时被确定。然后每次判断当字符串 $s$ ...

Solution
15678913