断点是白色的情况在做题的时候完全没有想到呢...

看到了数据才发现这个问题$qwq$

 /*
ID:Starry21
LANG:C++
TASK:beads
*/
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
#define N 355
int n,ans;
char s[N*];
int l,r;
int f2(char c)
{
int res=;
while()
{
if(s[l+]==c||s[l+]=='w')
l++,res++;
else break;
if(l+==r) break;
}
return res;
}
int f1()
{
int res1=,res2=;
int ll=l;char c='b';
while()
{
if(s[l+]==c||s[l+]=='w')
l++,res1++;
else break;
if(l+==r) break;
}
c='r';
while()
{
if(s[ll+]==c||s[ll+]=='w')
ll++,res2++;
else break;
if(ll+==r) break;
}
if(res2>res1) l=ll;
return max(res1,res2);
}
int f4(char c)
{
int res=;
while()
{
if(s[r-]==c||s[r-]=='w')
r--,res++;
else break;
if(l+==r) break;
}
return res;
}
int f3()
{
int res1=,res2=;
int rr=r;char c='b';
while()
{
if(s[r-]==c||s[r-]=='w')
r--,res1++;
else break;
if(l+==r) break;
}
c='r';
while()
{
if(s[rr-]==c||s[rr-]=='w')
rr--,res2++;
else break;
if(l+==rr) break;
}
if(res2>res1) r=rr;
return max(res1,res2);
}
int main()
{
//freopen("beads.in","r",stdin);
//freopen("beads.out","w",stdout);
scanf("%d",&n);
scanf("%s",s+);
for(int i=;i<=n;i++)
s[i+n]=s[i];
for(int i=;i<=n;i++)
{
l=i,r=i+n-;
int cnt1=,cnt2=;
char c=s[l];
if(c!='w') cnt1+=f2(c);
else cnt1+=f1();
if(l+==r)
{
ans=max(ans,cnt1+/*还要加上端点r*/);
continue;
}
//----
c=s[r];
if(c!='w') cnt1+=f4(c);
else cnt1+=f3();
ans=max(ans,cnt1+cnt2);
}
printf("%d\n",ans);
return ;
}
/*
77
rwrwrwrwrwrwrwrwrwrwrwrwbwrwbwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrwr
*/

USACO 1.2 Broken Necklace的更多相关文章

  1. USACO section1.1 Broken Necklace

    /* ID: vincent63 LANG: C TASK: beads */ #include <stdio.h> #include<stdlib.h> #include&l ...

  2. USACO Section1.1 Broken Necklace 解题报告

    beads解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  3. USACO Section1.1PROB Broken Necklace

    有点麻烦的一道模拟(官方题解好像有复杂度为$O(n)$DP的姿势?,感觉好烦,以后再细看~ 在一些细节上调试了很久很久,囧RZ /* ID: jusonal1 PROG: beads LANG: C+ ...

  4. [USACO1.1.4]坏掉的项链Broken Necklace

    P1203 [USACO1.1]坏掉的项链Broken Necklace 标签 搜索/枚举 USACO 难度 普及- 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N&l ...

  5. 【P1203】 【USACO1.1】坏掉的项链Broken Necklace

    P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...

  6. P1203 [USACO1.1]坏掉的项链Broken Necklace

    P1203 [USACO1.1]坏掉的项链Broken Necklace不错的断环为链的模拟题,开成三倍,有很多细节要考虑,比如总长度要<=n,开头第一个是w等等. #include<bi ...

  7. 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace

    坏掉的项链Broken Necklace 难度:★ Code: #include <iostream> #include <cstdio> #include <cstri ...

  8. 题解 P1203 【[USACO1.1]坏掉的项链Broken Necklace】

    [USACO1.1]坏掉的项链Broken Necklace 22892 破碎的项链 方法一:很容易想到枚举断点,再分别两头找,但是要注意很多细节 #include<iostream> # ...

  9. P1203 [USACO1.1]Broken Necklace(模拟-枚举)

    P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...

随机推荐

  1. localstorage ie11不支持

    据我所知,localstorage在高版本的ie.谷歌.火狐下都是支持的,以前没在ie上看过,不清楚,今天我用ie11打开我vue编译后的html,竟然发现不支持localstorage了,用仿真的i ...

  2. Qt5 使用lambda

    c11新特性中加入了lambda表达式,所以Qt 也支持 需在.pro文件中加入 CONFIG += c++11 m_timer = new QTimer(); m_timer->start() ...

  3. [Svelte 3] Use DOM events and event modifiers in Svelte 3

    The whole magic of webapps is that users can interact with our code via various DOM events and Svelt ...

  4. 部署openstack

    磁盘扩容  lsblk 设置环境语言 export LANG=en_US 扩容块设备 growpart /dev/vda 1 扩容文件系统 xfs_growfs / 配置Ip 配置eth0为公共网络 ...

  5. Luogu P1450 [HAOI2008]硬币购物 背包+容斥原理

    考虑如果没有个数的限制,那么就是一个完全背包,所以先跑一个完全背包,求出没有个数限制的方案数即可. 因为有个数的限制,所以容斥一下:没有1个超过限制的方案=至少0个超过限制-至少1个超过限制+至少2个 ...

  6. php实现浏览器大文件分片上传

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  7. Noip2016 提高组 Day1

    T1 玩具迷题 直通 思路: 1.首先根据数据范围来看,储存小人的姓名开一个二维char数组即可(不会开爆) 2.然后看他给出的样例以及条件什么的,能够确定出 ①朝内向右,朝外向左均为+ ②朝内向左, ...

  8. Django-模板继承/组件/自定义标签

    一.标签tags for标签 遍历每一个元素:  写个for,然后 tab键自动生成for循环的结构,循环很基础,就这么简单的用,没有什么break之类的,复杂一些的功能,你要通过js def get ...

  9. 修改tomcat控制台的标题

    Tomcat的bin目录下,创建一个名为setenv.bat的文件. setenv.bat  编辑内容 : set TITLE = 想要命名的标题名称  保存修改.重新启动. 第二种. 修改tomca ...

  10. CentOs7:ssh远程登录错误WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED解决简单办法

    错误及解决办法如下图所示. 第一步:cd ~/.ssh 第二步:vi known_hosts 第三步:删除与访问ip相关条目 附参考链接: https://www.cnblogs.com/york-h ...