1026: [SCOI2009]windy数
来源:互联网 发布:maka h5制作软件下载 编辑:程序博客网 时间:2024/05/17 08:00
题目链接
题目大意:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 求[l,r]中的windy数
题解:数位dp。套板子魔改一下就好了……
我的收获:第……第一题!
#include <iostream>#include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int M=12;int l,r;int f[M][M]; int bit[M];inline int ass(int x){return x>0?x:-x;}int dfs(int x,int s,bool z,bool e){ if(x==0) return 1; if(!z&&!e&&f[x][s]!=-1) return f[x][s]; int ans=0,u=e?bit[x]:9; for(int i=0;i<=u;i++){ if(!z&&ass(i-s)<2) continue; ans+=dfs(x-1,i,z&&!i,e&&(i==u)); } return !z&&!e?f[x][s]=ans:ans;}int solve(int x){ int len=0; while(x) bit[++len]=x%10,x/=10; return dfs(len,0,1,1);}void work(){ printf("%d\n",solve(r)-solve(l-1));}void init(){ memset(f,-1,sizeof(f)); cin>>l>>r;}int main() { init(); work(); return 0;}
0 0
- 1026: [SCOI2009]windy数
- 1026: [SCOI2009]windy数
- 1026: [SCOI2009]windy数
- 1026: [SCOI2009]windy数
- 1026: [SCOI2009]windy数
- BZOJ 1026: [SCOI2009]windy数
- 【bzoj】1026: [SCOI2009]windy数
- [BZOJ]1026: [SCOI2009]windy数
- 【BZOJ】1026 [SCOI2009] windy数
- BZOJ 1026 [SCOI2009] windy数
- BZOJ 1026 [SCOI2009]windy数
- [bzoj]1026: [SCOI2009]windy数
- BZOJ 1026 [SCOI2009]windy数
- [BZOJ]1026 [SCOI2009] windy数
- BZOJ 1026 [SCOI2009]windy数
- bzoj 1026 [SCOI2009]windy数
- BZOJ 1026 1026: [SCOI2009]windy数
- bzoj 1026 [SCOI2009]windy数 题解
- 算法基础篇(5)------最短路
- pat-top 1016. Uniqueness of MST (35)
- tomcat maven 环境搭建
- Matlab符号求解
- 421. Maximum XOR of Two Numbers in an Array
- 1026: [SCOI2009]windy数
- Meclispse创建Spring项目并配置框架环境
- 【数据结构】交换排序
- xshell安装教程
- STL--PAT.A1100 & B.1044 [string & map]
- 学术与产业的关系认识一二三
- OS 终端自定义命令 alias
- 四、java-常用时间转换
- JavaScript类和模块