
数位DP
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
密信与计数 CCF-CSP202009
http://118.190.20.162/view.page?gpid=T109当时把这题写完调了一万年,没时间搞第4题了ac自动机维护数位DP转移注意要fail链要预处理成sqrt(n)转移,详见https://codeforces.com/contest/1437/problem/G的题解#include<bits/stdc++.h>using namespace std;const int maxl=1002;const int mod=998244353;原创 2021-04-06 01:30:49 · 522 阅读 · 0 评论 -
AtCoder Beginner Contest 194 F - Digits Paradise in Hexadecimal
https://atcoder.jp/contests/abc194/tasks/abc194_f太菜了又碰到不会的数位DP题了这题的关键是我们并不用在dp数组中存下当前已经用了哪些数字只要令dp[pos][cnt][up][lead]=dp[枚举到哪一位了][有几个不同的数字][是否顶着上界][前面是否有非零位了]只要其中pos,up,lead,对了,那么对于不同的st有相同的cnt,他们的答案是一样的,所以具体的st并不需要存到dp里面,只需要存位数就行了#include<b原创 2021-03-10 00:20:35 · 319 阅读 · 0 评论 -
2020上海ICPC现场赛 C Sum of Log
https://ac.nowcoder.com/acm/contest/9925/C今天我们队配合问题极大。。。这道前期数位DP给数学队友在看他半天不会写,然后我这个数学辣鸡wa了一年D。。。交换一下两个题感觉能少2小时罚时。。。这题意思就是 i,j 随便选,不超过X,Y,然后i,j二进制上不能有相同的位都是1,然后一个数字的贡献就是他二进制上的最高位的1是哪一位+1就行了那么就是个简单数位DP,由于贡献仅与最高位有关,我们dp只要算数量就行了,然后用全局变量来计算答案dp[k][fmx][原创 2020-12-17 21:37:16 · 530 阅读 · 0 评论 -
D - Meaningless Sequence 2020CCPC长春
a_t=c^(pop_count*(t))傻逼数位DP,这题我竟然写了半小时?身败名裂#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3010;const int mod=1e9+7;int n,c;ll ans;ll dp[maxl][2];char s[maxl];inline void prework(){ scanf("%s",s+1); n原创 2020-11-08 22:22:06 · 319 阅读 · 1 评论 -
hdu6899 Xor 2020ccpc网络赛
http://acm.hdu.edu.cn/showproblem.php?pid=6899比赛的时候死磕了两个小时,想得都是上次在哪少了1,然后这次进位要进到哪个位置。。。然而越写越乱,0406都没看据说是个old题,cometoj和以前dls出过的题都有对|x-y|的讨论,就是把上一位传向下一位的当成0 1 2,这样就可以保证减法的进位了。详见这题题解感谢hduoj提供admin账号,去比赛ac代码里学习了一下#include<bits/stdc++.h>using na原创 2020-09-21 22:33:01 · 1138 阅读 · 0 评论 -
gym102452J Junior Mathematician 2019ICPC 香港
https://codeforces.com/gym/102452/problem/J#include<bits/stdc++.h>using namespace std;typedef long long ll; const int maxl=5e3+10;const int mod=1e9+7; int llen,rlen,m,len,mt;ll ans;int a[maxl];ll dp[maxl][61][61][2];int clk[maxl][61][61原创 2020-09-06 21:39:40 · 402 阅读 · 0 评论 -
Harmony Pairs 2020牛客暑期多校训练营(第六场)
https://ac.nowcoder.com/acm/contest/5671/H第一版只有我们队没过H。。。。我们只会分情况讨论,a的位数小于b的位数的时候求个方案数,a的位数等于b的位数的时候数位dp求方案数,队友调了快一个多小时,赛后过了。。。然而直接在一个dfs里面枚举b<=n和a<=b的大小关系,然后枚举差值,巨简单。。f[k][sum][fb][fa]表示现在枚举到第k位,S(B)-S(A)+1000=sum,fb==1为前k位于n相等,0为已经<n,fa==原创 2020-07-27 20:57:52 · 195 阅读 · 0 评论 -
Gym 100543F Vocabulary CERC2014
https://codeforces.com/gym/100543/attachments这题比赛上写了1个半小时,300行,还好是过了,不然能气死看上去就一眼数位DP,然后枚举到当前位置的字符串可以有3中形式,a=b=c,a<b=c,a=b<c,a<b<c然后我就写了个笨比数位DP,dfs(l,r,k)表示当前l-r是相等的,枚举到第k位的方案数然后笨比地...原创 2020-05-04 11:59:53 · 311 阅读 · 0 评论 -
H pair 2019牛客多校第七场
传送门:https://ac.nowcoder.com/acm/contest/887/H这题一直忘了补。。。今天没比赛刚好补了比赛的时候看见以为是撒高级数论计数题,然而怎么过了这么多人,最后没想到是数位DP。我们知道对于位运算来说,当高位& >C 或者 高位^ <C,那么就一定能被算进答案里了。所以从高位开始数位dpdp[pos][dc][xc][sta]...原创 2019-08-16 17:02:06 · 286 阅读 · 0 评论 -
hdu6644 11 Dimensions杭电多校第6场
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6644比赛的时候看到这题以为是水题,然后发现有q组询问。。。。数位DP预处理之后一次询问应该是O(n)的吧,除非倍增去求logn?完了这怎么倍增啊,每个位置可以选9个数字,都不是线性的怎么倍增卧槽,然后这题最后竟然过了64个。。。是我太菜赛后看claris的题解发现果然是倍增,但是实在看不懂轻...原创 2019-08-09 16:35:24 · 371 阅读 · 0 评论