首页 > TAG信息列表 > Divisibility

CF550C Divisibility by Eight

原题链接 题意:给一个数字,要求构造一个数字,只通过删除某些位的数,得到的是能整除 \(8\) 的数字。 题解: 代码: #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 2e5 + 10; int dp[N][9]; struct node { int po

《Divisibility by Eight》

非常好的一个题。 如果不是看到dp的tag,我可能真不会往dp去想。 首先状压去枚举肯定不行,因为最多100位。 经过仔细思考之后我得出了一个dp状态。 dp[i][j][k] - 表示a[i]为第j位且余数为k的值。 在验证过后,我发现这个状态很可做。 然后就开始推了,并不是很难推,但是这里有一个问题,这

[CF988E] Divisibility by 25 - 贪心

[CF988E] Divisibility by 25 - 贪心 Description 给出一个从 1 到 10^18 的整数 n,不包含前导零。在一次移动中,可以交换任意两个相邻数字,使得结果数字不包含前导零。获取可被 25 整除的数字所需的最小移动次数是多少? Solution 就那么几种情况 把 5 冒泡到最后,把 2 冒泡到倒数第二