数位dp
文章平均质量分 86
蜗角虚名羊
这个作者很懒,什么都没留下…
展开
-
湖北省赛2022H.Hamster and Multiplication
由于不知道怎么想的,认为只能从某个状态更新之后的状态,而不能每次用之前状态计算当前状态,所以dfs就不成立了(某个节点更新多次后才是最优的,根本不知道什么时候才能拿来更新别的点),于是我就采用了bfs,在实现时发现会爆内存,采用了滚动数组优化。我当时就试了一个9,拆成两个3,结果爆了,以为是错误的,后来才知道是我这么做的话,3可能有36个,而我当作18在做。(注意到有贡献的数肯定不存在某位是0,且1不影响乘积,其实这里就可以看出我这个定义可以改改),的值,但这样的话两个无关的状态也能转化了,故不可。原创 2023-04-13 16:53:01 · 421 阅读 · 0 评论 -
bzoj4513: [Sdoi2016]储能表
题目题解:f[i][0/1][0/1][0/1] 表示从高到低第i位,是否到n的上界,是否到m的上界,当前异或结果是否到k的下界 对于每个状态记录合法方案数和所有合法i,j的异或和,最后把k的那些减去即可 摘自洛谷Fizzmy的题解标程:#include<bits/stdc++.h>using namespace std;typedef long lon...原创 2018-04-26 19:53:31 · 217 阅读 · 0 评论 -
数位dp(记忆化和循环两种写法都有)
Beautiful numbers//https://www.cnblogs.com/xcw0754/p/4854539.html#include<bits/stdc++.h>using namespace std;typedef long long ll;const int M=2520;int p[49]={0,1,2,3,4,5,6,7,8,9,10,12,14...原创 2018-05-17 23:03:20 · 253 阅读 · 0 评论 -
51nod 1310 Chandrima and XOR
题目 题解#include<bits/stdc++.h>using namespace std;const int M=1e9+7,mxf=88;typedef long long ll;int n,l,r,mid,mx,i,XOR[mxf];ll fi[mxf],pw[mxf],x,ans;inline char gc(){ static char bu...转载 2018-06-15 14:12:45 · 126 阅读 · 0 评论 -
洛谷P1590 失踪的7/hdu4278Faulty Odometer
洛谷P1590 失踪的7 hdu4278Faulty Odometer1.数位dpf[i][0/1]f[i][0/1]f[i][0/1] 表示前i位有没有出现7的方案数 用nnn减一下即为答案#include<bits/stdc++.h>using namespace std;typedef long long ll;int T,d[12],f[12][2];l...原创 2018-08-04 16:01:24 · 489 阅读 · 0 评论 -
51nod1385 凑数字
题目 题解Solution这个题,其实就是和数位 dp 相似,分为满状态和非满状态来考虑,什么叫满状态呢?就拿 212121 来说吧,当最高位为00 0、111 的时候,所表示的数为分别为 0∼90∼90∼9 和10∼1910∼19 10∼19,这叫做满,而如果是 2 开头,那么就只需要表示20∼2120∼21 20∼21,这叫非满。 于是乎,对于满状态,你无可抗拒的需要对应的每一位都...转载 2018-08-14 14:48:51 · 173 阅读 · 0 评论