Kirinriki HDU
来源:互联网 发布:深澜软件下载 编辑:程序博客网 时间:2024/06/08 17:30
比赛的时候直接就想到了尺取法,然后tle了。。。;
优化成O(n^2)之后。。又莫名RE;
游戏体验极差;
假设 A 一定在 B 左边,然后考虑A的起点和B的尾部,如果暂时不考虑长度不固定,我们每次查找都让长度尽可能长,那么,我们一定需要将 A的起点和B的尾部,然后获取 A 向右延伸,B 向左延伸对应位置的贡献;可以采用尺取法来进行A的起点和B的尾部向中间的推移,当 此时的dis值大于 m 时,我们向中间推移 A的起点和B的尾部即可。在这个尺取法的过程中,记录下来最大的 dis 值即可。
莫名re。。重打一边就对了。。。。;
#include<bits/stdc++.h>using namespace std;const int MAXN=5555;char s[MAXN];int nl,m,ans;void solve(){ for(int i = 2; i <= nl; i++) { int q = i / 2,l = 0,n = 0,sum = 0; for(int j = 0; j < q; j++) { sum += abs(s[j] - s[i - j - 1]); if(sum <= m) { n++; ans = max(ans,n); } else { sum -= abs(s[l] - s[i - l - 1]); sum -= abs(s[j] - s[i - j - 1]); n--,j--,l++; } } }}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d %s",&m,s); nl = strlen(s),ans = 0; solve(); reverse(s,s + nl); solve(); printf("%d\n",ans); } return 0;}
阅读全文
0 0
- Kirinriki HDU
- Kirinriki HDU
- HDU-Kirinriki
- HDU 6103 Kirinriki
- HDU 6103 Kirinriki
- HDU 6103 Kirinriki
- HDU 6103 Kirinriki
- hdu 6103 -Kirinriki
- hdu 6103 Kirinriki
- HDU 6103 Kirinriki 【dp】
- hdu 6103 Kirinriki
- HDU 6103 Kirinriki
- Kirinriki(HDU 6103)
- HDU-6103 Kirinriki
- hdu 6103 Kirinriki
- HDU 6103Kirinriki
- hdu--6103--Kirinriki
- 【思维】hdu 6103 Kirinriki
- 从Android/Java基础之上学习C/C++语言(1)--C语言基础--基本数据类型
- 浅谈分布式系统
- 【JFinal】JFinal的拦截器获取和修改controller返回的json对象
- 贷款计算公式——java实现
- java 开发的问答系统 http://www.81wda.com
- Kirinriki HDU
- HTML5 Boilerplate是什么?解决了什么问题?
- Spring Boot支持tomcat服务器,支持http、https(ssl、tls)双协议,支持双端口
- 正则表达式 后向引用
- Unreal Engine 4 —— 基于Kajiya-Kay的材质迭代
- 安全套接层(SSL)协议
- 1014. 福尔摩斯的约会 (20)
- 二进制转化为16进制字符串
- ios ffmpeg+libx264