首页 > 分享 > 武汉大学2020年新生程序设计竞赛(同步赛)D仓鼠更有精神

武汉大学2020年新生程序设计竞赛(同步赛)D仓鼠更有精神

最新推荐文章于 2022-04-09 15:52:28 发布

无所求者无能 于 2020-11-23 19:16:19 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

在这里插入图片描述

这一题考虑单调栈,我们用x[i]表示前i个字符串全部变成元音字母的代价,然后枚举以每一个字符开头,看其能够扩展的那个地方。
我们比如说
henghengeaaaa 3
x[ ]={1,1,2,3,4,4,5,6,6,6,6,6,6}
以第5个字符开始,不算上自己,因为可能自己就需要用掉一次修改的机会。
所以其最远能扩展的就是第一个大于x[5-1]+k的下标减去5这个起始字符,在加一。

#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #define N 1000012 using namespace std; int sum[N]; char str[N]; int main() { int i,n,t,k,s,ans; scanf("%dn",&t); while(t--) {ans=0; scanf("%s %dn",str+1,&k);n=strlen(str+1);for(i=1;i<=n;++i){if(str[i]=='a'|| str[i]=='e'|| str[i]=='i'|| str[i]=='o'|| str[i]=='u')sum[i]=sum[i-1];else sum[i]=sum[i-1]+1;}if(sum[n]<=k){printf("%dn",n);continue;}for(i=1;i<=n;++i){s=upper_bound(sum+1,sum+n+1,sum[i-1]+k)-sum-1;ans=max(ans,s-i+1); if(sum[n]-sum[i-1]<=k)break;}printf("%dn",ans);} return 0; }

12345678910111213141516171819202122232425262728293031323334353637

相关知识

关于开展2024年第二十四届华南农业大学程序设计竞赛(C、JAVA、PYTHON语言类)的通知
第六届“中联杯”竞赛获奖作品展
2024年,ICPC比赛、CCPC比赛、CCF
大学新生运动会奖项规则
大学新生的心理适应策略有哪些( )
华中农业大学2020年广告专业技能竞赛方案
2016年全国大学生物联网设计竞赛章程
那些年,我参加过的竞赛。
2020第12届大广赛公益命题微博提交作品参赛说明
第十届全国大学生物理实验竞赛(创新)决赛在北航开幕

网址: 武汉大学2020年新生程序设计竞赛(同步赛)D仓鼠更有精神 https://m.mcbbbk.com/newsview707286.html

所属分类:萌宠日常
上一篇: 广元宠物猫品种价钱
下一篇: 【Nowcoder】武汉大学20