数位dp
growing_up_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数位dp 模板 poj 2089
#include#define ll long longusing namespace std;int n;int m;int dp[20][10];int a[20];int dfs(int pos,int pre,int state,bool limit){ if(pos==-1)return 1; if(!limit&&dp[pos][state]!=-1)r原创 2017-10-26 09:04:33 · 405 阅读 · 0 评论 -
hdu4734
int dp[20][10005];int digit[20];int getvalue(int a){ int i=0; int ans=0; while(a){ ans=ans+((a%10)*(1<<i)); i++; a/=10; } return ans;}int dfs(int pos,原创 2017-10-26 09:05:19 · 377 阅读 · 0 评论 -
poj3252注意前导0的影响
#include#define ll long longusing namespace std;int n,m;int dp[50][50];//dp[i][j]表示枚举到第i位,前面0的个数和1的个数差,为了防止中间出现dp[i][j]为负数但有可能是合法结果,此处hash一下,dp[i][j]+32//最后判断结果是否>=32判断该方案是否合法int digit[50];int原创 2017-10-26 09:07:02 · 272 阅读 · 0 评论 -
hdu3709 枚举
#include#define ll long longusing namespace std;ll m,n;ll dp[20][2005][20];int digit[20];ll dfs(int pos,int state,int pivot,bool limit){ if(pos<=0)return state==0; if(state<0)return 0;原创 2017-10-26 09:09:37 · 212 阅读 · 0 评论
分享