
【算法】数位DP
文章平均质量分 89
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ4851】【JSOI2016】位运算
【题目链接】点击打开链接【思路要点】问题要求所有数互不相同,不妨规定\(A_1<A_2<...<A_N\)。按照数位DP的思路,从高位向低位DP,记录一个\(N\)位的二进制状态,其中第\(i(i<N)\)位表示到目前为止\(A_i\)是否等于\(A_{i+1}\),第\(N\)位表示到目前为止\(A_N\)是否等于\(R\)。转移时枚举当前位所有数的取值。这个DP在0和1...原创 2018-04-12 14:54:26 · 687 阅读 · 0 评论 -
【LOJ3074】「2019 集训队互测 Day 3」操作序列计数
【题目链接】点击打开链接【思路要点】考虑计算 222 号操作不超过 iii 次的方案数。它应当等于 222 个 k0k^0k0 的倍数、 111 个 k1k^1k1 的倍数、 111 个 k2k^2k2 的倍数、……、 111 个 kik^iki 的倍数总和为 NNN 的方案数,从高位向低位 dpdpdp ,那么第 jjj 位可以填数的位置数应当为 min{i,j}+2min\...原创 2019-05-03 16:33:30 · 953 阅读 · 0 评论 -
【CodeForces】Hello 2019 (Div. 1 + Div. 2) 题解
【比赛链接】点击打开连接【题解链接】点击打开链接**【A】**Gennady and a Card Game【思路要点】按照题意模拟。时间复杂度 O(1)O(1)O(1) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5;typedef lo...原创 2019-01-09 13:01:13 · 957 阅读 · 2 评论 -
【省内训练2018-10-26】网友数
【思路要点】首先,当 k≥9k≥9k≥9 ,任何 ≥28≥28≥28 的数 xxx 均为网友数。 (1)(1)(1)(1)(1)(1) 的证明:当 x≤1000x≤1000x≤1000 ,我们可以暴力验证命题的正确性。否则,考虑 xxx 的末位,我们可以用 999 个 444 或是 777 造出 000 至 999 以内的任何末位,这样,我们可以在 xxx 中将造出的数减去, xxx ...原创 2018-10-26 19:25:52 · 394 阅读 · 0 评论 -
【CodeForces】CodeForces Round #400 (Div. 1 + Div. 2) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**A Serial Killer【思路要点】 维护两个字符串模拟。 时间复杂度O(N)O(N)O(N)。 【代码】 #include&lt;bits/stdc++.h&gt;using namespace std;const int M...原创 2018-08-02 18:22:36 · 360 阅读 · 0 评论 -
【CodeForces】CodeForces Round #402 (Div. 1) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**String Game【思路要点】 显然可以二分答案。 然后判定ppp是否为删减后的ttt的子序列即可。 时间复杂度O(NLogN)O(NLogN)O(NLogN)。 【代码】 #include&lt;bits/stdc++.h&gt;...原创 2018-08-04 20:01:51 · 282 阅读 · 0 评论 -
【BZOJ3530】【SDOI2014】数数
【题目链接】点击打开链接【思路要点】对模式串建立AC自动机,在上面数位DP即可。注意模式串可能包含前导零。时间复杂度\(O(N*L)\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2005;const int P = 1e9 + 7;template <typename T> vo...原创 2018-05-23 11:20:04 · 228 阅读 · 0 评论