- 博客(93)
- 收藏
- 关注
原创 Nebius Welcome Round (Div. 1 + Div. 2) C 的证明
等价于初始的状态,那么接下去如果令。证明:由等差数列公式我们可以得出。那么又回到了之前的环上,因此若。首先给出结论:最多暴力跑。次即可判断出最终的结果。为偶数,那么至多需要跑。次可以判断出结果,因为。
2023-03-13 10:57:15
517
原创 Codeforces Round #848 (Div. 2) D - Flexible String Revisit
即每个位上操作的概率都是。每次操作可选择字符串。
2023-02-02 14:32:23
699
原创 Educational Codeforces Round 138 (Rated for Div. 2) E (01BFS)
Educational Codeforces Round 138 (Rated for Div. 2) E. Cactus Wall
2022-10-22 16:02:03
449
原创 Educational Codeforces Round 134 (Rated for Div. 2) A - D
Educational Codeforces Round 134 (Rated for Div. 2)
2022-08-28 02:14:56
183
原创 “蔚来杯“2022牛客暑期多校训练营2 H
接下去讨论下降楼层,会发现下降楼层会有很大一部分和上升楼层重复,每一次上升楼层选择下降然后重新上升的过程同样可以使得很多下降人员到达目标楼层,所以我们需要在同一楼层的。并且有一点显然,如果上层楼至少经过数大于下方楼层,那么下方楼层同样需要电梯经过与上方楼层同样次数。有前缀和算法知识前提,我们首先看上升人员,我们统计出每一层至少被电梯经过多少次,可以使用差分,最后的时候合并。那么最后前缀和操作统计出所有楼层至少人员经过次数,并将每一层除以。层,电梯上升可以一层一层的上升,任意层都可以选择下降。...
2022-07-28 20:34:18
228
原创 “蔚来杯“2022牛客暑期多校训练营1 J Serval and Essay(启发式合并)
点处在一个集合之中。我们只需不断将两个集合合并即可(父亲集合和儿子集合),若儿子集合唯一入度为父亲集合的情况下。给定一张无环无重边图,初始所有点全为白色,你可以任意选择一个点使其变黑,其余白点可以被黑点污染的前提是。那么我们可以直接选择将。考虑合并集合,启发式合并。问该图最多黑点数为多少。...
2022-07-27 20:30:59
227
原创 Codeforces Round #810 (Div. 2) D. Rain (线段树差分)
问统计将任意一天天气变成非降雨天,所有地的最大降雨量是否不超过。,用来将同一斜线上的数置于同一水平上比较,得出区间降水最大值。首先本题很明显得知具有差分性,即降雨中心向左右两边以公差。中的某一天不降雨情况下,所有地的降雨最大值是否小于。这可以通过一个线段树实现。,我们开第二棵线段树用来维护三个最大值即。为中心,降雨量向左右两边递减,例如。其余两个分别是上坡与下坡的。天会降雨,每一个降雨天有一个。天都下雨情况下所有降雨中心的。一道恶心了我近一天的题,共。,还是线段树专题做的太少了。的时间复杂度内计算出这。..
2022-07-27 11:21:03
342
原创 P3201 [HNOI2009] 梦幻布丁 启发式合并
这种数据结构将每种颜色出现过的下标存在该颜色的链表之中,处理完后每个颜色即每条链表存的都是该颜色出现过的下标。之后我们采用启发式合并的操作,因为。大的集合,但是本题有个问题需要特殊处理,例如如果将。可以接受,启发式合并的核心即每次操作将。意思是从此刻开始我们认为原本的。那我们该如何处理呢?数组来存颜色的映射,如果出现。......
2022-07-22 17:03:21
255
原创 “蔚来杯“2022牛客暑期多校训练营1 I Chiitoitsu(概率dp)
最好的策略是手上有单牌,我们将单排打出,然后拿到一张牌可以和手上另一单牌形成对子。的牌出现的次数相同,不管是什么牌,那么最终的期望都是相同的。是指桌面上还有多少牌可以选择,即初始还有可以选择的牌数为。,另一情况是从桌面拿了一张牌但无法形成对子,将该牌打出即。,且相同牌数最多两张。张牌,相同牌最多两张。的复杂度,然后每次统计出牌数为。首先每一个测试给定的字符串是。,那么假定所求字符串中牌数为。所以我们需要做的就是预处理。对不同类型的牌的期望是多少。,那么我们最终所求的期望是。种类型,每种类型牌有。......
2022-07-19 19:03:02
338
原创 最大半连通子图(tarjan缩点+拓扑排序+dp最长链)
之间可能存在多条边,所以我们需要另建图,使得两顶点之间只有一条边有向边关联,最终方可统计正确的。显然由于连通分量一定是半连通分量,所以我们可以通过。,否则会重复更新,因为两点之间存在多条边。将连通分量缩成一个点,从而将图转化为。个要求是求最大半连通子图的节点数。......
2022-07-14 23:41:28
289
原创 图论——负环
图论——负环笔记:1: 通用算法:SPFA O(m)O(m)O(m)~O(nm)O(nm)O(nm)2: 如何判断负环?有222种方法,第111种是 Bellman-ford 判负环方法,每入队一次相当于更新一次,当入队次数 >=n>=n>=n 时 确定存在负环 ,时间复杂度 O(n2)O(n^2)O(n2) 太慢 。第222种是常用方法时间复杂度是 O(n2)O(n^2)O(n2) 统计每个点所在的最短路中边的条数。一旦边的条数 >=n>=n>=n时说明至少存在
2022-05-18 20:34:05
515
原创 秘密的牛奶运输(次最小生成树)
秘密的牛奶运输(次最小生成树)Link题意:给定nnn个点和mmm条边,求 次最小生成树 的代价。如果两个方案至少有一条边不同,则我们认为是不同方案;费用第二小的方案在数值上一定要严格大于费用最小的方案;答案保证一定有解;方法:1:求最小生成树,统计标记每条边是树边,还是非树边;同时把最小生成树建立出来。2:预处理任意两点间的边权最大值和次大值(可能出现非树边和边权最大值相等情况)。3:依此枚举所有非树边,求min(sum+w+dist[a][b])min(sum+w+dist[a
2022-05-18 16:30:55
346
原创 Codeforces Round #789 (Div. 2) A B1 B2 C D E
Codeforces Round #789 (Div. 2) A B1 B2 C D EA.Tokitsukaze and All Zero Sequence题意: 给你一个长度为nnn的aaa数组,你每次操作可以进行下述两种操作的任意一种,求最小操作数使aaa数组所有数变成000:如果222个数相同,可以使其中一个数变成000。设两个数为aaa和bbb,可以使其中一个数变成min(a,b)min(a,b)min(a,b)。思路: 分类讨论,如果存在000,那么最小操作数即非000的个数。 如
2022-05-10 16:37:46
318
原创 Codeforces Round #788 (Div. 2) A B C D E
Codeforces Round #788 (Div. 2) A B C D E打的好 ** 烂总结一下把。A.Prof. Slim解法: 贪心,统计正负符号,因为每个位上的数只能是其绝对值的正负形式,所以让所有负号出现在左边,正号出现在右边。 此时已经是最优形式,如果还是出现后一项小于前一项那么答案是NO。代码:#include<bits/stdc++.h>using namespace std;#define int long longconst int N = 1e5+10
2022-05-07 20:43:56
740
原创 Codeforces Round #787 (Div. 3) F. Vlad and Unfinished Business
F. Vlad and Unfinished BusinessLink题意: 给你一棵树,里面遍布几个任务点和一个目的地,求从出发点开始最短通过所有任务点最终到达目的地的最小步数。思路: 记录从xxx开始到达目的地yyy的深度,并且把yyy点也当个任务点,统计所有任务点沿径距离到出发点xxx的距离和。最终再特殊处理yyy,因为不用回到xxx点,所以我们减去yyy的深度即可,使用DFS实现。代码:#include<bits/stdc++.h>using namespace std;#
2022-05-06 21:38:14
448
原创 Codeforces Round #785 (Div. 2) D. Lost Arithmetic Progression
Codeforces Round #785 (Div. 2) D. Lost Arithmetic Progression题意: 给出b,cb,cb,c两个等差数列数组,输入的333个数据分别是开始位置ststst,等差数ddd和数组长度lenlenlen,数组ccc是数组a∩ba∩ba∩b部分,让我们通过数组bbb和ccc恢复数组aaa,求在满足bbb和ccc前提下aaa数组能构造的数量,如果无解输出 000 ,如果无穷多解输出 −1-1−1 。思路: 首先我们得判断什么情况下是无解的什么情况下是无
2022-05-05 16:29:56
287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人