codeforces 650B - Image Preview
题意:给你n个照片,从第一个照片开始看,如果一张照片是'w',那么要花费b时间去反转他,否则不用反转,看一张从来没看过的照片要1时间, 从一张滑动到另一张要a时间。如果一张照片看过,则不用再反转,也不用再傻1s。求在不超过T时间的前提下最多能看多少张。
思路:首先模拟这个选着过程,这里引入两个指针,lr代表从起点开始从右遍历,ll代表从后遍历到最后一个符合条件的位置,ll到lr之间串如果符合题意则求ans。
注意ll和lr之间一定不超过n。
1 #include <iostream> 2 #include <string.h> 3 #include <stdio.h> 4 #include <algorithm> 5 #include <cmath> 6 #include <cstdlib> 7 using namespace std; 8 const double pi=acos(-1); 9 const int maxn=500010; 10 char str[maxn]; 11 int s[2*maxn];//二倍空间:0到n-1是往后遍历,n到2*n-1是往前遍历 12 13 int main() { 14 int n,a,b,t; 15 while(~scanf("%d%d%d%d",&n,&a,&b,&t)) { 16 scanf("%s",str); 17 int sum=0; 18 for(int i=0; i<n; i++) { 19 if(str[i]=='w') 20 s[i]=s[i+n]=b+1; 21 else 22 s[i]=s[i+n]=1; 23 sum+=s[i]; 24 } 25 sum-=s[0]; 26 int ll=1,lr=n; 27 int ans=0; 28 while(ll<=n&&lr<2*n) { 29 sum+=s[lr++]; 30 while(lr-ll>n||sum+(lr-ll-1+min(lr-n-1,n-ll))*a>t) { 31 sum-=s[ll++]; 32 } 33 ans=max(ans,lr-ll); 34 } 35 cout<<ans<<endl; 36 } 37 return 0; 38 }
View Code
转载于:https://www.cnblogs.com/ITUPC/p/5337529.html
codeforces 650B - Image Preview相关推荐
- Codeforces 650B 二分
题目:http://codeforces.com/problemset/problem/650/B 题意: :给n张图片循环可看,每张图片的朝向为横(w)|竖(v),但是手机是竖直放置的.开始时打开的 ...
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...
- 【codeforces 812C】Sagheer and Nubian Market
[题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...
- CodeForces 获得数据
针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...
- codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...
题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...
- CodeForces 595A
题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...
- codeforces A. Jeff and Digits 解题报告
题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
最新文章
- 阿里问题定位神器 Arthas 的骚操作,定位线上BUG,超给力
- python映射类型-Python中字典映射类型的学习教程
- lnmp 60秒的服务器缓存时间
- android 按下缩小效果松开恢复_iPhone XS/XS Max如何强制重启?如何进入恢复模式或DFU模式?...
- ckeditor java 上传_java使用CKEditor实现图片上传功能
- 图片压缩软件_简单易用的图片压缩软件gt;给图片减肥
- [Vue.js]实战 -- 电商项目(三)
- 超越java jb51_.net mvc超过了最大请求长度的解决方法
- 白板机器学习笔记 P3-P8 高斯分布
- 知道吗?9个搜索引擎优化(SEO)最佳实践
- 简洁高效的原型图设计工具Mockplus
- android smb同步,SMBsync安卓下最好的同步备份工具
- 博士申请 | 澳门科技大学李楠楠老师组招收2022秋季入学全奖博士生
- 网站关键词密度定义,关键词密度对网站优化有什么关系!
- 微信公众号系列之测试号使用
- 实现图片验证码与手机短信验证码
- 带领大家进入win+r(运行)
- 网络计算机应急处理,国家计算机网络应急技术处理协调中心-计算机网络安全应急处理.ppt...
- M1的MacBook Air性能评测
- ResNet :( residual 、residual bottleneck)