
训练赛题解
文章平均质量分 77
ACM算法训练赛总结
Juice_Candy
此人很勤快,什么都写了
展开
-
Divide by Zero 2021 and Codeforces Round #714 (Div. 2) 训练赛题解
C. Add One 传送门 题意:给定一个整数n,每次对这个数进行逐位加1的操作,问进行m次这样的操作后,这个整数的长度是多少。 思路:我们可以发现,每次操作的进位或不进位,都是由操作前的数的每位的值来决定的(任意一位加一前,小于9不进位,等于9进位)。既操作后的数是由操作前的数的状态转移而来的,所以这道题的关键解法就是dp。 由于整数n的每位的操作是彼此独立的,所以我们把每位进行m的操作的长度求出来,最后全部求和即可。那么现在就只剩下一个问题:如何dp。 我们发现,对整数逐位分解后,每个数都是一个个位数原创 2021-04-12 19:36:22 · 297 阅读 · 0 评论 -
AtCoder Regular Contest 113训练赛(暴力,快速幂,贪心)
ARC 113 传送门 A. A×B×C https://atcoder.jp/contests/arc113/tasks/arc113_a 题意 给定一个正整数K,求出正整数排列(A,B,C),使A×B×C ≤ K,的组合个数。 思路 暴力,枚举A、B,求C的个数。 #include<iostream> #include<algorithm> #include<cstdio> #include<cstdlib> #include<cmath> #原创 2021-02-22 12:21:37 · 2272 阅读 · 7 评论 -
Codeforces Round #696 (Div. 2)
训练赛题解 A. Puzzle From the Future (思维+水题)传送门 思路:b字符串每位只能+1或+0,而且不能使得相邻位的数据相同(因为相同会被看成一个位的数例如:1111=1,0110=00),所以从最高位开始进行+1操作,若操作后与前一位相同则+0,最后连续输出加上的1,0序列即可。 例子: 6 111000 最高位+1 → 211000 ;次高位+1 → 221000 → 21000(与前一位相同,变小了,改为+0)→ 211000;依次向后。 AC代码: #include<原创 2021-01-21 18:14:09 · 168 阅读 · 0 评论