周常训练赛
斐林试剂捏
这个作者很懒,什么都没留下…
展开
-
【日常训练赛】G - Rescheduling the Exam
题目链接Problem - 1650E - Codeforces题意已知总天数d和考试的天数,dmitry可以改变一门考试的时间,以获得考试前的休息,记x是每一种安排下,休息的最少天数,要求出x的最大值思路求最小值的最大值,也就是需要二分答案,这个不难想到,关键点就是在于如果写check函数。休息时间t[i]-t[i-1]-1 而休息时间最少的那两门考试必须要移动一个。所以需要两门都进行计算。因为打比赛写到这题的时候脑子已经转不动了,所以借此机会重新整理一下check函数的思路原创 2022-03-20 16:45:47 · 395 阅读 · 0 评论 -
【日常训练赛】F - Twist the Permutation
题目链接Problem - 1650D - Codeforces题意一个a[i]=i的数列,进行左移操作,(移到数列的最左边,其他顺序不改变)。现给出最终的数列,要求输出,从原数列变成目标数列的过程。思路从最终的结果往前面倒推,因为变换的过程中该数字后面的数字不改变的,从最后一步开始往前倒推。我们设置一个数组来记录结果的数字所处的位置的索引,也就是他所在的位置,对位置求余,就可以得到,上一步的时候他移动到的最后的位置所需要的步数。然后更新其状态,一直推回到第一步操作。代码#in原创 2022-03-20 16:26:02 · 96 阅读 · 0 评论 -
【日常训练赛】E - Weird Sum
题目链接题意定义了一个n*m的桌面,每一块有不同的颜色, 要求是求出每一对相同颜色的方块之间的曼哈顿距离之和。曼哈顿距离是指,只有相邻(有共同的边)才可以移动的条件下,两者之间的最短距离思路可以用vector来记录,行和列分开来计算。使用 sum[] 数组 和 cnt[]数组 sum[x]记录x颜色的横(纵)坐标之和 cnt[x]记录x颜色出现的次数。我们使用变量ans来表示曼哈顿距离的和,先算所有行,再算所有列。以计算横坐标之差为例,那么此时距离就是 之前 出现的次数*现在的坐标-坐标之和原创 2022-03-20 11:44:38 · 263 阅读 · 0 评论 -
【日常训练赛】D - Fault-tolerant Network
题目链接Problem - 1651C - Codeforces题意大概就是两排电脑,同一排的电脑是彼此联通的,不同排的电脑则不是,现在要求是让所有电脑连接在一起,而把a行第i个电脑与b中第j个电脑连接在一起的花费是 |a[i]-b[j] | ,要求是寻找把所有电脑连在一起的最小花费思路这题给我的感觉大概是一个模拟题,因为同一行的电脑是连接好了的,问题是怎么样把两行的电脑彼此连接在一起,主要是要考虑的是a[1] a[n] b[1] b[n] 之间的连接情况。画张图列举一下。。(啊对不原创 2022-03-19 21:37:46 · 306 阅读 · 0 评论 -
【日常训练赛】C - Prove Him Wrong
题目链接Problem - 1651B - Codeforces题意对数有这样一个操作,选择a[i]与a[j] 使 a[i]=a[j]=| a[i]-a[j] |要求判断的数,给出数组的长度,要求判判断能否证明进行操作之后,数组的和不会减小思路在我看来是很直观的一道题目,求解不等式 a[i]+a[j]>=|a[i]+a[j]| 算出来的是三倍的关系,我们只需要保证,后者是前者的三倍即可满足,因为数据限制在1e9之内,3^18<1e9<3^19,也就是说n<=.原创 2022-03-19 21:25:18 · 447 阅读 · 0 评论 -
【日常训练赛】B - Gregor and the Pawn Game
题目链接Problem - 1549B - Codeforces题意一个n*n的棋盘,第n行(最下面)是己方的棋子,第1行(最上面)是敌方的棋子。gregor在一轮中只移动自己的棋子。如果没有棋子挡着的话,就可以直接向正上方走。而棋子向左上和右上行走是当且仅当他正方有棋子的时候。同时己方棋子到达的位置上的敌方棋子也会被移除。要求求出可可以到达第一行的最大的棋子数。思路不难。首先的话中间大片的空白是不需要考虑的,直接直走的就好了。扫描到己方棋子的时候,如果其正上方没有棋子的话,直接直走就好原创 2022-03-19 21:16:35 · 144 阅读 · 0 评论 -
【日常训练赛】A - Windblume Ode
题目链接Problem - 1583A - Codeforces题意给一个数组,可以删除其中的元素。要求是找到使各个元素之和是合数的最大子集思路题目不是很难,分两种情况。首先如果原本数组一开始的和就是合数的话,那么直接原数组输出就好了。如果不是的话,只需要去掉一个奇数就好了。是因为,偶数必然为合数,如果现在的和为质数,那么他必然为奇数。奇数-偶数=奇数,不一定符合要求;但是奇数-奇数=偶数,必然是合数。此时子集长度为n-1显然符合要求。代码#include<map>原创 2022-03-19 21:03:49 · 129 阅读 · 0 评论