学长让我们刷USACO的水题果然是有道理的,做了四道挂了两道。。。细节处理一定要小心!大概都是NOIP Day1 T1的难度,但是一定要考虑全面否则还是凉凉啊。

一、USACO1.1贪婪的送礼者

题目链接:https://www.luogu.org/problemnew/show/P1201

一个人有一些钱分给一些伙伴,比如我有10块钱分给5个人每人2块(小学数学),当然如果数据都是这样当然很弱智,但是还需要考虑分不完的情况,比如10块钱分给3个人,每人三块,自己剩一块,多好多和谐。所以就是要在每次分时判断人数是否被钱数整除,如果整除直接分,否则每个人分int(money/num),自己剩money%num。

代码相信读者都会而且还会暴露笔者恶心的码风所以被和谐了。。。

二、USACO1.1坏掉的项链

题目地址:https://www.luogu.org/problemnew/show/P1203

由于是字符串环所以可以先将这个字符串复制一份接在后面每次取其中长度为n的一段,相当于在开头位置的断开,然后从两头往后判断是否为同一个字符。

需要考虑的细节:

1.得到的珠子个数大于n,比如r r r r的情况,从左可以取4个,从右可以取4个,一共8个,然而显然最多取4个。有两种处理方式:(1)直接在输出答案时判断,答案大于n就输出n,这时说明其中有重复取得珠子,只需将它给其中任意一边即可。(2)记录从左端取了mx1个,那么右端最多取n-mx1个。

2.w在一串珠子中只能代表一种颜色,比如rrwb的情况,从左取3个的话从右最多取1个,从右取2个的话从左最多取2个,然而这种情况都是与第一种情况重合的所以不用另做考虑。

3.在比较时不能单纯的将从左右开始的每一个元素只与左右端点的颜色比较,因为可能存在左右端点为w的情况,所以需要从左开始找到第一个不为w的颜色来作为参考,右边同理。

代码:

#include<bits/stdc++.h>
using namespace std;
int n;
char ch[];
int main()
{
cin>>n;
cin>>ch+;
for(int i=;i<=n;i++)
ch[i+n]=ch[i];
int ans=;
for(int i=;i<=n;i++)
{
char k1,k2;
int p1=i,p2=i+n-,mx1=,mx2=;
while(ch[p1]=='w'&&p1<=i+n-){
p1++;mx1++;
}
k1=ch[p1];
while(p1<=i+n-){
if(ch[p1]==k1||ch[p1]=='w')
mx1++,p1++;
else break;
}
while(ch[p2]=='w'&&p2>=i&&mx2<n-mx1){
p2--;mx2++;
}
k2=ch[p2];
while(p2>=i&&mx2<n-mx1){
if(ch[p2]==k2||ch[p2]=='w')
mx2++,p2--;
else break;
}
ans=max(ans,mx1+mx2);
}
printf("%d\n",ans);
return ;
}

水题不AC,自挂二叉树——Chemist的更多相关文章

  1. codeforces 677A A. Vanya and Fence(水题)

    题目链接: A. Vanya and Fence time limit per test 1 second memory limit per test 256 megabytes input stan ...

  2. POJ 3984 - 迷宫问题 - [BFS水题]

    题目链接:http://poj.org/problem?id=3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, ...

  3. codeforces 688A A. Opponents(水题)

    题目链接: A. Opponents time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  4. URAL 1136 Parliament 二叉树水题 BST后序遍历建树

    二叉树水题,特别是昨天刚做完二叉树用中序后序建树,现在来做这个很快的. 跟昨天那题差不多,BST后序遍历的特型,找到最后那个数就是根,向前找,比它小的那块就是他的左儿子,比它大的那块就是右儿子,然后递 ...

  5. codeforces 659A A. Round House(水题)

    题目链接: A. Round House time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. ACM :漫漫上学路 -DP -水题

    CSU 1772 漫漫上学路 Time Limit: 1000MS   Memory Limit: 131072KB   64bit IO Format: %lld & %llu Submit ...

  7. gdutcode 1195: 相信我这是水题 GDUT中有个风云人物pigofzhou,是冰点奇迹队的主代码手,

    1195: 相信我这是水题 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 821  Solved: 219 Description GDUT中有个风云人 ...

  8. cf118A(水题)

    题意就是讲给出的字符串元音字母去掉,在每个辅音字母前加点,且小写输出...注意y也要去掉(以我英语挂科的水平也知道y是辅音字母)... 水题.. 直接上代码好了... #include <ios ...

  9. HDU 5832 A water problem(某水题)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

随机推荐

  1. D. Spongebob and Squares--cf599D(数学)

    http://codeforces.com/problemset/problem/599/D 题目大意:给你一个数k  让你求一个n*m的矩形里面包含k个正方形   输出有几个这样的矩形  分别是什么 ...

  2. Baby Step Giant Step model

    ******************************************** */ #include <stdio.h> #include <string.h> # ...

  3. loj6173 Samjia和矩阵(后缀数组/后缀自动机)

    题目: https://loj.ac/problem/6173 分析: 考虑枚举宽度w,然后把宽度压位集中,将它们哈希 (这是w=2的时候) 然后可以写一下string=“ac#bc” 然后就是求这个 ...

  4. java序列化,看这篇就够了

    一.序列化的含义.意义及使用场景二.序列化实现的方式1.Serializable1.1 普通序列化1.2 成员是引用的序列化1.3 同一对象序列化多次的机制1.4 java序列化算法潜在的问题1.5 ...

  5. 下一代的中间件必须是支持docker规范的

    下一代的中间件必须是支持docker规范的,这是中间件技术走向标准规范化的必经之路. 什么是 Docker? 答案是:Docker 是下一代的云计算模式.Docker 是下一代云计算的主流趋势. Do ...

  6. FreeFileSync同步定时执行

    Schedule a Batch Job Create a new batch job via FreeFileSync's main dialog: Menu → File → Save as a ...

  7. HTC 328T 如何恢复出厂设置

    设置-存储-恢复出厂设置(在存储的最下面,往下拉)

  8. random模块的使用

    random模块用于生成随机数 import random print random.random() #用于生成小于1大于0的数 print random.randint(1,5) #生成大于等于1 ...

  9. 软件质量之道:PCLint之中的一个

    故天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能. 孟子 1引子 今天听老韩一席话,当真是感慨万千啊.心怀斗志昂扬.奋斗十年,到头来.却看到身 ...

  10. mysql命令行爱好者必备工具mycli

    mycli MyCLI is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syn ...