Vova and Trophies-思维
- http://codeforces.com/contest/1082/problem/B
- 题意:最多可以交换一次,这一次可以交换任意两个位置的颜色,求一个最终G最多的状态是多少
- 思路:先把G的各个部分取出来,按照结构体存储,然后开始统计一下原来单个G的联通块最长为多少,
- 原来 相邻两个G联通快,并且之间只有一个S隔开,这时判断一下如果把这个S移除用G交换是用的哪里的G
- 如果只有这两个G联通快本身,那么长度就是它们相加,否则可以从别处哪一个G,那么长度再+1,
- 还有只要G超过两堆 那么最多的一堆的数目就+1,最后各种状态取一下最大值。
#include<bits/stdc++.h> using namespace std; string str; int n,len,l,r,max1,max2,s,ans,qq; struct node {int l,r; }; vector<node>a; int main() {bool flag=0;cin>>n>>str;len=str.size();for(int i=0; i<len; i++){if(str[i]=='G'&&flag==0){l=i;flag=1;qq++;}if((str[i]=='S'||i==len-1)&&flag==1){flag=0;if(str[i]=='S')r=i-1;elser=i;a.push_back((node){l,r});}}s=a.size();for(int i=0; i<s; i++){max1=max(a[i].r-a[i].l+1,max1);if(i>0&&a[i-1].r+2==a[i].l)max2=max(max2,a[i].r-a[i].l+2+a[i-1].r-a[i-1].l);}if(qq>=2)max1++;if(s>2)max2++;ans=max(max2,max1);printf("%d\n",ans);return 0; }
Vova and Trophies-思维相关推荐
- Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies 【贪心 】
传送门:http://codeforces.com/contest/1082/problem/B B. Vova and Trophies time limit per test 2 seconds ...
- CF 1082B Vova and Trophies
题目:Vova and Trophies 思路: 如果有两块G中间只隔一个S,就把它和一个G交换. 否则就移一个S到最长的那一块旁边. 代码: #include<bits/stdc++.h> ...
- 【CodeForces - 1082B】Vova and Trophies (贪心模拟,暴力)
题干: Vova has won nn trophies in different competitions. Each trophy is either golden or silver. The ...
- Vova and Trophies
题意翻译 题目描述 你现在有 nn 枚奖牌,每枚奖牌为金牌或银牌.这些奖牌现在按顺序排成一排.现在你可以调换任意一对奖牌的位置,求金牌最长连续段. 输入格式 第一行一个整数 nn (2\le n\le ...
- Vova and Trophies _Codeforces 1082B
题目 Vova has won nn trophies in different competitions. Each trophy is either golden or silver. The t ...
- B. Vova and Trophies
链接 [https://codeforces.com/contest/1082/problem/B] 题意 给你一个包含GS的字符串,只允许交换一次任意不同位置的字符,问最长的连续G串是多少 分析 很 ...
- CodeForces - 1082B Vova and Trophies
传送 题意:一个只包含G和S的字符串,一次交换能使连续的G最长为多少. 思路:想要使只包含G的子串最长,显然贪心地将两个子串中间的S与一个不在子串的G交换再与最大值比较就可以了,要注意除了这两个子串外 ...
- Educational Codeforces Round 55 (Rated for Div. 2)
A.Vasya and Book 三种情况讨论一下 1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 ...
- D1. Great Vova Wall (Version 1) (思维)
题目链接:https://codeforces.com/contest/1092/problem/D1 题意:给你n个ai,ai表示第i堵墙的高度,现在都一个1*2的砖头,问:能否把这片墙砌成高度一直 ...
- CodeForces - 594A Warrior and Archer(思维+博弈)
题目链接:点击查看 题目大意:给出n个坐标轴上的点,两个人轮流操作,每次取走其中的一个点,直到最后剩余两个点为止,Vova先手,Vova希望两个点的距离尽可能小,Lesha希望两个点的距离尽可能大,问 ...
最新文章
- 【puthon】把大量csv文件写入h5文件制作数据集
- 练习: C#---函数(篮球弹起高度、等腰三角形)
- MATLAB实战系列(四)-导入txt文件技巧大全
- 请你解释一下什么是线程池(thread pool)?
- openstack horizon国际化分析
- Win10+CUDA10.0.130+cudnn7.4.1+tensorflow1.13.1+anaconda3 5.2.0+GTX1060
- 项目杂-备注-说明-其他
- 百度App网络深度优化系列(一):DNS优化
- java读取、生成图片
- ecshop实现弹出登录框
- QT-OpcUa使用open62541相关释疑
- 下载Chrome浏览器历史版本方法
- ipadmini1iOS9.3.5降级8.4.1教程
- 如何开启BBR算法优化ss
- 尚学堂JAVA高级学习笔记_2/2
- 排查oracle数据库服务是否启动
- iOS定位经纬度问题
- 软电话对接鼎信DWG无线网关
- 全球主要高光谱遥感卫星介绍
- shell中遍历字符串
热门文章
- 贾玲版花木兰,文化行业恰到好处的反思
- Unity 实现每隔一段时间重复执行
- 谷歌过去7年51次收购:多为全资收购(名单)
- flash剧本策划节约用水_2018-2019-节约用水剧本-优秀word范文 (6页)
- Java毕设项目教育培训机构信息管理系统计算机(附源码+系统+数据库+LW)
- ArcMap要素设置超链接
- php session 伪造,php模拟请求(伪造来源和请求ip)
- 三星更新出现android,部分三星 A70手机更新最新安卓10底层版本出现变砖
- 关于Spring Security 3获取用户信息的问题
- 两大巨头腾讯游戏和网易游戏,它们的差距有多大?