2013年5月20日

USACO 1.1-beads

摘要: 题意:给一个项链(首尾相连),从某个地方断开,然后两头取相同的珠子,问最多能取多少个有三种珠子:r,w,b。其中w是百变珠子,可以当成w或者r。类型:模拟思路:首先,断开的地方不会是某个连续串的中间(因为,断开在中间比断开在两头非但不会得到更好的结果,反而可能得到更差的结果)其次,bw..wb = b..b rw..wr = r..r整个程序的思路就是先压缩字符串(把相同的合并)然后处理第二个条件再次压缩,得到最终串然后枚举每个地方,模拟人去取,看能取多少个(关键是考虑好各种特殊情况。。。。恶心啊)代码:/*PROG: beadsLANG: C++*//******************** 阅读全文

posted @ 2013-05-20 15:45 ShineCheng 阅读(189) 评论(0) 推荐(0) 编辑

导航