数位DP
文章平均质量分 57
星辰大少主
重庆oier
展开
-
BZOJ 3131: [Sdoi2013]淘金(浅谈数位DP高维处理方法不同的原因)
题目原题链接 给定n*n的方格,每个点(i,j)会为点(f(i),f(j))带来一个权值,其中f(i)表示i在十进制下各位数字之积,求最大K个权值的和对1e9+7取模。 其中n达到1e12,k达到1e5分析哎呀妈卡了我好久。。。 以为自己不会数位DP,就不肯好好查错,就发现明明是代码的问题。f(i)的值不是很多,可以用2,3,5,7打表打出来,但是我选择直接用1~9的递归...原创 2018-03-14 20:56:25 · 485 阅读 · 0 评论 -
BZOJ 3530: [Sdoi2014]数数 (关于记忆化哪些元素的选择)
题目原题链接 求<=n的正整数中,有多少个元素不含串s0~sm logn<=1200,m<=100,串的长度和<=1200分析一个数位DP,加上AC自动机来判断是否可以选择。 注意要用到AC自动机的last数组。 注意讨论前导零的情况,不要想着在边界上动手脚。记忆化的选择。关于记忆的问题,因为这道题大多数情况是没有限制以及可以包含0的,所...原创 2018-03-15 09:33:21 · 268 阅读 · 3 评论 -
HDU 3709 Balanced Number (数位DP)
题意: 原题链接 一个数,如果能找到一个支点,使得这个树左右两边平衡(按照力矩计算),问[l,r]有多少,范围1e18劳资终于会写出个数位DP了喵呜呜呜!!!f(i,j,k)表示i位数,支点j,两边和位k(左边力为正,右边为负) 枚举j,注意减去0的情况,因为0是唯一一个可以变支点依然成立的数可以用宏定义平移下标,当然也可以利用技巧左正右负使得一旦变成负数就退出。代码:...原创 2018-03-13 19:33:38 · 427 阅读 · 1 评论 -
BZOJ 3329: Xorequ
题目原题链接 有这样一类数,x^(3x)=2x 求n之内有多少个x以及2^n之内有多少个x,第二问要mod x可达1e18分析变形: x^(2x)=3x x^(2x)=x+2x 说明在这里^运算和+运算等价,有2x=x<<1,可以推出只有每位元素都和前一位元素不同时为1才满足这个条件。第一问数位DP第二问由当前选择0,则后一位随便选,当前选择1,则后...原创 2018-03-13 20:22:31 · 195 阅读 · 0 评论 -
BZOJ 4513: [Sdoi2016]储能表(记忆化搜索)
题目原题链接 格子(i,j)的大小是max(i^j-k,0),求一个前缀矩阵mod p(动态给出)的值,范围可达1e18,5000组询问。分析网上搜题解,握草,只写一个状态!? 网上搜代码,握草,全是填表法!?还有什么叫直接DP就好了,小生完全不会啊啊啊啊啊!!!!还有这道题好像可以找规律,然后我数位DP分析着分析着就变成找规律了,而且还很疑惑觉得为什么和周围的小伙伴不...原创 2018-03-14 15:10:16 · 301 阅读 · 0 评论