随笔分类 -  寒训补题

摘要:CodeForces - 1213G Path Queries 题解:并查集+思维 现在给你由许多边组成的树,离线询问路径最大权重不超过$w^i$的路径数量 我们不一定要在树上找,我们可以通过他询问的$w^i$,去一步步构建树,先按照边权排序,比如说w=1,我们就把所有权值为1的边构建出来,然后路径 阅读全文
posted @ 2023-01-08 23:56 Zeoy_kkk 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Gym - 102770I 题解:并查集+离散化+map 首先题目确保每双袜子都是成对的,我们很容易发现袜子之间存在限制条件比如 1 2 2 3 1 3 所以我们往建图方面想,这样每一个关系都代表了一个连通块,我们只要找到哪个连通块里面点数最多不就好了,点数我们可以用map,或者szp数组来求,但是 阅读全文
posted @ 2023-01-08 23:07 Zeoy_kkk 阅读(24) 评论(0) 推荐(0) 编辑
摘要:POJ - 1182 食物链 题解:种族并查集 引理:对于普通的并查集,我们总是用来查找和维护每个元素之间的同类关系,而种族并查集总是用来解决一些存在对立关系,而且对象的关系存在传递性和循环性,比如食物链:A->B,B->C,C->A,或者说敌人的敌人是朋友,朋友的朋友是朋友这些关系,我们可以开多个 阅读全文
posted @ 2023-01-08 22:48 Zeoy_kkk 阅读(34) 评论(0) 推荐(0) 编辑
摘要:OpenJ_Bailian - 1751 题解:最小生成树问题,Kruskal算法 已经帮你建好的边就不用再建了,直接合并,当然我们这一题需要将给的坐标转化成边的,然后我们如何输出建哪几条路呢?我们知道我们合并的时候其实就是建路的过程,所有我们可以修改一下merge函数,增加一维参数op,代表是否输 阅读全文
posted @ 2023-01-08 22:07 Zeoy_kkk 阅读(16) 评论(0) 推荐(0) 编辑
摘要:CodeForces - 835C Star sky 题解:二维前缀和 二维平面上给你点和坐标,让你求总亮度,很容易想到二维前缀和,但是题目很抽象,又给了你一个时间,就是说,每过一个单位时间,它的亮度会有改变,这该怎么办? 实际上,我们观察发现,一开始初始亮度一样的点,在经历时间t后亮度还是保持一样 阅读全文
posted @ 2023-01-08 18:20 Zeoy_kkk 阅读(23) 评论(0) 推荐(0) 编辑
摘要:CodeForces - 1303D Fill the bag 题解:二进制+思维 首先我们发现这肯定与二进制有关,n的二进制形式肯定有1,所以我们去从低位到高位遍历n的二进制的时候,加入现在这一位是1,那我们肯定想要知道现在有没有这么大的盒子,如果没有这么大的盒子,那我们需要拆更大的盒子,所以我们 阅读全文
posted @ 2023-01-08 18:05 Zeoy_kkk 阅读(17) 评论(0) 推荐(0) 编辑
摘要:CodeForces - 1225C p-binary 题解:二进制 + 思维 由题意得: 让我们求出K的最小值使得$\sum_{i=1}^{k}2^{a^i}+p=n$成立,将式子改变一下形式得到$n-kp=\sum_{i=1}^{k}2^{a^i}$,所以我们可以知道$n-kp$可以由K个$2^ 阅读全文
posted @ 2023-01-08 17:05 Zeoy_kkk 阅读(21) 评论(0) 推荐(0) 编辑
摘要:七的意志 方法1:前缀和+map $O(nlogn)$ 题解:我们先进行前缀和,利用map记录每个前缀和出现的次数,要想区间和为7777,我们只要让$ans+=mp[pre[i]-7777]$即可,因为$pre[j]+7777==pre[i]$就能说明$[j+1,i]$这个区间和为7777 #inc 阅读全文
posted @ 2023-01-06 00:39 Zeoy_kkk 阅读(97) 评论(0) 推荐(0) 编辑
摘要:2023.01.03 HZNU Winter Trainning STL 补题 CodeForces - 4C 题意:给你n个字符串,如果某个字符串出现过,则在这个字符串后面加上1,2,3,4....以此类推 题解:利用map记录某个字符串出现次数,然后利用to_string函数即可 #includ 阅读全文
posted @ 2023-01-05 00:52 Zeoy_kkk 阅读(28) 评论(0) 推荐(0) 编辑
摘要:CodeForces - 1353D Constructing the Array 题目传送门:https://vjudge.net/contest/536385#problem/D 题意:给你一个全是0的数组,用1-n的数将这个数组填满,规则是从左至右筛选出0最多的子序列,然后如果子序列长度是奇数 阅读全文
posted @ 2023-01-01 11:28 Zeoy_kkk 阅读(20) 评论(0) 推荐(0) 编辑
摘要:CodeForces - 1660C 题目传送门:https://vjudge.net/contest/535955#problem/C 题意:询问一个字符串最少删去几个字符,能够把这个字符串变成aabbccdd这种两两相同的字符串 题解:我们来一个样例:aabbdabbdccc,就这个样例我们可以 阅读全文
posted @ 2022-12-29 11:41 Zeoy_kkk 阅读(36) 评论(0) 推荐(0) 编辑