B. Vova and Trophies
2024-08-26 01:04:24
链接
[https://codeforces.com/contest/1082/problem/B]
题意
给你一个包含GS的字符串,只允许交换一次任意不同位置的字符,问最长的连续G串是多少
分析
很显然贪心找相邻的中间间隔一个S的两个连续G串
看了别人写的很巧妙,多用几个样例就知道其中的奥妙了
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int n; string s;
//freopen("in.txt","r",stdin);
while(cin>>n){
cin>>s;
int cntG=0,cntS=0,sumG=0,ans=0;
for(int i=0;i<n;i++){
if(s[i]=='G'){
cntG++; sumG++;
}
else{
cntS=cntG; cntG=0;//遇到scntG从新归零统计G连续的个数
}
ans=max(ans,cntG+cntS+1);//假设都可以交换带来收益
}
ans=min(ans,sumG);//这里很关键存在交换没有带来收益的
cout<<ans<<endl;
}
return 0;
}
最新文章
- Ninject之旅之五:Ninject XML配置
- ArcGIS api fo silverlight学习一(silverlight加载GeoServer发布的WMS地图)
- SQL日期格式,转自will哥
- hdu 1251 统计难题 (字典树入门题)
- (原创)通用查询实现方案(可用于DDD)[附源码] -- 设计思路
- Revit二次开发示例:DesignOptions
- Android之BroadcastReceiver1
- Blend制作的下载动画
- RHEL7 添加用户,含sudo权限
- 设置MySQL主从同步
- 灯笼Lantern下载及使用教程
- 基于page的简单页面推送技术
- Windows命令行命令集锦
- Swift初探一
- ant语法和规范
- 【Scala】Scala之Methods
- 基于封装通用的EF CRUD 的操作
- BZOJ4977[Lydsy1708月赛]跳伞求生——贪心+堆+模拟费用流
- js获取元素属性值为空的原因和解决办法
- Problem: 棋盘小游戏(一道有意思的acm入门题
热门文章
- C++中的istringstream
- jQuery插件slider实现图片轮播
- Android Studio IDE的 LogCat如何过滤指定应用的调试信息
- 使用OPEN XML SDK 读取EXCEL中的超链接Hyperlink
- Hue添加Spark notebook
- CSS三栏布局
- linux连接iscsi存储方法
- Java并发(五)线程池使用番外-分析RejectedExecutionException异常
- 如何迅速入门STM32
- 运行Android Studio自带模拟器报:Guest isn&#39;t online after 7 second...