![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
codeforces
文章平均质量分 79
每日更一题2000分以上的题目,只要打比赛了一定会更新比赛博客,不更新下次必掉100分O(∩_∩)O
tcy今天长胖了吗
总有一天我也会是金牌女孩ヾ(≧▽≦*)o
展开
-
D. The Strongest Build(Edu Div. 2#114)【优先队列搜索】
D. The Strongest Build(Edu Div. 2#114)【优先队列搜索】题目传送门(逐渐懒惰)思路只有十个槽,所以大胆一点,存十个槽的状态,从所有槽都是最后一个开始向下宽搜(因为有序递增,所以都选最后一个是最优解),优先队列以当前这个状态的能力和为优先级。简单的说就是宽搜板子,,,就是赛场上傻掉了居然想直接用longlong存状态(不知道为什么以为每个槽也只有10个深度)代码#include <bits/stdc++.h>#define pb push_back原创 2021-09-22 19:13:40 · 192 阅读 · 0 评论 -
Codeforces Global Round 14 ABCD
Codeforces Global Round 14A - Phoenix and Gold题目给出一个没有重复数字的序列,对其进行重排列,使之前缀和序列中不存在 xxx 。思路开始的思路是从小到大排列,找当加到x时的数字,找一个比它大的,因为一些细节wa了,换成了找前缀和为x的位置之后第一个和当前数字不一样的数字。尽管过了但是还是没有仔细审题,做的太复杂。赛后补题才看到是没有重复数字的,也就是除了所有数字加起来恰好是x的情况都是能处理的那么只需要判断数字和为x时的下标,恰好是最后一个就不行,其原创 2021-05-06 15:09:20 · 137 阅读 · 0 评论 -
Codeforces Round #715 (Div. 2) A,B,C,D,E
Codeforces Round #715 (Div. 2) A,B,C,DA - Average Height题目定义 consecutive pairsconsecutive \ pairsconsecutive pairs 为两个相邻元素的平均值仍是整数,给定整个数列,重新排列数组并输出,使得数列的 consecutive pairsconsecutive \ pairsconsecutive pairs 数量最多。思路把奇偶数分开输出即可代码原创 2021-05-02 21:28:00 · 214 阅读 · 0 评论 -
1508B - Almost Sorted (Codeforces Round #715 (Div. 1) )
1508B - Almost Sorted (Codeforces Round #715 (Div. 1) )传送门题意定义几乎升序的置换,这样的置换满足对于所有的 i,i+1∈ni, i + 1 \in ni,i+1∈n ,都有 ai+1≥ai−1a_{i + 1} \geq a_i - 1ai+1≥ai−1 。给定 n,kn, kn,k ,给出长度为 nnn 、字典序第 kkk 大的几乎升序的置换。思路参考:cf1509E - Almost Sorted_juraws juraws姐姐的代原创 2021-04-30 20:07:26 · 300 阅读 · 1 评论 -
1467C - Three Bags (CF#695 Div. 2)
1467C - Three Bags (CF#695 Div. 2)题目链接题意三个袋子每个袋子里有一些数,你每次可以从一个袋子里取出一个数,再从另一个袋子里取出一个数,将后者减去前者并放入后者所在的袋子。问最后剩下的那个袋子里的数最大是多少?思路完全理解不了为什么是这个结论,先挖坑,等我回去和室友讨论一下再补上代码#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;typedef long lon原创 2021-04-28 20:37:28 · 101 阅读 · 0 评论 -
Codeforces Round #712 (Div. 2) A,B,C,D,E
好久没有打,感觉实现上有点生疏,很多细节考虑不到。不过好在结果还不错,只是只做到C就开始摸了,D题其实思路最开始就全对但是因为不自信以及心理上摸了所以赛后才写。总之就是还需要多练,以及要自信!多多包涵,共同进步原创 2021-04-13 23:48:56 · 122 阅读 · 0 评论 -
Codeforces Round #709 (Div. 2, based on Technocup 2021 Final Round) A,B,C,D
B题忘记特判1,fst了,从400名掉到1400名,失去上大分机会。不过问题不大,还是上分了,再接再厉原创 2021-03-22 09:43:42 · 203 阅读 · 2 评论 -
Codeforces Round #706 (Div. 2) ABC
Codeforces Round #706 (Div. 2) ABCA - Split it!题意找到 k+1k + 1k+1 个字符串,使得 a1+a2+⋯+ak+ak+1+Reverse(ak)+⋯+Reverse(a2)+Reverse(a1)a_1 + a_2 + \dots + a_k + a_{k + 1} + Reverse(a_k) + \dots + Reverse(a_2) + Reverse(a_1)a1+a2+⋯+ak+ak+1+Reverse(ak)+⋯+Rever原创 2021-03-18 21:43:51 · 73 阅读 · 0 评论 -
1467D - Sum of Paths(dp)
1467D - Sum of Paths(dp)传送门题意给定 nnn 个连成一条线的格子,每次可以从任意格子出发走 kkk 步,第 iii 个格子的贡献是 aia_iai ,走完全程的总贡献就是所有经过格子的贡献和。现在要你求出所有可能路线的总贡献的和,并修改 qqq 次指定格子的贡献值,每次输出修改后的所有可能路线的总贡献和。思路参考:Codeforces Round #695 (Div. 2) D. Sum of Paths(dp)很棒的dp题,思路巧妙。代码#include<原创 2021-03-09 17:08:33 · 133 阅读 · 0 评论 -
1468H - K and Medians(思维)
1468H - K and Medians(思维)传送门题意给定一个长 nnn 的数组 aaa ,要求你每次选择可以不连续的 kkk 个点(kkk 保证是奇数),删除除了这 kkk 个点的中位数以外的所有数。问能否通过一定次数(可以为0)的操作,得到长度为 mmm 的数组 bbb ?思路参考:[CF1468H] K and Medians - 思维第一,每次一定是删除 k−1k - 1k−1 个数字,所以最后删除的元素总数是 x∗(k−1)x * (k - 1)x∗(k−1) 个(消除 xxx原创 2021-03-06 15:06:42 · 221 阅读 · 0 评论 -
1470D - Strange Housing(dfs)
1470D - Strange Housing(dfs)传送门题意给定 nnn 个房子 mmm 条路的无向图,要求你选出一部分点来给老师居住(其他给学生居住)并升序输出这些点,要求满足以下要求:如果一个路连接的两个房子都没有老师居住那么这条路将会被关闭;只有未被关闭的路能走,且要求全图连通(在只能走开启的路的情况下);老师和老师的居住点不能直接相连。思路题面翻译:分配完以后还要是连通图,以及一条边两个点不能都是老师的住所参考:Codeforces1470 D. Strange Hous原创 2021-03-03 16:47:06 · 136 阅读 · 1 评论 -
1472F - New Year’s Puzzle(模拟)
F - New Year’s Puzzle传送门题意222 行 nnn 列的一个方格图。其中有 mmm 个点是已经填满了的,问能否用 2×12 \times 12×1 和 1×21 \times 21×2 的方块填满剩下的部分(不能再次放入已经填满的位置)?思路模拟。参考:官方题解当前列两个都是空的,那么可以竖着放一个填满,或者如果下一列也是空的可以放两个横的填满,这个不影响;当前列两个都是满的,也不用考虑可以直接跳过。当前列有一个被占满,那么看前面有没有还没填完的,如果也有这样单独一个被占满且原创 2021-03-02 22:28:05 · 109 阅读 · 0 评论 -
1472G - Moving to the Capital(dijktra+dfs+dp)
Dijkstra + dfs 进行dp,先用Dijkstra 进行单点最短路的计算,再对于所有的i∈[1,n] ,将所有 di >dj的边用实线连接,其他用虚线连接。原创 2021-02-28 18:35:44 · 175 阅读 · 1 评论 -
1486E - Paired Payment(多维最短路)
给定一个不保证连通的无向图,每次走都必须连着走两条路( a, b, ca,b,c 三个点,则只能走 ab—bcab—bc 到 cc ,或者 ac—cbac—cb 到 bb ),且所花费的金钱为两条路的边权和的平方( (w_{ab} + w_{bc})^2(w ab +w bc ) 2 )。问从第一个点到其他所有点花费的最小金额各是多少?没有路径输出-1。原创 2021-02-27 15:07:42 · 255 阅读 · 0 评论 -
1485D - Multiples and Power Differences(思维,构造)
1485D - Multiples and Power Differences题意给定 nnn 行 mmm 列的矩阵 aaa ,要你得出 nnn 行 mmm 列的矩阵 bbb ,使得对于每一个 i∈n,j∈mi \in n, j \in mi∈n,j∈m,都有bi,jb_{i, j}bi,j 是 ai,ja_{i, j}ai,j 的倍数,且 bbb 每两个相邻的元素(行或者列相邻)之差的绝对值都是某一个数 kkk 的四次方, kkk 的值不是固定的,即对统一矩阵不同位置可以不同。思路参考:Cod原创 2021-02-26 15:07:32 · 130 阅读 · 0 评论 -
1474D - Cleaning(前缀+后缀+遍历查找)
1474D - Cleaning(前缀+后缀+遍历查找)传送门题意有 nnn 堆石子,第 iii 堆石子有 iii 个,将第 iii 堆石子移除后第 i−1i - 1i−1 和 i+1i + 1i+1 堆并不变成相邻。现在你每次能对两堆相邻且石子个数不为空的石子堆进行两堆个数各减一的操作,问能否将所有石子全部清零?思路参考:D. Cleaning(思维好题+前缀)定义 pre[i] = a[i] - pre[i - 1] ,表示从前往后消除石子到第 iii 堆时,需要减去多少才能使其之前的所原创 2021-02-26 19:01:05 · 176 阅读 · 0 评论 -
gym 102956补题
gym 102956链接:2020-2021 Winter Petrozavodsk Camp, Belarusian SU Contest (XXI Open Cup, Grand Prix of Belarus)D - Bank Security Unification题意有 nnn 个路由器,第 iii 个路由器的的频度是 fif_ifi ,假设有 kkk 个路由器 i1,i2,…,iki_1, i_2, …, i_ki1,i2,…,ik 开着,那么此时的网络安全系数的值是 ∑j=1k原创 2021-02-23 16:59:20 · 950 阅读 · 0 评论 -
Codeforces Global Round 13 ABCD
Codeforces Global Round 13A - K-th Largest Value题意长度为 nnn 的01串,询问 qqq 次,每次输入两个数,第一个数的值为 111 或 222 ,第二个数为 xxx,第一个数为 111 表示修改 ax=1−axa_x = 1 - a_xax=1−ax ,第一个数为 222 表示查询并输出第 xxx 大的数。思路ax=1−axa_x = 1 - a_xax=1−ax 意味着把 000 改成 111 ,把 111 改成 000 。所以先算出最原创 2021-03-01 13:07:02 · 166 阅读 · 0 评论 -
Codeforces Global Round 12 AB
Codeforces Global Round 12 ABA - Avoid Trygub题意重排列给定字符串,要求重排列后不能出现子串 “trygub”。思路把所有的 ‘b’ 先全部输出,再输出剩下的字符。代码#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define PI acos(-1)using namespace std;typedef pair<int, int> P;typedef long long原创 2021-02-28 11:34:16 · 99 阅读 · 0 评论 -
Codeforces Global Round 11 AB
Codeforces Global Round 11 ABA - Avoiding Zero题意给定数组 aaa ,问是否能重排列 aaa 得到数组 bbb ,使得对于任意的 k=1,2,…,nk = 1, 2, \dots, nk=1,2,…,n ,都有b1+b2+⋯+bk≠0b_1 + b_2 + \dots + b_k \neq 0b1+b2+⋯+bk=0思路看数组 aaa 的所有数之和的值,如果等于0是不能得到答案的,如果大于0就把数组降序排列,如果小于0就把数组升序排列,原创 2021-02-28 11:25:42 · 90 阅读 · 0 评论 -
Codeforces Global Round 8 ABC
Codeforces Global Round 8 ABCA - C+=题意给定 a,b,na, b, na,b,n ,每次可以进行 a=a+ba = a + ba=a+b 或 b=b+ab = b + ab=b+a 的操作。问至少操作多少次,可以使 a,ba, ba,b 中一个数大于等于 nnn ?思路每次操作无论是 a=a+ba = a + ba=a+b 还是 b=b+ab = b + ab=b+a ,得到的数都是 a+ba + ba+b ,所以其实只需要考虑替换掉 aaa 还是 bbb 。显原创 2021-02-28 14:38:06 · 75 阅读 · 0 评论 -
Codeforces Round #704 (Div. 2)A,B,C,D
总而言之,就是心态很存在问题叭。还是要慢慢来,不害怕掉分!多多包涵,共同进步原创 2021-02-24 17:23:05 · 133 阅读 · 0 评论 -
Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3)A,B,C
Codeforces Round #692 (Div. 2, based on Technocup 2021 Elimination Round 3)A - In-game Chat题意给你一个由小写字母和 ‘ ) ’ 构成的字符串,问串最后面连续的 ‘ ) ’ 个数是否比串长的二分之一大。思路暴力遍历即可。代码#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define PI acos(-1)using namespace std原创 2021-02-20 21:04:15 · 134 阅读 · 0 评论 -
Codeforces Round #703 (Div. 2)A,B,C1,C2,D
最难过的一场比赛,但也是非常有意义的一场比赛。我会永远铭记。梦想不会止步于1500,所有打不倒我的终将使我变得更强。相信未来的我会感谢现在努力的我,正步履不停。原创 2021-02-19 11:53:38 · 289 阅读 · 5 评论 -
Codeforces Round #702 (Div. 3) A,B,C,D,E,F
Codeforces Round #702 (Div. 3)A - Dense Array题意给定一个数组,要求你在其中插入若干元素,使得每两个相邻的元素 ai,aja_i, a_jai,aj 都有:max(a[i],a[i+1])min(a[i],a[i+1])≤2\frac{max(a[i], a[i + 1])}{min(a[i], a[i + 1])} \leq 2min(a[i],a[i+1])max(a[i],a[i+1])≤2问至少需要插入多少元素?思路假设相邻元素 m原创 2021-02-17 17:27:21 · 98 阅读 · 0 评论 -
Educational Codeforces Round 104 (Rated for Div. 2) A,B,C,D,E
Educational Codeforces Round 104 (Rated for Div. 2) A,B,C,D,EA - Arena题意nnn 个英雄,他们的等级分别是 a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an ,和同等级的英雄打会平局,和比自己等级低的打可以使自己等级上升 111 ,两个英雄可以打很多次。我们称可能可以达到 100500100^{500}100500 的英雄成为可能的冠军,问有多少个可能的冠军?思路只要有比自己等级低的英雄,就可能是冠军。原创 2021-02-16 18:06:04 · 189 阅读 · 3 评论 -
Codeforces Round #701 (Div. 2) ABCD
以后double转int的精度问题真的需要好好思考再下手,这个A题确实不明不白卡了很久才发现是log函数的问题(也要做好复杂度估算)。原创 2021-02-14 20:54:55 · 93 阅读 · 0 评论 -
Codeforces Round #700 (Div. 2)ABCD1D2
Codeforces Round #700 (Div. 2)ABD1A - Yet Another String Game题意给定一个由小写字母组成的字符串,每次选择一个尚未被选取过的字符进行修改(范围:小写字母a~z)——必须修改成除当前字母以外的小写字母,直至没有字符可以选取。A的目标是使它字典序越小越好,B的目标是使它字典序越大越好,A先开始修改,两个人都选择最佳策略进行游戏。问最终这个串会变成什么样?思路选过就不能再选,所以一定是选剩下的里面最靠前的修改,无论是改大还是改小。遇到a、z,就原创 2021-02-08 21:08:56 · 157 阅读 · 0 评论 -
Codeforces Round #699 (Div. 2) ABCDE
惨败,有我自己当天的身体原因,也有心态原因。心态真的是致命问题,着急上分不可取,只会一夜回到解放前。。。多多包涵,共同进步原创 2021-02-07 11:34:16 · 108 阅读 · 0 评论 -
Educational Codeforces Round 103 (Rated for Div. 2)前四题
Educational Codeforces Round 103 (Rated for Div. 2)第二次被别人hack,悲A - K-divisible Sum题意给定两个整数 n,kn,kn,k,要求你建成一个正整数数组 aaa,满足 (a1+a2+…+an)(a_1 + a_2 + … + a_n)(a1+a2+…+an) 能够被 kkk 整除,且使max(ai)max(a_i)max(ai) 最小,输出 min(max(ai))min(max(a_i))min(max(ai))原创 2021-01-30 22:34:56 · 78 阅读 · 0 评论 -
Codeforces Round #698 (Div. 2)A,B,C,D,F
Codeforces Round #698 (Div. 2)前四题 A - Nezzar and Colorful Balls题意有 nnn 个球,第 iii 个球上的序号是 aia_iai ,保证对任意 aia_iai 都有 ai≤ai+1a_i \leq a_{i+1}ai≤ai+1 。现在你要给球涂上颜色,保证在球按照颜色分开后,每种颜色的球序号从小到大是严格递增的,也就是只考虑某种颜色的球的情况下,对相邻的 aia_iai、aja_jaj,均有 ai<ai+1a_i \lt原创 2021-01-29 22:23:19 · 149 阅读 · 0 评论 -
Codeforces Round #697 (Div. 3) A,B,C,D,E
Codeforces Round #697 (Div. 3)A - Odd Divisor题意判定给定的数是否有奇数因子。思路除了2的次方以外都是有奇数因子的,由于数据范围非常大,容易想到用位运算。逐位判断是否是1(2的次方只有最后一位是1)即可。代码#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define PI acos(-1)using namespace std;typedef pair<int, int>原创 2021-02-16 21:08:58 · 288 阅读 · 0 评论 -
Educational Codeforces Round 102 (Rated for Div. 2)前两题(后期更新
Educational Codeforces Round 102 (Rated for Div. 2)前两题(后期更新A - Replacing Elements题意给定一个数组,你每次可以选取任意一个元素,使其值变为除该元素以外的任意两个元素之和。问能否经过一定次数的上述操作,使所有的元素值都不超过给定的整数 ddd ?思路只要有两个数字之和小于 ddd, 所有的数就都能小于 ddd。代码#include<bits/stdc++.h>#define INF 0x3f3f3f3f原创 2021-01-29 14:59:40 · 127 阅读 · 0 评论 -
Codeforces Round #696 (Div. 2)前三题
Codeforces Round #696 (Div. 2)前三题A - Puzzle From the Future题意给定两个01串,将他们用不进位的方法加起来(即1+1之后是变成2,而不是进位),变成一个只含有0,1,2的串,且这个串中不存在多个相同且相邻的数字,如果有,则要将他们合并为一个数字(比如两个01串加起来是1211,则最终得到的串是121)。现在给定其中一个串,问另一个串的值为多少时,可以使最终加起来得到的串在十进制下最大?思路从最高位往最低位走,在保证没有相邻位相同的情况下(因原创 2021-01-29 14:59:26 · 56 阅读 · 0 评论 -
Codeforces Round #695 (Div. 2) A,B,C,D
Codeforces Round #695 (Div. 2) A,BA - Wizard of Orz题意有 nnn 个显示器在同一行上,每个显示器的数字都可以显示 000 ~ 999 的数字。显示器的数字最初显示 000 ,每秒钟加 111 ,到 999 后再显示 000 。现在你要选择一个位置 xxx 按下暂停键,暂停后元素补再改变,位置在 yyy 处的显示器在第 ∣x−y∣|x - y|∣x−y∣ 秒暂停。最后显示器从左到右的所有显示器连起来构成了一个十进制下的数字,问这个数字最大是多少?思原创 2021-02-17 17:44:46 · 66 阅读 · 0 评论 -
Codeforces Round #688 Div2 前两题(第三题周末更新
上了一点分回来,但是发挥的还是不够好,最后卡了一个半小时的题目。望下次能上回1400qwq题目A - Cancel the Trains题意有一网格状的铁路系统, 含有100行100列铁路。铁路系统中所有的火车速度都一样,所有行上的火车都是沿铁路从左往右开,所有列上的火车都是沿铁路从下往上开。现在我们用二维坐标来表示这个铁路系统,第 iii 辆从下往上开的车初始在 (i,0)(i, 0)(i,0) ,并且 TTT 秒后会在 (i,T)(i, T)(i,T) ; 第 iii 辆从左往右开的车初始在原创 2020-12-14 23:04:44 · 104 阅读 · 0 评论 -
Codeforces Round #687 Div2 前三题
又一场大翻车……可能是真的太久妹打了,好好努力!题目A - Prison Break题意有一个 n⋅mn\cdot mn⋅m 的矩阵监狱,内有 n⋅mn\cdot mn⋅m 个房间,每个房间一个犯人,第i行第j列的监狱房间编号为 (i,j)(i,j)(i,j) 。在房间 (r,c)(r,c)(r,c) 中有一个秘密逃跑通道,当夜晚降临,犯人们将会从自己的房间出发,全部前往这个有秘密通道的房间逃跑。他们每秒钟可以移动到临近的房间,或者选择原地不动,也就是说,一秒的时间内,犯人可以从房间 (i,j).原创 2020-12-03 12:39:06 · 110 阅读 · 0 评论 -
Codeforces Round #686 Div3 前四题
一场大翻车,但是也从这次犯的错误里学到很多,希望能吸取这次的教训吧。题目A - Special Permutation题意给定一个大于1的数字n,请输入长度为n的一种置换,使得每个元素的下标(从1开始)与该元素的值不同。思路很简单,以n,1,2,…,n−2,n−1n,1,2,…,n - 2,n - 1n,1,2,…,n−2,n−1 的格式输出即可,一定不会出现与下标相同的代码#include <bits/stdc++.h>#define N 1000000#define .原创 2020-11-30 19:13:24 · 74 阅读 · 0 评论 -
Codeforces Round #666 Div2 前两题
目录A - Juggling LettersB - Power SequenceA - Juggling Letters题意:给你几个字符串,你可以任意交换几个字符串中的字符,问最后能否把他们变成一样的字符串。输入:首行输入T,接下来T组数据,每组第一行输入n,接下来n行每行输入一串无空格的字符串。42caacbb3cbacbacbb4ccabcbacbcaacbcc4acbcafccbafc输出:输出YES或者NO。YESNOYESNO思路:原创 2020-09-14 11:44:46 · 93 阅读 · 0 评论 -
Codeforces Round #668 Div2 前三题
目录A - Permutation ForgeryB - Array CancellationC - Balanced BitstringA - Permutation Forgery对置换p(即n个不重复且范围在1-n之间的数)定义一个指纹F§,F§的计算方法为:F(p)=sort([p1+p2,p2+p3,…,pn−1+pn]).F(p)=sort([p_1+p_2,p_2+p_3,…,p_{n−1}+p_n]).F(p)=sort([p1+p2,p2+p3,…,pn−1+pn])原创 2020-09-13 15:37:54 · 114 阅读 · 0 评论