随笔分类 -  做题记录

摘要:Problem - 1629C - Codeforces 题意: 一个序列,每次可以从开头选择一个长度为K的序列,然后得到这个序列的MEX(最小的未出现的数),问最后可以求得的字典大小最大的序列是多少。 题解: 就是一种暴力的优化,开始时将每个数字出现的次数存储起来,然后从头开始遍历,每读一个数,都 阅读全文
posted @ 2022-07-15 19:41 HHzp 阅读(37) 评论(0) 推荐(0)
摘要:Tasks - AtCoder Beginner Contest 254 D - Together Square 题意: 给定一个N,找出所有不超过N的 ( i , j ),使得( i * j )是一个平方数。 题解: 首先要知道一个数学只是,如果i*j是平方数,那么i*j /(f(i)*f(j)) 阅读全文
posted @ 2022-07-08 20:43 HHzp 阅读(100) 评论(0) 推荐(0)
摘要:Problem - 1625C - Codeforces 题意: 一条马路,有n个限速牌,表示的是从这个限速牌开始到下一个限速牌或者到马路尾的这段距离的速度,你可以拆除其中k个限速牌,问最少的时间是多少。 题解: 线性问题,每个牌拆和不拆两种情况,开始考虑的贪心,但不会。 dp[i][j]表示的是到 阅读全文
posted @ 2022-07-08 20:03 HHzp 阅读(61) 评论(0) 推荐(0)
摘要:Tasks - Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)\ D - At Most 3 (Contestant ver.) 题意: 每次给定一个n,求出一个序列,保证每次可以从序列中选取最多三个数,来构成1-n中 阅读全文
posted @ 2022-07-06 20:32 HHzp 阅读(43) 评论(0) 推荐(0)
摘要:Problem - 1623C - Codeforces 题意: 给出一个序列,从第三个数字开始,你可以让他减少3*d,然后让它的前两个数字,分别加2*d,和d,找出序列中的最小值的最大值。 题解: 找最小值的最大值,二分答案,关键在于check函数 由于每一个数的值都会受后两个数的影响,所以应该从 阅读全文
posted @ 2022-07-05 19:38 HHzp 阅读(39) 评论(0) 推荐(0)
摘要:Problem - 1453B - Codeforces 题意: 一个数组,每次可以选择一个后缀,将其加一或者减一,开始的时候可以免费改变一个数的数值,判断让所有数字相等所需要的最小操作数。 题解: 注意它的操作,每次改变的是一个后缀,不是自己随意选择子区间(开始读错题,一直没看懂.....),首先 阅读全文
posted @ 2022-06-12 16:04 HHzp 阅读(30) 评论(0) 推荐(0)
摘要:C-零一题 题意: 每次可以选择两个相邻且相同的字符,将他们删除,在无数次操作后,字符串的长度变为n,问能否构造出原来的字符串,不能输出-1 题解: 很明显,最后无法再操作时,这个字符串一定是01相交的,由于n是偶数,所以最后一定是0 1各n/2个,然后判断在原有的基础上减去这些,判断0 1的个数符 阅读全文
posted @ 2022-06-08 13:33 HHzp 阅读(88) 评论(0) 推荐(0)
摘要:Problem - 1562B - Codeforces 题意:给定一个字符串,每次操作可以选择这个字符串中的一种字符,将他们全部都减1,最多K次操作,问可以形成的字典大小最小的字符串。 题解:首先我们观察这个字符串,很明显,如果两个字符不相同,我们把大的减小到和小的相等,然后再两个一起减小,就省去 阅读全文
posted @ 2022-06-02 19:45 HHzp 阅读(39) 评论(0) 推荐(0)
摘要:E - Road Reduction (atcoder.jp) 题意:一棵树n个点,m条路, di表示1-i的距离,问怎么选择边可以使得d2+...dn最短。 题解: 很明显,就是直接套最短路板子,判断每一个点的最短路,题目里没有负权值,直接dijkstra就可以了。边如何记录,与每个点相连的那个最 阅读全文
posted @ 2022-06-01 12:07 HHzp 阅读(68) 评论(0) 推荐(0)
摘要:数的和与积 https://ac.nowcoder.com/acm/contest/34330/C 思路: 2和4是不可以的,除了3意外其他的都可以用三项解决,其中一项为1,剩余两项分别设为x,y. sum=x+y+1+x*y。可以化简成sum=(x+1)(y+1)。 前n项的和为n(n+1)/2, 阅读全文
posted @ 2022-05-31 16:29 HHzp 阅读(27) 评论(0) 推荐(0)
摘要:链接:Problem - 1551B2 - Codeforces 题意:有m个颜色,要求每种颜色内的数字各不相同,问,颜色的最大长度多少。 题解: 判断每个数字的个数,如果大于m,那么最大长度就加一,不大于就都加到一起,看看最后能凑几对。 #include<bits/stdc++.h> using 阅读全文
posted @ 2022-05-30 21:56 HHzp 阅读(55) 评论(0) 推荐(0)
摘要:D - Distinct Trio 题意:求三个数个各不相同的数目。 题解:正面考虑比较困难,可以反向思考,在总值上减去不符合的即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, 阅读全文
posted @ 2022-05-26 21:26 HHzp 阅读(84) 评论(0) 推荐(0)
摘要:Problem - 1684C - Codeforces 题意: 现在有一个n*m的棋盘,每个棋子有一个值,你可以交换两列棋盘的棋子位置,使得每一行的棋子从左到右为非递减。 题解: 只需要判断一行不满足的即可,因为如果最后有答案,那么每一行的交换一定是相同的,所以判断一行即可。分两种情况,连续两个递 阅读全文
posted @ 2022-05-26 15:24 HHzp 阅读(100) 评论(0) 推荐(0)
摘要:Problem - 1679C - Codeforces 题意:当t=1加入一个点,每个点可以影响一行和一列,t=2删除某个点,t=3判断这个矩形内的每个点是否都可以影响。 思路:开始时直接暴力,T了,然后看了看题解,学习了一波树状数组 Orz。 #include<bits/stdc++.h> us 阅读全文
posted @ 2022-05-20 21:44 HHzp 阅读(39) 评论(0) 推荐(0)
摘要:题意:每次可以选择一条路径,要求这条路径中每个点都是上一个点的子节点,求最少需要几条路径将所有点走完 思路:将每个点有没有子节点判断出来,因为只有没有子节点的点需要新增一条路,所以需要路径的最小数目就是没有子节点的节点个数,从每个根节点出发,深搜一遍即可。 注意:可以开临时vector来节约时间。 阅读全文
posted @ 2022-05-19 09:09 HHzp 阅读(60) 评论(0) 推荐(0)
摘要:C - Magical Rearrangement 题意 :给出0-9每个数字的使用次数,拼出最小的数字。 要求:全部用完,不能有前导零(0除外),相邻的两个数字不相同。 题解:贪心,开始没想明白什么时候输出最大的,什么时候按照最小的输出,看了看大佬的题解懂了,开始的时候,判断出现次数最多的数字ma 阅读全文
posted @ 2022-05-02 21:17 HHzp 阅读(223) 评论(0) 推荐(1)
摘要:B - Destruction 最小生成树模板题,注意负权值的边不要加入。 #include<iostream> #include<algorithm> #include<string.h> #include<string> #include<map> #include<vector> #inclu 阅读全文
posted @ 2022-04-30 10:55 HHzp 阅读(41) 评论(0) 推荐(1)