博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu P2657 [SCOI2009]windy数——数位dp
阅读量:5214 次
发布时间:2019-06-14

本文共 806 字,大约阅读时间需要 2 分钟。

#include
#include
#include
#include
using namespace std;int a,b,shu[15],dp[15][10][2];inline int windy(int len,int last,bool limit,bool have){ if(len==0)return 1; if(!limit&&dp[len][last][have])return dp[len][last][have]; int maxi=limit?shu[len]:9,ans=0; for(int i=0;i<=maxi;i++){ if(have&&abs(i-last)<2)continue; ans+=windy(len-1,i,limit&&i==maxi,have||i); } if(!limit)dp[len][last][have]=ans; return ans;}inline int solve(int x){ memset(shu,0,sizeof(shu)); int tot=0; while(x){ shu[++tot]=x%10; x/=10; } return windy(tot,0,true,false);}int main(){ scanf("%d%d",&a,&b); printf("%d\n",solve(b)-solve(a-1));}

注意有绝对值

转载于:https://www.cnblogs.com/Y15BeTa/p/11300916.html

你可能感兴趣的文章
mvn打包源码的方法:maven-source-plugin
查看>>
Nginx keepalived实现高可用负载均衡详细配置步骤
查看>>
ES6:export default 和 export 区别
查看>>
01爬取豆瓣网电影数据进行numpy的练习
查看>>
WSDL测试webservice接口记录
查看>>
多线程分批处理集合中的元素【我】
查看>>
独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...
查看>>
react + dva + ant架构后台管理系统(一)
查看>>
[转]ASP数组全集,多维数组和一维数组
查看>>
我的中兴五年:加班为何成了底层员工心中永远的痛
查看>>
git学习
查看>>
C# winform DataGridView 常见属性
查看>>
逻辑运算和while循环.
查看>>
Nhiberate (一)
查看>>
c#后台计算2个日期之间的天数差
查看>>
安卓开发中遇到的小问题
查看>>
ARTS打卡第3周
查看>>
HDU 2189 悼念512汶川大地震遇难同胞――来生一起走 --生成函数
查看>>
js知识梳理3:创建对象的模式探究
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>