![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CF
文章平均质量分 88
innerheart
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #697 (Div. 3)部分题解
Codeforces Round #697 (Div. 3) C. Ball in Berland 思路: 思维 该题的题意是在所有的男女舞伴中选取两对,其中男舞伴和女舞伴均只能出现在一对中,问这样的取法总共有多少种。 首先所有的对数不可能重复,即同一对不可能出现两次。因此我们可以记录所有对数中每个人出现的次数。 然后遍历每一对,对于每一对的男女舞伴,只需在总对数中减去 男舞伴出现的次数 和 女舞伴出现的次数再加1(男女舞伴多减了一次),就是能和这对舞伴匹配的所有方案数,最后的答案还是除以2,因为重复计算。原创 2021-02-07 14:57:16 · 168 阅读 · 0 评论 -
Codeforces Round #696 (Div. 2)部分题解
Codeforces Round #696 (Div. 2) D. Cleaning 思路:思维 我们首先考虑不用交换时解题的步骤: (1) 对于第一个元素a1, 想要清除a1就只有当第二个元素a2 > a1时,a1为0,此时第二个元素变为a2 - a1,否则算法退出,不能消除全部元素。 (2)将第二个元素a2 - a1 看作第一个元素,那么想要消除它就只有当第三个元素 a3 > a2 - a1 时,a2 - a1 为0, 此时第三个元素变为 a3 - (a2 - a1),否则算法退出,不能消除原创 2021-01-22 19:22:08 · 145 阅读 · 0 评论 -
Educational Codeforces Round 102 (Rated for Div. 2) D题题解
D. Program 翻其他人的博客,讲的很抽象,导致对于这道题的解法总是模糊不清,在经历自己的摸索之后,现在能明白了。 思路: 首先题目要求的是忽略某一段区间后,再求所有加减操作后不同值的个数。 无论如何操作,值的变化总是连续的,所以最后不同的值个数总是区间的最大值减去最小值加一。 有了上述的结论,我们就只需要求出一段区间内的最大最小值即可。由于区间忽略某一段后,会被分成左右两段,而左边区间的最大最小值很明确,求前缀和然后比较就行了;关键是右边区间的最大最小值。 显然右边区间要在左边区间最后一个值的基础上原创 2021-01-19 10:39:17 · 177 阅读 · 1 评论 -
Codeforces Round #695 (Div. 2)部分题解
Codeforces Round #695 (Div. 2) 部分题解 B. Hills And Valleys 思路: 思维 我们首先考虑该题会出现的几种情况: (1) 峰-谷;谷-峰 1 6 2 5,6 为 1 6 2 的 峰, 2 为 6 2 5 的 谷,令峰为 max, 谷为min, 可得 max = min时, 这个峰-谷就会消失。 27 42 30 2 26, 42 为 27 42 30 的 峰, 2 为 30 2 26 的 谷,令峰为max,谷为min,可知无论30为max和min中的任何一个原创 2021-01-14 12:47:36 · 147 阅读 · 1 评论 -
Codeforces Round #693 (Div. 3)部分题解
Codeforces Round #693 (Div. 3) Editorial部分题解 D. Even-Odd Game 思路: 贪心;田忌赛马 (1)先将数组从大到小排序,取数时从大到小取,用一个ans变量记录取数的过程 (2)ALice取数时,如果当前数是偶数,则ans加上相应的数(当前为最大数为偶数,显然取数对Alice有利),否则当前数是奇数,不取,ans不变 (3)Bob取数时,如果当前数是奇数,则ans减去相应的数(当前为最大数为奇数,显然取数对Bob有利),否则当前数是偶数,不取.原创 2021-01-08 15:55:15 · 199 阅读 · 0 评论