P2657 [SCOI2009]windy数
时间:2019-11-12
本文章向大家介绍P2657 [SCOI2009]windy数,主要包括P2657 [SCOI2009]windy数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
注意此类要处理前导零的数位DP题,因为如果前面全是0,这一位可以填0和1。
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int dp[20][20],num[20]; inline int dfs(int now,int pre,bool limit) { if(now==0) return 1; if(dp[now][pre]!=-1&&!limit) return dp[now][pre]; int ans=0,up=9; if(limit) up=num[now]; for(register int i=0;i<=up;++i) { if((abs(i-pre))<2) continue; if(i==0&&pre==-10) ans+=dfs(now-1,-10,limit&&(i==num[now])); else ans+=dfs(now-1,i,limit&&(i==num[now])); } if(!limit) dp[now][pre]=ans; return ans; } inline int solve(int k) { memset(dp,-1,sizeof(dp)); int pos=0; while(k>0) { num[++pos]=k%10; k/=10; } return dfs(pos,-10,true); } int main() { int x,y; scanf("%d%d",&x,&y); printf("%d\n",solve(y)-solve(x-1)); return 0; }
原文地址:https://www.cnblogs.com/Hoyoak/p/11840144.html
- 协议森林16 小美的桌号(DHCP协议)
- struts2(一)之初识struts2
- AI聊天机器人备受青睐 专家呼吁少卖萌
- CQRS框架:AxonFramework 之 Hello World
- Kubernetes的服务网格(第4部分):通过流量切换持续部署
- TortoiseGit安装与配置
- mongodb 速成笔记
- oAuth 2.0 笔记
- JavaScript内置对象--Math对象
- oAuth 2.0 笔记
- common-pool2 学习:thrift连接池的另一种实现
- IntelliJ IDEA 17和Maven构建javaWeb项目
- spring-boot 速成(2) devtools之热部署及LiveReload
- spring-boot 速成(2) devtools之热部署及LiveReload
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- LinkedList - 203. Remove Linked List Elements
- LinkedList - 83. Remove Duplicates from Sorted List
- LinkedList - 19. Remove Nth Node From End of List
- LinkedList - 92. Reverse Linked List II
- LinkedList - 328. Odd Even Linked List
- LinkedList - 25. Reverse Nodes in k-Group
- LinkedList - 24. Swap Nodes in Pairs
- LinkedList - 141. Linked List Cycle
- LinkedList - 206. Reverse Linked List
- Array - 188. Best Time to Buy and Sell Stock IV
- Tree - 112. Path Sum
- 首个无tricks的情况下将ResNet-50提高到80%+!CMU开源MEAL V2
- Tree - 257. Binary Tree Paths
- Tree - 226. Invert Binary Tree
- Tree - 101. Symmetric Tree