Codeforces
文章平均质量分 90
lasomisolaso~
这个作者很懒,什么都没留下…
展开
-
【Educational Codeforces Round 102】 E. Minimum Path(分层图最短路)
参考博客:做法1做法2分层图最短路讲解:链接题意给出一个nnn个点mmm条边的带权无向联通图。定义一个经过kkk条边的路径的权重为∑i=1kwei−maxi=1kwei+mini=1kwei\sum_{i=1}^{k}w_{ei}−\max_{i=1}^{k}w_{ei}+\min_{i=1}^{k}w_{ei}∑i=1kwei−maxi=1kwei+mini=1kwei。e1,e2,e3,...,eke_{1},e_{2},e_{3},...,e_{k}e1,e2,e3,原创 2021-01-17 00:48:25 · 356 阅读 · 0 评论 -
【Codeforces Round #694 (Div. 2)】D.Strange Definition
题意给出x,yx, yx,y相邻的定义:如果lcm(x,y)gcd(x,y)\frac{lcm(x,y)}{gcd(x,y)}gcd(x,y)lcm(x,y) 是平方数,则称x,yx, yx,y两个数相邻。给出一个长度为nnn的数列,每过一秒钟,数列中的每一个元素会被与它相邻的所有元素的乘积(包括它自身)所替换。给出qqq个询问,问在第wiw_{i}wi秒时,当前数列中哪个元素有最多的相邻元素,不需要给出这个元素是谁,只要给出它的相邻元素个数。题解首先, lcm(x,y)=x∗ygcd(x,y原创 2021-01-07 00:24:58 · 1406 阅读 · 6 评论 -
CF 666 (Div. 2) D. Stoned Game【博弈论】
题意:有nnn堆石头,两个人轮流拿石头。每个人只能从一堆石头中拿走一个,并且这堆石头不能是上一轮另外一个玩家拿过的。谁没有石头拿就输了。思路:设当前所有石头堆的石头数量的总和为SSS。**第一种情况:**如果某一堆石头的个数大于 ⌊S2⌋\lfloor \frac{S}{2} \rfloor⌊2S⌋ ,那么肯定是先手获胜,就是面临这种情况的玩家必胜。如果一堆石头大于 ⌊S2⌋\lfloor \frac{S}{2} \rfloor⌊2S⌋ ,那么其它所有石头的和都比这堆石头少。那么先手只要一直拿原创 2020-09-23 22:36:36 · 318 阅读 · 0 评论 -
Codeforces Round #638 (Div. 2) A~C题解
A题意:给出21,22,23,24,...2n2^1,2^2,2^3,2^4,...2^n21,22,23,24,...2n这n个数,n是偶数,将这n个数分成相等的两部分,问如何分配使这两部分的和之差最小,求出这个最小值。题解:我们知道21+22+23+...+2n−1<2n2^1 + 2^2 + 2^3 + ... +2^{n- 1} < 2^n21+22+23+...+2n...原创 2020-05-03 00:31:57 · 198 阅读 · 0 评论 -
Educational Codeforces Round 86 D.Multiple Testcases【贪心 + 思维】
题目链接题意:给出nnn个超过kkk的数,对这nnn个数进行分组。要求每个组中,大于等于i的数不超过c[i]c[i]c[i]个, c[i]c[i]c[i]是题目给出的数组。问最少需要分多少组,并给出分组方案。题解:求最小分组。首先,我们可以求出至少需要多少组,或者说需要的组数不能比它更小了。我们先不讨论这个组数能不能满足题目要求。我们可以简单的求出大于iii的数的个数。对于每...原创 2020-04-29 00:05:32 · 273 阅读 · 0 评论 -
【Codeforces Round #624】 F. Moving Points 离散化 + 树状数组
把non−integernon-integernon−integer 看成非负整数了。。。想了半天样例三是咋回事,看了洛谷的翻译才反应过来。。。题意:思路:对于每个点,我们只需要将它与它左边的点的距离累加起来就是最后答案。结论首先考虑一个点的速度为正的情况,考虑它与它左边的点的距离。如果左边的点的速度为负,那么距离为两点的坐标差。如果左边的点的速度为正且速度小于等于这个点的速度, ...原创 2020-03-25 21:22:08 · 171 阅读 · 0 评论 -
Educational Codeforces Round 83 (Rated for Div. 2) E. Array Shrinking 区间DP
题意:给出一个序列 a[1],a[2],a[3],...,a[n]a[1], a[2], a[3], ..., a[n]a[1],a[2],a[3],...,a[n]。可以进行如下操作:选择两个相邻且相等的元素a[i],a[i+1]a[i], a[i + 1]a[i],a[i+1],将它们用一个元素a[i]+1a[i] + 1a[i]+1代替。问最后剩下的序列最短的长度是多少。思路:首先...原创 2020-03-13 21:13:17 · 175 阅读 · 0 评论 -
【Ozon Tech Challenge 2020】 C. Kuroni and Impossible Calculation 模数
题意:给出一个数列a[]a[]a[],以及一个模数mmm,计算∏1<=i<j<=n∣a[i]−a[j]∣\prod_{1 <= i < j <= n} \left|a[i] - a[j]\right|∏1<=i<j<=n∣a[i]−a[j]∣.数据范围:1<=n<=2∗105,1<=m<=1000,0<=a[...原创 2020-03-04 10:34:19 · 303 阅读 · 0 评论 -
Codeforces 1042 D - Petya and Array【树状数组】
思路:树状数组+离散化条件可转化为pre[r]−pre[l−1]<tpre[r]-pre[l-1]<tpre[r]−pre[l−1]<t,即pre[r]−t<pre[l−1]pre[r]-t<pre[l-1]pre[r]−t<pre[l−1],这就转化为一个类似二维偏序的东西。l−1l-1l−1的取值范围[0,r−1][0,r-1][0,r−1],即对每一...原创 2019-10-05 12:32:53 · 311 阅读 · 0 评论 -
Educational Codeforces Round 73 (Rated for Div. 2) D. Make The Fence Great Again(DP)
题意:给出一排木板的高度和将这些木板提升1个高度的代价。问使这些木板达到没有相邻的两块木板相等的情况的最小代价。思路:二维DP本题关键:对于每一块木板,最多提高两次。如果一个木板提高了三次才和两边的木板高度不等,那么提高两次一定和某个木块相等,同理也有一个木块等于提高一个的长度。那么这个木块就干脆不提高就行,这与提高三次矛盾。所以可以得出最多提高两次的结论。根据这个结论就可以定义状态...原创 2019-09-21 01:37:39 · 190 阅读 · 0 评论 -
Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges
题意:给定一个有向图。给所有的边染色,要求一个环中的边,不能全是一个颜色。问最少需要多少个颜色,才能满足条件,并输出每个边所染的颜色。思路:首先要明确的是,最少的颜色,不是1就是2。如果这个图里面无环的话,那么所有的边都染成一个颜色,就符合题意。有环的情况一定是2.,关键是怎么染的问题。==在一个环中,一定存在一个反向边(就是编号大的结点指向编号小的结点的边)。否则的话,编号最大的结点就没...原创 2019-09-06 22:50:19 · 111 阅读 · 0 评论 -
Educational Codeforces Round 72 (Rated for Div. 2) C.Good String
题意:给出一个01字符串。对于一个字串,如果这个字串表示的二进制数等于这个字串的长度,那么这个字串就是一个“Good String”。求给出字符串中有多少个“Good String”。思路:一个“Good String" 一定对应一个从左到右的第一个1。那么遍历所有的1,求以这个1为第一个1的字串有多少个“Good String”,就可以得出所有的”Good String“.如果这个字串...原创 2019-09-06 22:38:42 · 133 阅读 · 0 评论