![](https://img-blog.csdnimg.cn/20210822142435287.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
other
文章平均质量分 81
1
linkscx
ACMer
展开
-
每日Codeforces题解 [20210401]
文章目录D题.[Codeforces 678D] Iterated Linear FunctionD题.[Codeforces 678D] Iterated Linear Function题目链接思路: gn(x)=Anx+An−1B+An−2B+...+AB+Bg^{n}(x)=A^nx+A^{n-1}B+A^{n-2}B+...+AB+Bgn(x)=Anx+An−1B+An−2B+...+AB+B应用等比数列前nnn项和公式,gn(x)=x+nBg^{n}(x)=x+nBgn(x)=x+nB,原创 2021-04-02 09:20:16 · 166 阅读 · 0 评论 -
每日Codeforces题解 [20210318]
文章目录D题.[Codeforces 876D] Sorting the CoinsD题.[Codeforces 876D] Sorting the Coins题目链接思路:看第二组数据,6、8、3、4依次被替换序列是OOXXOXOX,需要假设第二个位置被替换,序列变成OXXXOXOX,原创 2021-03-18 23:20:32 · 1085 阅读 · 0 评论 -
每日Codeforces题解 [20210114]
文章目录C题.[Codeforces 782C] Andryusha and Colored BalloonsC题.[Codeforces 782C] Andryusha and Colored Balloons题目链接思路: 给一棵树,a−b−ca-b-ca−b−c 相连的三个节点颜色互不相同,所以我们选一个节点作为根,那么对于节点iii只需要保证:①节点iii和它的兄弟不同色②节点iii和它的父亲不同色③节点iii和它的祖父(父亲的父亲)不同色即可,具体过程可以用dfs来实现,传递参数父原创 2021-01-14 20:05:43 · 164 阅读 · 0 评论 -
每日Codeforces题解 [20200826]
文章目录C题.[Codeforces 242C] King's PathC题.[Codeforces 242C] King’s Path题目链接思路:题目中说了这句话所有线段的总长不超过105,也就是说,二维平面里最多只有105个允许走的点。所以可以把线段拆成点,用二维map标记,把每个点向八个方向连边,建图跑最短路。//AC代码#include<bits/stdc++.h>using namespace std;typedef long long LL;const int原创 2020-08-26 21:54:29 · 165 阅读 · 0 评论 -
20200814
文章目录C题.[Codeforces 146C] Lucky ConversionD题.[Codeforces 146D] Lucky Number 2C题.[Codeforces 146C] Lucky Conversion题目链接思路: 从a,b串不一样的所有位置 i 里,记录a[i]==4的数量cnt_4,和a[i]==7的数量cnt_7,方案肯定是能交换的交换,最后不能交换的改变。所以ans=min(cnt_4,cnt_7)+(max(cnt_4,cnt_7)-min(cnt_4,cnt原创 2020-08-14 21:40:16 · 120 阅读 · 0 评论 -
20200813
文章目录C题.[Codeforces 125C] Hobbits' PartyC题.[Codeforces 125C] Hobbits’ Party题目链接思路: 有两个要求:一个人最多被邀请2天,任意两天一定有同一个人被邀请。所以最优方案一定是任意两天被邀请的人中, 只有一个人相同。也就是说任意两天消耗一个人,k天消耗 k*(k-1)/2 个人,那么最大天数k应该是满足 n>=k*(k-1)/2 的最大的k。得到k之后,再k2枚举任意的两天消耗掉一个人的过程,得到结果序列。//AC代原创 2020-08-13 20:43:09 · 729 阅读 · 0 评论 -
20200710
文章目录B题.[Codeforces 53B] Little FrogB题.[Codeforces 53B] Little Frog题目链接思路: 枚举题目中要求的2x第一次枚举高=2x(0<=x<=30) ,若w>=floor(2x/0.8), 则H取2x, W取floor(2x/0.8);若floor(2x/0.8)>w>=ceil(2x/1.25), 则H取2x, W取w;否则无法按要求比例裁剪。第二次枚举宽=2x(0<=x<=30) ,若h>原创 2020-07-10 21:06:32 · 121 阅读 · 0 评论 -
20200601
文章目录C题.[Codeforces 1038C] GamblingD题.[Codeforces 1038C] SlimeC题.[Codeforces 1038C] Gambling思路: 按照题意模拟,用两个大根堆存a和b数组。player A的决策:①若a堆空,则删b堆中的最大值②若b堆空,则取a堆中的最大值③若a堆和b堆都未空-----若a中最大值大于b中最大值,取a堆中的最大值-----若a中最大值小于b中最大值,删b堆中的最大值player B的决策:就是把上面的a,b交换最原创 2020-06-01 21:16:17 · 227 阅读 · 0 评论 -
20200523
文章目录C题.[Codeforces 330C] PurificationD题.[codeforces 330D] Biridian ForestC题.[Codeforces 330C] Purification思路: 看这个样例5EE.EEE.EE.E…E.EE.EEE.EE不难看出如果有解,要么每行都有一个点(随意哪个列上的点都行),要么每列都有一个点,否则无解。所以判断并任意输出一种方案或无解。//AC代码#include<bits/stdc++.h>using原创 2020-05-23 20:39:29 · 132 阅读 · 0 评论 -
20200512
文章目录C.String ReconstructioC.String Reconstructio题目链接思路:线段树。用线段树维护区间[l…r]中元素是否已全部染色,对每个ti的所有[xi, xi+|ti|-1]调用线段树的updata染色,并打上标记已染色,遇到已染色的就不继续往下走,这样因为每个位置只染色一次,所以时间复杂度为O(LlogL),(L为答案字符串长度上限,|ti|为ti的长度)。同时更新(xi+|ti|-1)max得到答案字符串的长度L,最后输出[1…L]的染色序列,若某个位置未染原创 2020-05-12 20:47:12 · 150 阅读 · 0 评论 -
20200508
日期2020050820200508C题题解:题目链接复杂版:b[1]肯定是要放入某个位置的,放到某个位置之后,按照a数组的特定顺序分别向前逆打分、向后正打分,就会得到特定的按照a数组打每个分后应该公布的每个分值(设其为数组B),这时候如果b数组中的每个值在B数组中都存在,我们前面放置b[1]的这种方案就合法,这时向前逆打分过程中求出来的最初分值就是一个合法的最初分值。(逆打分的意思就是还原打分前的情况,即依次-a[i]。正打分就是继续打分,即依次+a[i])所以做法就是枚举b[1]可以放的原创 2020-05-08 21:22:08 · 164 阅读 · 0 评论