随笔分类 -  dp -- 数位dp

摘要:链接 : C. Moamen and XOR 题意 : 给定 \(n\) 个数和 \(k\), 保证每个数 \(a_i\lt 2^k\), 问使得 \(a_1 \ \&\ a_2\ \&\ a_3\ \&\ ...\ \&\ a_n \ge a_1 \oplus a_2 \oplus a_3 \op 阅读全文
posted @ 2021-08-10 18:54 phr2000 阅读(102) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/1513/problem/C dp $f[i][j]:$表示当前数位上为i(0~9), 加法次数为j最终形成的数位. f[i][j] = f[i - 1][j + 1]; f[9][j] = f[1][j + 1] + f[0][j + 1 阅读全文
posted @ 2021-04-12 18:37 phr2000 阅读(155) 评论(1) 推荐(0)
摘要:https://www.acwing.com/problem/content/1086/ \(cpp负数的取模:(-a)\%b (a\%b)\) 状态表示 \(f[i][j][x]:有i位最高位位j且所有位之和对p取模的值为x\) 状态计算 \(f[i][j][x]+=f[i-1][k][mod(x 阅读全文
posted @ 2021-02-02 20:34 phr2000 阅读(59) 评论(0) 推荐(0)
摘要:https://www.acwing.com/problem/content/1085/ \(此题需要注意的是要去前导零, 前面2道题可以直接把不足n位的数看成补上前导零的数, 这样做处理起来很方便, 但是此题不行.\) $本题如果也把不足n位的数看成补上前导零去算, last的更新会出现问题导致循 阅读全文
posted @ 2021-02-02 16:02 phr2000 阅读(54) 评论(0) 推荐(0)
摘要:https://www.acwing.com/problem/content/1084/ \(f[i][j]:有i位且最高位为j的不增数.\) #include <bits/stdc++.h> using namespace std; #define IO ios::sync_with_stdio( 阅读全文
posted @ 2021-02-02 02:10 phr2000 阅读(50) 评论(0) 推荐(0)
摘要:https://www.acwing.com/problem/content/1083/ 思路 这个题相当于把一个数字转化为$b$进制, 然后去看小于等于它的数中有多少个在$b$进制下, 有$k$个$1$且其他位全部为0. \(对于每一位x, 左边的分支为该位取0到x-1,首先该位可取0,然后有两种 阅读全文
posted @ 2021-02-02 01:17 phr2000 阅读(102) 评论(0) 推荐(0)