zoj&CCPC秦皇岛站E-思维-String of CCPC
2017-10-29 19:29
393 查看
http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5615
wa了好多次。
给定一个字符串,由c和p组成,可以添加c或者p。
串中出现一个ccpc 价值+1(ccpc可以出现部分重叠),但是如果添加x个字母,那么花费为x-1。问你 价值-花费 的总价值 最大。
最多总价值可以比原来串中的ccpc数目增加1,因为只有第一个字母不要钱,其他字母即使生成一个ccpc,花费也会随应的增加1。
只有一种情况可以再增加1个字母的时候生成两个,那就是再ccpcpc 的第三个字母后面,但是考虑到这个串初始就有1个,所以增加量还是1.
思路:先找ccpc,然后把中间的两个用其他符号替换掉,然后在查找
这三种 ccp cpc ccc。因为这三个增加一个 即可得到一个ccpc。
我开始是把找到的ccpc从串中删除。。这样显然不对还会tle。。erase的时间复杂度O(n)。。
后面就一直寻找 ccp cpc ccc这三个串(还要不和原始的ccpc重叠),搞了好久。。 最后枚举这5种情况。
ccpp pcpc ccccp ccccc cccpp 还有这三个串在 两端的情况。。还是一直wa。
只要把中间的给弄掉就好了qwq
wa了好多次。
给定一个字符串,由c和p组成,可以添加c或者p。
串中出现一个ccpc 价值+1(ccpc可以出现部分重叠),但是如果添加x个字母,那么花费为x-1。问你 价值-花费 的总价值 最大。
最多总价值可以比原来串中的ccpc数目增加1,因为只有第一个字母不要钱,其他字母即使生成一个ccpc,花费也会随应的增加1。
只有一种情况可以再增加1个字母的时候生成两个,那就是再ccpcpc 的第三个字母后面,但是考虑到这个串初始就有1个,所以增加量还是1.
思路:先找ccpc,然后把中间的两个用其他符号替换掉,然后在查找
这三种 ccp cpc ccc。因为这三个增加一个 即可得到一个ccpc。
我开始是把找到的ccpc从串中删除。。这样显然不对还会tle。。erase的时间复杂度O(n)。。
后面就一直寻找 ccp cpc ccc这三个串(还要不和原始的ccpc重叠),搞了好久。。 最后枚举这5种情况。
ccpp pcpc ccccp ccccc cccpp 还有这三个串在 两端的情况。。还是一直wa。
只要把中间的给弄掉就好了qwq
#include <bits/stdc++.h> using namespace std; vector<char>s; int main() { int t,m; char cha; scanf("%d",&t); while(t--){ s.clear(); cin>>m; for(int i=0;i<m;i++){ cin>>cha; s.push_back(cha); } int sum=0; int ans; for(int i=0;i<m;i++){ if(i+3<m&&s[i]=='C'&&s[i+1]=='C'&&s[i+2]=='P'&&s[i+3]=='C') {sum++; s[i+1]='%'; s[i+2]='%'; } } ans=sum; for(int i=0;i<m;i++){ if(i+2<m&&s[i]=='C'&&s[i+1]=='C'&&s[i+2]=='P') ans++; if(i+2<m&&s[i]=='C'&&s[i+1]=='C'&&s[i+2]=='C') ans++; if(i+2<m&&s[i]=='C'&&s[i+1]=='P'&&s[i+2]=='C') ans++; } printf("%d\n",ans); } return 0; }
相关文章推荐
- ZOJ 3985 && 2017CCPC秦皇岛 E:String of CCPC
- ZOJ - 3985 String of CCPC (2017CCPC秦皇岛站 简单题)
- 2017秦皇岛 - ICPC - E - String of CCPC 【string的一些简单运用,思维】
- 2017 CCPC 秦皇岛 & ZOJ 3981 - Balloon Robot 规律
- 2017CCPC 秦皇岛现场赛 M-String of CCPC
- 2017 CCPC 秦皇岛 & ZOJ 3983 - Crusaders Quest
- 2017 CCPC 秦皇岛 & ZOJ 3985 - String of CCPC (子串)
- 2017 CCPC 秦皇岛 & ZOJ 3987 - Numbers (贪心+大数)
- ZOJ 3985 String of CCPC
- 2017 CCPC秦皇岛 E题 String of CCPC
- 2017 CCPC 秦皇岛 & ZOJ 3993 - Safest Buildings (概率+规律)
- ZOJ 3985 String of CCPC (字符串判断)
- ZOJ 3985 String Of CCPC 字符串,模拟
- ZOJ - 3985 - String of CCPC (分类讨论)
- 2017 ccpc 秦皇岛E String of CCPC
- 2017CCPC秦皇岛 E:String of CCPC
- String of CCPC(CCPC秦皇岛)
- ZOJ3784 String of Infinity(AC自动机&&强连通分量)
- zoj 2818 Root of the Problem(数学思维题)
- POJ 3132 & ZOJ 2822 Sum of Different Primes(dp)