![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
codeforces-[1400,1800)
文章平均质量分 58
梯度训练。
林铱眀
这个作者很懒,什么都没留下…
展开
-
Fishingprince Plays With Array(思维/数学/实现)
传送门 Problem - 1696C - Codeforces把a和b数组不断拓展,直到不能拓展为止,记不能再拓展的数值为,每个最小元对应一个ai或bi。记录每个所对应的数字和对应的ai,bi之和,如果当前最小元和之前的一样,那就让ai或者bi跟之前的相加。最后比较最小元及对应和是否相等。另一种思路就是把a不断拆分,然后合成b数组。...原创 2022-07-03 17:02:59 · 185 阅读 · 0 评论 -
Helping the Nature(差分数组)
传送门 Problem - 1700C - Codeforces 1700转化成对差分数组的一对点值修改。跟这题是一样的 https://www.luogu.com.cn/problem/P7994原创 2022-06-20 22:20:43 · 314 阅读 · 0 评论 -
Gambling(dp/map/思维)
传送门 Problem - 1692H - Codeforces 1700用map把坐标分离出来处理,效率高。TLE代码估计是for(auto &m:now){}超时的,毕竟每进一个数就要遍历一次map,复杂度可能会比较高。想法是,每一个数会对后面产生1的影响,如果这个数后面的相邻数和前面的数相等,那么影响累加。比如两个连续的1,那么再接下来两个位置内出现1都是可以拼接起来的。每往后遍历一个数的时候前面不同值的影响会减小1,然后维护好这个影响就可以了。如果影响没有被消除(>0),代表可以和后面的值拼接。原创 2022-06-19 14:13:13 · 178 阅读 · 0 评论 -
Fake Plastic Trees(树形dp/贪心)
传送门 Problem - 1693B - Codeforces 1700树形dp,贪心。首先叶子节点一定只要填一次就能填满。为了不浪费,就填叶子结点的最大值。然后以同样的值去填其父节点。父节点获得其子节点的ri值之和,有两种可能,一种是比le小,那么就像叶子节点一样直接填满;否则就忽略,传给其父节点当前的f值。这是一种贪心思想。正确性说明(不是证明,不会严谨证明):如果不选最大的填充,那么肯定会亏,就比如一个叶子节点有必要填两次吗?还有就是f值比le大就不用再填了,这个节点已满足,没必要再填了,重点在其父原创 2022-06-18 21:17:24 · 580 阅读 · 0 评论 -
2^Sort(思维/前缀和/滑动窗口)
传送门 Problem - 1692G - Codeforces 1400滑动窗口,维护窗口内相邻两项a[i]/a[i+1]的比值原创 2022-06-18 18:42:24 · 210 阅读 · 1 评论 -
The Enchanted Forest(思维/前缀和)
传送门 Problem - 1687A - Codeforces 1600分类,如果kn时,显然就要全部选择数组中的元素,这时候问题就变成了怎么走才能最大化蘑菇数量。然后发现在中间位置开始向左边或者右边移动能最大化取到的蘑菇。设周期为T,我一开始先推出了T=1,T=2,T>=3的情况下的最大采蘑菇数量。但觉得很繁琐,处理起来非常麻烦,感觉正常思路应该不是这样,于是看了Tutorial的思路。题解思路在于怎么丢下最少的蘑菇,而我是推出怎么找到最多的蘑菇。事实上......原创 2022-06-17 18:02:35 · 232 阅读 · 0 评论 -
awoo’s Favorite Problem(dp/思维)
传送门 Problem - 1697C - Codeforces 1400一个b可以选择向左移动或者向右移动。有点动规内味了。当前b可以左移的距离为前面a的个数+前面一个b的le[i]的值;右移为后面c的个数+后面一个b的ri[i]的值。一开始的思路。就是query_num的时候,最坏情况下会到n2复杂度。......原创 2022-06-16 17:45:55 · 278 阅读 · 0 评论 -
Maximum Crossings (Hard Version)(树状数组/逆序对)
传送门 Problem - 1676H2 - Codeforces 1500逆序对。动态维护的是大于等于当前值的个数和。记得开long long。原创 2022-06-15 23:02:50 · 408 阅读 · 0 评论 -
Rooks Defenders(multiset/线段树二分/思维)
传送门 Problem - 1679C - Codeforces维护最上下和左右的界限。若在界限内,那就符合要求。另外一种情况就是行或者列能完全包含,这个用线段树二分解决,效率还行。1400分的题目用线段树二分就离谱。WA代码用multiset和线段树维护。想清楚自己写的什么东西,想清楚再写代码。...原创 2022-06-15 20:35:25 · 168 阅读 · 0 评论 -
Infected Tree(递归/树形)
传送门 Problem - C - Codeforces一开始第一眼以为是树形dp,就先把每个节点下面的节点个数(不包括自己)全求出来了,然后后面发现没用…然后又想到这个会不会是从下至上的dp。然后一个节点会被分为两种情况?被毒和不被毒。然后发现这个不太好想。思考过程中发现,一个节点中毒就跟一开始的根节点一样,这个过程和结构是类似的。而一个毒只会向下传递一层,而一层的另一个节点会被砍掉,最终的结果就是得到一个连续的且是一个节点一个节点串联起来的链子。说白了就是一个路径。此问题就转化为求出从根节点到度数为1或原创 2022-06-14 21:36:21 · 287 阅读 · 0 评论 -
Sum of Substrings 1691C(分类讨论/思维)
传送门 Problem - 1691C - Codeforces给定01序列,求出至多k次交换后最小的f(s).分类讨论。1)在序列中间交换。存在序列a1,a2,a3,a4.令a2,a3交换,那么将发生如下变化:a1a2->a1a3;a2a3->a3a2;a3a4->a2a4.显然当a2=a3时,不产生影响;假设a3=1,a2=0,那么产生的影响为1+9-10=0,不产生影响;反之a3=0,a2=1亦然。2)在队头交换存在序列a1,a2,a3.令a1,a2交换,那么将会发生如下变化:a1a2->a2a1;a原创 2022-06-06 23:47:46 · 208 阅读 · 2 评论 -
LIS or Reverse LIS?(思维)
传送门 Problem - 1682C - Codeforces问一个数列的严格增序列和减序列的较小值的最大值是多少,序列随意排列。个数为2个的对两个都有1的贡献;个数为1的则两个可以有一个共用;个数超过2的数多出来的没用。...原创 2022-06-07 16:58:38 · 171 阅读 · 0 评论 -
Column Swapping 1684C(思维/暴力)
传送门 Problem - 1684C - Codeforces一开始想了半天什么样的情况可行什么样不可行。写了一通发现都有问题。然后突然想到其实只要找到必须要换的两列让它们交换,最终检验即可,真是一下豁然开朗。WA点:注意下方不能break的位置。思维还是有点慢,码力有点弱。...原创 2022-06-07 19:45:59 · 165 阅读 · 0 评论