hdu 6103 暴力枚举+贪心
2017-08-10 19:13
435 查看
#include<bits/stdc++.h> using namespace std; const int maxn=5005; typedef long long ll; char s[maxn]; int main() { int t,m,i,j,ans,k,n; scanf("%d",&t); while(t--&&scanf("%d",&m)!=EOF) { scanf("%s",s); n=strlen(s); ans=0; int l,r,sl,sr,len,sum; for(i=1;i<n;i++) { sl=sr=l=r=i; len=sum=0; while(l>=0&&(r<n)) { if(sum<=m) { ans=max(ans,len); l--; r++; if(l<0||r>=n) break; sum+=abs(s[l]-s[r]); len++; } else { while(l<sl&&sum>m) { sl--; sr++; sum-=abs(s[sl]-s[sr]); len--; } } } } for(i=1;i<n;i++) { sl=l=i; sr=r=i-1; len=sum=0; while(l>=0&&(r<n)) { if(sum<=m) { ans=max(ans,len); l--; r++; if(l<0||r>=n) break; sum+=abs(s[l]-s[r]); len++; } else { while(l<sl&&sum>m) { sl--; sr++; sum-=abs(s[sl]-s[sr]); len--; } } } } printf("%d\n",ans); } return 0; }
相关文章推荐
- H - Selecting courses HDU - 3697 (暴力,枚举,贪心)
- HDU 3697(H) ——Selecting courses(暴力枚举,贪心)
- hdu 3697 Selecting courses (暴力+贪心)
- hdu 2328 暴力枚举+find()
- UVA 11210 暴力枚举 + 递归(hdu 4431)
- hdu 4968 Improving the GPA (水 暴力枚举)
- HDU 4930 Fighting the Landlords(暴力枚举+模拟)
- HDU 5778 abs (数学+暴力枚举)
- HDU 5175 Misaki's Kiss again(暴力枚举+异或运算)
- UVALive 6912 Prime Switch 暴力枚举+贪心
- HDU 1270 小希的数表 (暴力枚举+数学)
- hdu 1598(并查集(krustra)+暴力枚举)
- hdu 5128 The E-pang Palace(计算几何,暴力枚举)
- HDU - 5742 暴力枚举
- hdu 4932 Miaomiao's Geometry 暴力枚举
- HDU 6103 枚举 +尺取
- hdu 5660 jrMz and angles【暴力枚举】【水题】
- HDU 4445Crazy Tank 2012金华现场赛D题(暴力枚举)
- HDU 1172猜数字(直接暴力枚举即可)
- hdu 1172 猜数字 解题报告<暴力枚举>