热门搜索: 个人免签支付 素材网站源码 图片素材站源码 游戏源码 js广告 jquery选项卡 jQuery导航
2021-05-20 02:27
标签:Fix iostream memset 数字 bool out include 个数 abs 题目 Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 两个整数,A B。 Output 一个整数,表示A~B中有多少个windy数。 Sample Input 1 10 Sample Output 9 Data Constraint Hint 100%的数据,满足 1 分析 数位DP板子题 代码 1 #include 2 #include 3 #include 4 using namespace std; 5 int e[10001],cnt; 6 long long f[12][12][2][2]; 7 long long dp(int pos,int pre,bool zero,bool lim) 8 { 9 if (pos1) return 1; 10 if (f[pos][pre][zero][lim]!=-1) return f[pos][pre][zero][lim]; 11 int end=lim?e[pos]:9; 12 int ans=0; 13 for (int i=0;i) 14 { 15 if (abs(i-pre)>=2||zero) 16 { 17 ans+=dp(pos-1,i,zero&&(i==0),lim&&(i==end)); 18 } 19 } 20 return f[pos][pre][zero][lim]=ans; 21 } 22 long long calc(int x) 23 { 24 memset(f,-1,sizeof(f)); 25 memset(e,0,sizeof(e)); 26 cnt=0; 27 while (x) e[++cnt]=x%10,x/=10; 28 return dp(cnt,0,1,1); 29 } 30 int main () 31 { 32 int a,b; 33 cin>>a>>b; 34 cout1); 35 } JZOJ 1039. 【SCOI2009】windy数 标签:Fix iostream memset 数字 bool out include 个数 abs 原文地址:https://www.cnblogs.com/zjzjzj/p/11330411.html
标签:Fix iostream memset 数字 bool out include 个数 abs
1 10
9
1 #include 2 #include 3 #include 4 using namespace std; 5 int e[10001],cnt; 6 long long f[12][12][2][2]; 7 long long dp(int pos,int pre,bool zero,bool lim) 8 { 9 if (pos1) return 1; 10 if (f[pos][pre][zero][lim]!=-1) return f[pos][pre][zero][lim]; 11 int end=lim?e[pos]:9; 12 int ans=0; 13 for (int i=0;i) 14 { 15 if (abs(i-pre)>=2||zero) 16 { 17 ans+=dp(pos-1,i,zero&&(i==0),lim&&(i==end)); 18 } 19 } 20 return f[pos][pre][zero][lim]=ans; 21 } 22 long long calc(int x) 23 { 24 memset(f,-1,sizeof(f)); 25 memset(e,0,sizeof(e)); 26 cnt=0; 27 while (x) e[++cnt]=x%10,x/=10; 28 return dp(cnt,0,1,1); 29 } 30 int main () 31 { 32 int a,b; 33 cin>>a>>b; 34 cout1); 35 }
JZOJ 1039. 【SCOI2009】windy数
原文地址:https://www.cnblogs.com/zjzjzj/p/11330411.html
上一篇:教训 Mac下装windows系统 失败后 磁盘空间丢失
下一篇:WDS自动部署服务实操——为裸机实操安装Win10