UESTC_邱老师选妹子 2015 UESTC Training for Dynamic Programming<Problem H>
H - 邱老师选妹子
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
邱老师长得帅这是人尽皆知,于是追他的妹子就会很多。
但是你知道,邱老师是一个很专一的人,所以他心里面只能有一个人。
于是他决定从追他的众多妹子里挑选一个出来。于是酱神给邱老师出来一个主意,已知有一些妹子,恰好可以给她们从l到r排号,使得每一个妹子有单独的数字,而正好有r-l+1个妹子。
酱神说,我们不能要运气不好的女孩,而酱神又给了两个数字62和4,如果妹子的排号里面有62(必须是连续的)或4,那么就排除他现在给你l和r,问有多少妹子可以有幸在第一轮留下。
Input
输入的都是整数对l、r(0<l≤r<1000000),如果遇到都是0的整数对,则输入结束。
Output
每组数据输出占一行,对于每个l和r 输出有多少个妹子可以在第一轮不被排除
Sample input and output
| Sample Input | Sample Output |
|---|---|
1 100 |
80 |
Hint
不好的数字为所有含有4或62的号码。例如:
62315 73418 88914
都属于不好的。但是,61152虽然含有6和2,但不是62连号
解题报告:
我们考虑f( a , b , c , d , e) -> 正在转移第 a 位,且前一位是 b ,c 表示是否小于过上界, d 表示是否大于过下界 , e 表示目前的状态 的合法方案数.
转移时通过 c 和 d来确定枚举的上下界,同时注意上一位数和status进行枚举和转移.
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
typedef long long ll;
using namespace std;
ll f[][][][][];
string A,B;
int len; ll dfs(int cur,int front,int f1,int f2,int status)
{
if (f[cur][front][f1][f2][status] != -)
return f[cur][front][f1][f2][status];
ll & ans = f[cur][front][f1][f2][status] = ;
if (cur == len)
return ans = status;
int st = f1 ? : A[cur]-'';
int ed = f2 ? : B[cur]-'';
for(int i = st ; i <= ed ; ++ i)
{
if (i == )
ans += dfs(cur+,i,f1 | i > A[cur]-'' , f2 | i < B[cur] - '',);
else if (i == )
{
if (front == )
ans += dfs(cur+,i,f1 | i > A[cur]-'' , f2 | i < B[cur] - '',);
else
ans += dfs(cur+,i,f1 | i > A[cur]-'' , f2 | i < B[cur] - '',status);
}
else
ans += dfs(cur+,i,f1 | i > A[cur]-'' , f2 | i < B[cur] - '',status);
}
return ans;
} int main(int argc,char *argv[])
{
ios::sync_with_stdio(false);
while(cin >> A >> B)
{
if (A[] == '' && B[] == '')
break;
memset(f,-,sizeof(f));
len = B.size();
while(A.size() != B.size()) // Init;
A = '' + A;
cout << dfs(,,,,) << endl;
}
return ;
}
UESTC_邱老师选妹子 2015 UESTC Training for Dynamic Programming<Problem H>的更多相关文章
- UESTC_邱老师看电影 2015 UESTC Training for Dynamic Programming<Problem F>
F - 邱老师看电影 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
- UESTC_邱老师玩游戏 2015 UESTC Training for Dynamic Programming<Problem G>
G - 邱老师玩游戏 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
- UESTC_邱老师的脑残粉 2015 UESTC Training for Graph Theory<Problem D>
D - 邱老师的脑残粉 Time Limit: 12000/4000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Sub ...
- UESTC_酱神的旅行 2015 UESTC Training for Dynamic Programming<Problem M>
M - 酱神的旅行 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- UESTC_男神的约会 2015 UESTC Training for Dynamic Programming<Problem J>
J - 男神的约会 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- UESTC_酱神赏花 2015 UESTC Training for Dynamic Programming<Problem C>
C - 酱神赏花 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 262143/262143KB (Java/Others) Submi ...
- UESTC_男神的礼物 2015 UESTC Training for Dynamic Programming<Problem A>
A - 男神的礼物 Time Limit: 3000/3000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- UESTC_邱老师选妹子(二) 2015 UESTC Training for Dynamic Programming<Problem I>
I - 邱老师选妹子(二) Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Su ...
- UESTC_邱老师降临小行星 2015 UESTC Training for Search Algorithm & String<Problem B>
B - 邱老师降临小行星 Time Limit: 10000/5000MS (Java/Others) Memory Limit: 65536/65535KB (Java/Others) Su ...
随机推荐
- 通过jstack定位在线运行java系统故障_案例1
问题描述: 在一个在线运行的java web系统中,会定时运行一个FTP上传的任务,结果有一天发现,文件正常生成后却没有上传. 问题初步分析: 1.查看日志文件 发现这个任务只打印了开始进入FTP处理 ...
- UI设计(流程/界面)设计规范
1.UI设计基本概念与流程 1.1 目的 规范公司UI设计流程,使UI设计师参与到产品设计整个环节中来,对产品的易用性进行全流程负责,使UI设计的流程规范化,保证UI设计流程的可操作性. 1.2范围 ...
- Spring集成Hessian
一.概述 Spring 通过org.springframework.remoting.caucho.HessianServiceExporter将POJO中的所有public方法发布为Hessian服 ...
- POI导入数据
package util; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.I ...
- 【转】Windows与Linux(Ubuntu)双系统时间不一致的解决方法
当在嵌入式Linux里面备份文件时候,在备份的时候,PC(win7)和开发板的时间都是9:30,但是在开发板发现文件创建时间是9:30,然后u盘插在PC(win7)上,发现文件创建时间是1:30,为什 ...
- MSDN中HttpWebRequest/HttpWebResponse用法
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://home.cnblogs.com/u/weiweiboqi/ ...
- IOS 创建一张有颜色的UIImage
#import <UIKit/UIKit.h> @interface UIImage (ImageWithColor) + (UIImage *)imageWithColor:(UICol ...
- javascript 将递归转化为循环
function tco(f) { var value; var active = false; var accumulated = []; return function accumulator() ...
- [Regex Expression] Confirmative -- World bundry
String to check: As it turns out, our potential shipmates are extremely superstitious. As such, we d ...
- ThinkPHP视图查询详解
ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm 这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下 ThinkP ...