USACO2012 Broken necklace /// DP oj10103
题目大意:
项链最长的纯色连续段,“w”即white白色珠子,可任意涂为红或蓝,“r” “b”即红 蓝。
Line 1: N, the number of beads
Line 2: a string of N characters, each of which is r, b, or w
A single line containing the maximum of number of beads that can be collected from the supplied necklace.
29
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
11
DP算法
*先复制相同的一段 拼接在一起 以模拟项链的环状
#include <bits/stdc++.h>
using namespace std;
typedef struct node
{
int lr,lb,rr,rb; ///左右的red blue珠数量
}beans;
int main()
{
beans bean[];
char br[],brr[];
int n; scanf("%d%s",&n,br);
strcpy(brr,br);
strcat(br,brr); bean[].lr=bean[].lb=;
for(int i=;i<=*n;i++)
{
if(br[i-]=='r')
bean[i].lr=bean[i-].lr+,
bean[i].lb=;
else if(br[i-]=='b')
bean[i].lb=bean[i-].lb+,
bean[i].lr=;
else
bean[i].lb=bean[i-].lb+,
bean[i].lr=bean[i-].lr+;
} bean[*n].rr=bean[*n].rb=;
for(int i=*n-;i>=;i--)
{
if(br[i]=='r')
bean[i].rr=bean[i+].rr+,
bean[i].rb=;
else if(br[i]=='b')
bean[i].rb=bean[i+].rb+,
bean[i].rr=;
else
bean[i].rb=bean[i+].rb+,
bean[i].rr=bean[i+].rr+;
} int m=;
for(int i=;i<*n;i++)
m=max(m,max(bean[i].lr,bean[i].lb)+max(bean[i].rr,bean[i].rb));
if(m>n) m=n;
printf("%d\n",m);
return ;
}
USACO2012 Broken necklace /// DP oj10103的更多相关文章
- [USACO1.1.4]坏掉的项链Broken Necklace
P1203 [USACO1.1]坏掉的项链Broken Necklace 标签 搜索/枚举 USACO 难度 普及- 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N&l ...
- 题解 P1203 【[USACO1.1]坏掉的项链Broken Necklace】
[USACO1.1]坏掉的项链Broken Necklace 22892 破碎的项链 方法一:很容易想到枚举断点,再分别两头找,但是要注意很多细节 #include<iostream> # ...
- P1203 [USACO1.1]Broken Necklace(模拟-枚举)
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- P1203 [USACO1.1]坏掉的项链Broken Necklace
P1203 [USACO1.1]坏掉的项链Broken Necklace不错的断环为链的模拟题,开成三倍,有很多细节要考虑,比如总长度要<=n,开头第一个是w等等. #include<bi ...
- 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
坏掉的项链Broken Necklace 难度:★ Code: #include <iostream> #include <cstdio> #include <cstri ...
- 【P1203】 【USACO1.1】坏掉的项链Broken Necklace
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- USACO section1.1 Broken Necklace
/* ID: vincent63 LANG: C TASK: beads */ #include <stdio.h> #include<stdlib.h> #include&l ...
- 【USACO1.1】Broken Necklace
题意 一个环形项链,有rbw三种珠子,r代表red,b代表blue,w代表white,从任意一个位置断开,两端分别取珠子,同一端取的珠子要相同颜色,w可以染成想要的颜色,即既可当作r也可以当作b,求最 ...
- USACO Section 1.1 Broken Necklace 解题报告
题目 题目描述 有一串项链,它是由红蓝白三种颜色的珠子组成的,b代表蓝色,w代表白色,r代表红色,当它完整的时候是一个闭合的环形.现在它在某一个节点断裂了,之前的环形也随之变成了直线形.从两端开始收集 ...
随机推荐
- Django--实现分页功能,并且基于cookie实现用户定制每页的数据条数
# page_num 当前页数, total_result_num 总共有多少条测试结果 def pagination(request, page_num, total_result_num, res ...
- 16、使用jQuery的html5player播放器,进行播放
<!-- Website Design By: www.happyworm.com --> <title>Demo : jPlayer as a video playlist ...
- jeecg随笔-3.X的生成后配置
生成后按以上步骤进行配置即可.
- git clone后切换分支,和远端的不一样。
原因 git clone后再master分支,切换后到了别的分支,分支里面的文件目录是不一样的,导致出现错误. 解决 删除原来的全部文件 git pull 可是git pull报错, git匹配的文件 ...
- 动态方法调用秘密武器 —— invokedynamic 指令解读 - MethodHandle
原文:https://juejin.im/book/5c25811a6fb9a049ec6b23ee/section/5ccc66dd518825403b5975fb import java.lang ...
- Java8向后兼容
toInstant()方法被添加到可用于将它们转换到新的日期时间的API原始日期和日历对象.使用ofInstant(Insant,ZoneId)方法得到一个LocalDateTime或ZonedDat ...
- C# 设计模式 (一)
学习来自<大话设计模式>有兴趣可以研究一下 一.简单工厂模式 原理 子类对象可以赋值给父类对象.同一个父类对象的子类,通过switch语句new出来(当然用if也可以但那样判断就多了起来) ...
- 移动端新建html页面
这是一些头部设置 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- pytest--fixure前置执行一个函数
import pytest@pytest.fixture()def login_r(): print('登陆') @pytest.fixture()def open_browser(): print( ...
- Neo4j 小调研
一. 概况: 在图计算中,基本的数据结构表达式是:G= ( V,E ),V=vertex( 节点 ),E=edge(边) .图数据库中数据模型主要以节点和关系(边)来体现,也可以处理键值对.数据具有如 ...