![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
⊙∀⊙!zs
这个作者很懒,什么都没留下…
展开
-
【题解】 D - Binomial Coefficient is Fun
题目来源:Atcoder ARC 110 - D 题意: 略(说不清楚,自己看题!) 思路: 分析题目中所给的表达式,当B确定时,表达式的含义为:从B1中选A1个数,同时从B2中选A2个数,同时从B3个数中选A3个数,…,同时从Bn个数中选An个数,总共有多少种方法。得到一个子问题。 子问题解决:记sumA、sumB分别为此时A、B的元素和。可以先从sumB个元素中选出sumA个元素,但这并没有达到分组的效果。假设这些数都是小球,现在加上木棒以分组。从sumB+n个元素中选出sumA+n个元素,设第1个到第原创 2020-12-07 21:53:18 · 342 阅读 · 0 评论 -
【题解】D - Stoned Game
题目来源:Codeforces Round #666 (Div. 2) - D 题意: 已知n堆石子a和每堆石子的个数,两个人轮流取石子,每次可以从任意一堆石子中取走一个,但不能从另一个人上次取的堆中取,第一个人第一次可以任意取,最终无法取的人输。判断游戏的胜利者。 思路: 首先,当有一堆的石子足够多时,先手可以一直从该堆中取,直到后手把其他的堆取完时该堆仍有剩余,此时先手必胜。设第p堆的石子数最多,sum为总石子数,而满足该情况的条件即为a[p]>sum-a[p](必胜态)。 其次,当上述情况不满足原创 2020-08-31 10:37:11 · 155 阅读 · 0 评论 -
【题解】 D - Irreducible Anagrams
题目来源:Codeforces Round #616 (Div. 2) - D 题意: 定义两个字符串互为anagrams当且仅当两个串中每个字符的个数是一样的。定义两个字符串s,t,t与s之间为reducible anagram当且仅当:存在分隔方式使得将s,t按此方式各分为至少两个串时,s1与t1、s2与t2…之间都互为anagrams。现给定一个字符串s和q次询问,每次询问s的一个子串,判断是否至少存在一个字符串t使其之间reducible anagram。 思路: 要判断两个字符串s,t之间为red原创 2020-08-27 23:50:21 · 143 阅读 · 0 评论 -
【题解】 D - Domino for Young
题目来源:Codeforces Round #609 (Div. 2) - D 题意: 给定一个方格图,每列方格数非递增,现用1×2和2×1的骨牌无重叠覆盖,问最多可以放置多少个骨牌。 思路: 对网格进行黑白染色,相邻格子不同色,放置一个骨牌就相当于取两个相邻的黑白格子。最后数量少的颜色即为答案(证明暂无)。 代码: #include <iostream> #include <queue> #include <set> #include <map> #incl原创 2020-08-27 16:51:58 · 119 阅读 · 0 评论 -
【题解】 D - GameGame
题目来源:Codeforces Round #659 (Div. 2) - D 题意: 两人进行游戏,轮流从给定序列中取数至序列为空,两人的最终分数为所取数的异或和。试判断该游戏为先手胜、后手胜还是平局。 思路: 异或不会产生进位,所以只要逐个判断最高位即可。 记c0,c1分别为此时最高位为0,1的个数,有如下结论成立: 1.当c1%2=0时,该位平局; 2.当c1%4=3且c0%2=0时,该位后手胜; 3.否则,该位先手胜。 证明如下: 1.记两人拿到的最高位为一的个数x1,x2,易得x1,x2同奇偶,所原创 2020-08-26 17:05:10 · 307 阅读 · 0 评论 -
【题解】 E - Clear the Multiset
题目来源:Educational Codeforces Round 94 (Rated for Div. 2) - E 题意:原创 2020-08-26 12:22:50 · 406 阅读 · 0 评论 -
【题解】 D - Unmerge
题目来源: Codeforces Round #658 (Div. 2)-D 题意: 给定一种构造序列的方法:对于两个长度为n且相互间没有重复元素的序列a,b,不断从两序列前取出较小的数添加到序列c后,构成长度为2n新序列c。 现给出长度为2n的排列p,判断其是否为两个序列经上述方法构造而得。 思路: 考虑构造的过程:若a中连续一段均小于b中的某个数,即a[l-r]<b[i],那么肯定先取出a[l-r],再取出b[i];之后再从b[i]开始取连续的一段,均小于a[j]。其形成的序列为:a[l],…a[原创 2020-08-25 22:34:56 · 150 阅读 · 0 评论 -
【题解】 C - Good Subarrays
题目来源: Educational Codeforces Round 93 (Rated for Div. 2)-C 题意: 给定一个序列,原创 2020-08-21 21:13:39 · 144 阅读 · 1 评论