博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
usaco Broken Necklace(dp)
阅读量:5054 次
发布时间:2019-06-12

本文共 927 字,大约阅读时间需要 3 分钟。

/*ID: modengd1PROG: beadsLANG: C++*/#include 
#include
#include
using namespace std;int N;char input[355];int dp1[355],dp2[355];//dp1是以i为右端点的最长颜色相同的珠宝个数,dp2是以i为左端点的最长颜色相同的珠宝个数void slove(){ dp1[0]=1; int sumw; char flag; if(input[0]=='w') { sumw=1; flag='w'; } else { sumw=0; flag=input[0]; } bool iscicle=false; for(int i=1;i
=N)//因为可能出现全串都颜色(只有白色和另外一种颜色)一样。 { cout<
<
=0;i--) { if(input[i%N]=='w') { sumw++; dp2[i%N]=dp2[(i+1)%N]+1; } else { if(flag=='w'||flag==input[i%N]) dp2[i%N]=dp2[(i+1)%N]+1; else dp2[i%N]=1+sumw; flag=input[i%N]; sumw=0;//白色清空 } if(dp1[i%N]>=N) { cout<
<
ans) { ans=dp1[i%N]+dp2[(i+1)%N]; } } //可能存在此串都能被收集的情况,此时会出现ans>N if(ans>N) ans=N; cout<
<

  

转载于:https://www.cnblogs.com/modengdubai/p/4760504.html

你可能感兴趣的文章
C# Socket服务端与客户端通信(包含大文件的断点传输)
查看>>
理解SQL SERVER中的逻辑读,预读和物理读
查看>>
输入N,打印如图所看到的的三角形(例:N=3,N=4,N=5)1&lt;=N&lt;=26
查看>>
发展城市 BZOJ 3700
查看>>
Yii Framework处理网站前后台文件的方法
查看>>
jQuery事件委托
查看>>
移动端元素拖拽事件
查看>>
HDOJ:1058
查看>>
swiper隐藏再显示出现点击不了情况
查看>>
js input radio点击事件
查看>>
okhttp post form表单
查看>>
STL中map的简单使用简介【转】
查看>>
【LOJ】#2057. 「TJOI / HEOI2016」游戏
查看>>
VC++编译说明
查看>>
Sitecore客户体验成熟度模型之旅
查看>>
浅析redis缓存 在spring中的配置 及其简单的使用
查看>>
SSL-ZYC 洛谷 P1118 数字三角形
查看>>
关于APNs的错误认识纠正
查看>>
InotifyPropertyChanged接口实现简单数据绑定
查看>>
text-align:center 在FireFox及Google浏览器下无效的问题
查看>>