FZU
来源:互联网 发布:网络管理零基础知乎 编辑:程序博客网 时间:2024/06/06 08:30
题 目 传 送 门:
x=a[0]a[1]...a[len-2]a[len-1],所有下标为奇数的数都>=他左右的数的称为Mountain Number ,找L~R中Mountain Number的个数
思路:数位dp,dp[i][j][k],i表示第i位,j表示奇数位还是偶数位,k表示前一位的数
ac代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int num[20];long long dp[20][20][2];int len;long long dfs(int len1,int tmp,int state,int limit){ if(len1<0) return 1; if(!limit&&dp[len1][state][tmp]!=-1) return dp[len1][state][tmp]; int fp=limit?num[len1]:9; long long ret=0; for(int i=0;i<=fp;i++) { if(!tmp&&i<=state) ret+=dfs(len1-1,1,i,limit&&i==fp); if(tmp&&i>=state) ret+=dfs(len1-1,0,i,limit&&i==fp); } if(!limit) dp[len1][state][tmp]=ret; return ret;}long long get_num(long long x){ len=0; while(x) { num[len++]=x%10; x=x/10; } return dfs(len-1,0,10,1);}int main(){ int n,m,t; memset(dp,-1,sizeof(dp)); cin>>t; while(t--) { cin>>n>>m; long long ans=get_num(m)-get_num(n-1); cout<<ans<<endl; } return 0;}
阅读全文
0 0
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- FZU
- Java访问控制修饰符与继承
- Android进阶#(1/12)Android的构成基石——四大组件_ContentProvider(外共享数据)
- android tween动画
- MYSQL explain详解
- struts.xml配置文件启用开发者模式
- FZU
- 复试计划篇(上)
- 2D图形编程指南
- C# winform 为按钮添加键盘快捷键
- DOM的事件
- 【POJ 3264】Balanced Lineup(RMQ算法||线段树)
- Go语言学习之cgo(golang与C语言相互调用)
- jQuery实现水平和垂直居中
- 解决Dojo中id is already registry的问题