摘要:
题解 P1902 刺杀大使 首先注意到,只需要到达一个开关,就可以开启所有开关(打开所有门) 所以我们就可以想到,我们要寻找一条从任意 $1-m$ 开关(因为访问一个开关就可以开启所有开关,详情见看ps)到达 $1-m$ 门的所有路径中伤害数最大值最小路径 很容易就想到了,最大值最小,明显是二分答案 阅读全文
摘要:
题解 CF546C codeforces网址 这个题看起来很难,其实是一个模拟题 大体思路就是模拟每个人拿出手牌,并且比较,然后放入相应的人的手牌中的过程 然后让我们想一下,如何才能便捷的完成上面的过程呢? 可以用数组模拟对吧,但是,我们可以用便捷的STl 的 queue来实现 拿出的手牌可以直接用 阅读全文
摘要:
这个题标签里有树形 dp ,但是其实用dfs已经足以解决这道题。 看这道题就可以发现这两道题其实是差不多的。 首先需要给两个节点之间建边,我们需要从 2 到 n 循环输入。 因为他输入的是当前 2~n 的节点的父亲。 然后,我们将颜色读进来之后,把白色记为 1 ,黑色记为 -1 。 这样计算的时候只 阅读全文
摘要:
题解 SP346 这个题的翻译貌似有点问题,这里的 coins 和 gold coins 其实是一个东西 有了这个前提,我们是再去看题面,就可以发现,这里的 coins 可以同时换成 $\dfrac{n}{2}\ \dfrac{n}{3} \ $ 以及 $\dfrac{n}{4}$ 的美金,或者 $ 阅读全文
摘要:
题解UVA11244 题目大意:判断大小为 1 连通块有几个 这个题说实话真的挺水的,你可以考虑用 dfs 来判断联通块然后记录大小 这只是其中一个思路,另一个思路是,直接判断 * 的 8 连通里有没有其他的 * 这个的复杂度明显是 $O(8NM)$,按理说应该比 dfs 要快很多 但是不知道是因为 阅读全文
摘要:
题解CF1091C 这个题乍一看,好像有点像约瑟夫问题,但是写完了之后会发现,就会发现 TLE 了 因为 $n\le10^9$ ,而且用约瑟夫问题写的话每次都会跳 k 步,肯定会超时 超时代码 这里就占用版面不细讲暴力算法了,有兴趣的自己点超时代码查看 正解: 我们发现这个其实就是求一下 n 的约数 阅读全文
摘要:
题解 CF1716B 这是一个纯纯的构造题 我们要构造 n 个序列,每个序列他的元素 $a_i$ 在第 i 个位置上的数量都应该比上一个序列的数量 并且这种序列只能通过交换两个数字来获取 所以,我们应该直接每次找到两个不同的数字,直接交换即可 这里的第一次我们直接输出原序列 然后每次循环找与下标不同 阅读全文
摘要:
题解 CF1713A 这个题其实并不难 因为要便利所有的点并且左右的点都是在坐标系轴上 并且这里的移动只能是上下左右水平移动 所以我们最后走出来的图形,一定是个多边形 然后让我们看一下这张图片 我们会发现,这里走 A 路径,和走 B 路径所用的步数是完全相同的 所以,最终走出来的这个路径一定是一个规 阅读全文
摘要:
题解 CF518B 这个题最暴力的做法就是对于每个 $s_i$ 都在 b 字符串里扫一遍 但是 $s.len\leq 2\times 10^5$ 所以肯定过不了 但是我们思考一下,这里的字母对应其实可以看成一种映射对吧 所以我们可以直接用数组或者 STL 的 map 来做 每次我们扫一遍,找到所有可 阅读全文
摘要:
题解 CF1719A 这个题判断 $n+m$ 的奇偶性就可以了。 奇数输出 Burenka , 偶数输出 Tonya 。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<string> 阅读全文
摘要:
题解 CF1719B 这个题观察样例,可以发现,被选中的两个数,一定是相邻的两个数。 所以,我们只需要先循环一遍,看看有多少数满足,然后判断是否等于 n 。 如果等于说明可以 ,先输出 YES ,否则输出 NO 。 如果是 YES ,就直接再循环一遍,判断相邻的两个数,哪个是 $+k$ 才能被 4 阅读全文
摘要:
题解 SP18965 题目大意: 奶牛很厌烦等待,奶牛i 在它的截止时间 $d_i( 1 \leq d_i \leq 10,000 ) $前挤 $g(1\leq g_i\leq 1000)$的奶,否则将不能挤奶。时间 t 开始时为 0 ,即在时间 $t=x$ 时,最多可以挤 x 头奶牛。 这个题目稍 阅读全文
摘要:
题解 CF471A 这个题看题解都写得非常的冗余,不简洁,这里提供一种特别神奇的做法 首先他需要我们判断这里是否有相同的数字,并且还要通过这个相同的个数来进行判断 所以,我们可以一开始就统计下来,同时统计一下,出现过哪些数字 我们还需要进行一个数量的判断,为了方便取用,我们可以直接用 sort 对 阅读全文
摘要:
题解 CF1370B ~~这个题跟脑筋急转弯一样诶~~ $gcd$ 这个东西他有很多种可能性,但是如果我们考虑最简单的数字性质奇偶,就会发现,其实所有偶数的 $gcd$ 都是 $2$ 对吧 所以,我们只需要把所有的数字按照 |1| 奇数 | 奇数 | | : | : | : | |2| 偶数 | 偶 阅读全文
摘要:
这个题是个简单的构造题 因为不能有连续的“排列”,而排列序列都是必须是以 $1$ 开头 所以我们只要让 $2$ 和 $1$ 不相邻就能保证一个序列里只有它本身和 $1$ 这两个“排列” 当时在考场上第一感觉写了一个双指针,赛后 dalao 们说可以直接让 $1$ 在序列第一个, $2$ 在序列最后一 阅读全文
摘要:
题解 CF1743C 芝士 $dp$ 题 设定 $dp[i][0/1]$ 表示前 $i$ 个盒子的最大值,以及第 $i$ 个盒子的盖子是( $1$ )否( $0$ )移动 下面进行分类讨论即可 如果没有盖子,那就直接继承上一个的最大值 如果有盖子,那就考虑移动和不移动两种情况,不移动也是直接继承上一 阅读全文
摘要:
题解 CF1743A 因为有 $n$ 个数字不能用,所以就有 $(10-n)$ 个数字可以用, 这里从 $10-n$ 个数字里面选 $2$ 个数字,然后这两个数字在进行题目所说的排列 然后每两个数字的组合情况都有 $6$ 种可能,所以答案就是 $C_{10-n}^{2} \times 6$ #inc 阅读全文
摘要:
题解 CF1237A ~~King~~~ 思路?! 这里提供一个新的思路。 因为数据保证肯定可以让所有的数字加起来为零,所以我们可以考虑让所有奇数都变为 $\lfloor a_i/2 \rfloor$ 这样,如果和 $(sum)$ 是小于零的话,我们可以操作一部分奇数数字变为 $\lceil a_i 阅读全文
摘要:
#题解 CF740A 给你一个素数 $n$ 求任意一个素数 $m$ 使得 $n+m$ 为合数 首先我们知道 $2$ 的倍数一定是合数,也就是说,我们只需要让输入的 $n$ 变成偶数即可 奇数变成偶数需要加奇数,偶数变偶数需要加偶数 所以我们要找到两个素数,一个是奇数,一个是偶数,自然的引出了 $3$ 阅读全文
摘要:
题解 CF1740B 这个题简单贪心 ~~可能是CF的图片过于具有迷惑性~~,这里放一个改动的图方便大家理解 我们可以发现,如果让最长边与其他的矩形相邻,就可以让被遮挡的边最大,所以我们直接让最长边挨着相邻矩形即可,然后计算这个矩形的周长即可 计算周长就就是个很简单的事情了 只需要把这个不规则图形中 阅读全文