Codeforces 650B Image Preview(尺取法)
题目大概说手机有n张照片。通过左滑或者右滑循环切换照片,滑动需要花费a时间;看一张照片要1时间,而看过的可以马上跳过不用花时间,没看过的不能跳过;有些照片要横着看,要花b时间旋转方向。那么问T时间下最多可以看多少张相片。
先确定左滑最多能看到哪张,然后用另一个指针从第一张照片往右移动,这代表先右滑然后左滑的方式看照片,而每次向右的指针移动计算其时间,不合法的话就通过向左的指针向右移修正时间;
而先左滑然后右滑的方式同理。
模拟题,好难写。。不过写好后提交居然就1A了。。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char str[];
bool vis[];
int main(){
int n,a,b,T;
scanf("%d%d%d%d",&n,&a,&b,&T);
scanf("%s",str); int i=,j=,ans=;
int t=T,cnt=;
while(j<n){
if(str[j]=='w') t-=b;
--t;
if(t<) break;
++cnt;
t-=a;
++j;
}
if(cnt==){
putchar('');
return ;
}
ans=max(ans,cnt);
t=T;
for(int k=; k<cnt; ++k){
if(str[k]=='w') t-=b;
--t;
if(k!=cnt-) t-=a;
vis[k]=;
}
j=cnt-;
while(true){
if(--i==-) i=n-;
if(vis[i]) break;
t-=a;
if(str[i]=='w') t-=b;
--t;
t-=a;
while(t< && j> && vis[j]){
t+=a;
if(str[j]=='w') t+=b;
++t;
--cnt;
vis[j]=;
--j;
}
if(t<) break;
++cnt;
ans=max(ans,cnt);
} memset(vis,,sizeof(vis));
i=; j=;
t=T; cnt=;
while(cnt<n){
if(str[i]=='w') t-=b;
--t;
if(t<) break;
++cnt;
t-=a;
if(--i==-) i=n-;
} ans=max(ans,cnt);
t=T;
for(int k=,tmp=; k<cnt; ++k){
if(str[tmp]=='w') t-=b;
--t;
if(k!=cnt-) t-=a;
vis[tmp]=;
if(--tmp==-) tmp=n-;
}
if(++i==n) i=;
while(true){
if(++j==n) j=;
if(vis[j]) break;
t-=a;
if(str[j]=='w') t-=b;
--t;
t-=a;
while(t< && i && vis[i]){
t+=a;
if(str[i]=='w') t+=b;
++t;
--cnt;
vis[i]=;
if(++i==n) i=;
}
if(t<) break;
++cnt;
ans=max(ans,cnt);
} printf("%d",ans);
return ;
}
Codeforces 650B Image Preview(尺取法)的更多相关文章
- Codeforces 958F2 Lightsabers (medium) 尺取法
题目大意: 输入n,m,分别表示人的个数和颜色的个数,下一行输入n个数,对应每个人的颜色,最后一行输入对应每个颜色的人应有的数量: 问是否能找出一个区间,满足条件但有多余的人,输出多余的人最少的个数, ...
- codeforces 650B . Image Preview 二分
题目链接 B. Image Preview time limit per test 1 second memory limit per test 256 megabytes input standar ...
- Codeforces 650B Image Preview
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- Codeforces Educational Codeforces Round 5 D. Longest k-Good Segment 尺取法
D. Longest k-Good Segment 题目连接: http://www.codeforces.com/contest/616/problem/D Description The arra ...
- Codeforces Round #364 (Div.2) C:They Are Everywhere(双指针/尺取法)
题目链接: http://codeforces.com/contest/701/problem/C 题意: 给出一个长度为n的字符串,要我们找出最小的子字符串包含所有的不同字符. 分析: 1.尺取法, ...
- Codeforces Round #354 (Div. 2)_Vasya and String(尺取法)
题目连接:http://codeforces.com/contest/676/problem/C 题意:一串字符串,最多改变k次,求最大的相同子串 题解:很明显直接尺取法 #include<cs ...
- codeforces 814 C. An impassioned circulation of affection 【尺取法 or DP】
//yy:因为这题多组数据,DP预处理存储状态比每次尺取快多了,但是我更喜欢这个尺取的思想. 题目链接:codeforces 814 C. An impassioned circulation of ...
- Codeforces 676C Vasya and String(尺取法)
题目大概说给一个由a和b组成的字符串,最多能改变其中的k个字符,问通过改变能得到的最长连续且相同的字符串是多长. 用尺取法,改变成a和改变成b分别做一次:双指针i和j,j不停++,然后如果遇到需要改变 ...
- CodeForces 701C They Are Everywhere 尺取法
简单的尺取法…… 先找到右边界 然后在已经有了所有字母后减小左边界…… 不断优化最短区间就好了~ #include<stdio.h> #include<string.h> #d ...
随机推荐
- webstorm添加vue插件支持
现在已经有vue.js的插件啦,setting --> plugins 就可以咯 ------------------------------------------------ Mac端Web ...
- 苹果应用 Windows 申请 普通证书 和Push 证书 Hbuilder 个推
最近使用Hbuilder 进行了HTML5开发,因为 HTML5 可以放在android 机器上,也可以放到 IOS机器上,所以很感兴趣,于是开发了一个小应用, 不过问题接着来了: 图1 如图所示:当 ...
- hdu1722(gcd)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1722 题意:要使一块蛋糕既能均分给a个人,又能均分给b个人,问至少需要分成几块(不需要每块都一样大小) ...
- CLR via C#(04)- 本是同根生
一.等值性——Equals()方法 有时候我们需要比较两个对象是否相等,比如在一个ArrayList中进行排序查找等操作时. System.Object提供了Equals()虚方法: class Ob ...
- 对Java内存模型即JMM的理解
类似物理上的计算机系统,Java虚拟机规范中也定义了一种Java内存模型,即Java Memory Model(JMM),来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能 ...
- Android的两种事件处理机制
UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于监听器的事件处理. 对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事 ...
- 【Java环境变量的配置问题】
首先是JVM.JRE.JDK三者之间的关系: java的跨平台性依赖于Java虚拟机:jvm(Java Virtual Machine),而jre(Java Runtime Environment,中 ...
- python多线程之Condition(条件变量)
#!/usr/bin/env python # -*- coding: utf-8 -*- from threading import Thread, Condition import time it ...
- Tkprof工具详解一
注明:一些文章是从别人的博客中转载过来的,方便自己以后查阅:在数据库生成的oracle trace文件中,可读性是比较差的,此时可使用tkprof工具来格式化trace文件,tkprof是一个命令 ...
- Microsoft SQL Server 博客目录
基础概念篇 SQL Server排序规则 SQL SERVER 统计信息概述(Statistics) SQL SERVER 索引之聚集索引和非聚集索引的描述 Sql Server 索引之唯一索引和筛选 ...