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

看到了数据才发现这个问题$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. @Test 测试

    package com.自定义.mall.admin.system; import java.util.List; import java.util.Map; import javax.annotat ...

  2. js 获取当前focus 的 input 元素

    document.querySelector("#pro-code").focus(); console.log("focus:" + document.act ...

  3. vue-cli3构建多页面应用2.0

    1.0版本点这里 -> 博客:vue-cli3构建多页面应用1.0   github:vue-cli-multipage 在1.0版本上做了以下改进: 1. 增加pages.config.js, ...

  4. hdu 5834 Magic boy Bi Luo with his excited tree 树形dp+转移

    Magic boy Bi Luo with his excited tree Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 13107 ...

  5. [Luogu] 计数

    https://www.luogu.org/problemnew/show/P3130 #include <cstdio> #include <iostream> using ...

  6. 图论小专题C

    3 负环及其应用 3.1 判定算法 判断负环只能用"边松弛"算法,也就是Bellman-Ford和SPFA算法.这两个算法都是\(O(NM)\)级别的.因为负环中一定存在一条负边, ...

  7. 数据类型(C++)

    不同系统会有不同差异: 类型 位(byte) 范围 char 1 -128—127 or 0 – 255 unsigned char 1 0 – 255 signed int 1 -128—127 i ...

  8. [Vue] : vue-resource 实现 get, post, jsonp请求

    vue-resource 实现 get, post, jsonp请求 常见的数据请求类型:get,post,jsonp 除了vue-resource之外,还可以使用axios的第三方包实现实现数据的请 ...

  9. c++继承子类构造函数问题

    c++中子类在继承基类的时候需要在构造函数中初始化变量.如果基类没有构造函数或者只有不带参数的构造函数,那么子类中的构造函数就不需要调用基类的构造函数了. 个人总结了两点子类中构造函数必须调用父类的构 ...

  10. canvas实现水印

    最近遇到一个需求,给所有页面加水印(登录人),不影响其他点击等功能的使用,目的是防止信息外漏,当时就在想:这年头,PS就不说人人都能使用,谁手机还没个涂鸦功能,防不了,但是就是这么个需求,那就实现吧! ...