hdu6103[尺取法] 2017多校6
生活随笔
收集整理的這篇文章主要介紹了
hdu6103[尺取法] 2017多校6
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*hdu6103[尺取法] 2017多校6*/
#include <bits/stdc++.h>
using namespace std;
int T, m;
char str[20005];
void solve() {int ans = 0;int n = strlen(str);for (int i = 0; i < n; i++) {int l = 0, r = 0, p1 = i, p2 = i + 1, cost = 0;while (p1 - r >= 0 && p2 + r < n) {if (cost + abs(str[p1 - r] - str[p2 + r]) <= m) {cost += abs(str[p1 - r] - str[p2 + r]);ans = max(++r - l, ans);}else {cost -= abs(str[p1 - l] - str[p2 + l]);l++;}}l = r = cost = 0, p1 = i - 1, p2 = i + 1;while (p1 - r >= 0 && p2 + r < n) {if (cost + abs(str[p1 - r] - str[p2 + r]) <= m) {cost += abs(str[p1 - r] - str[p2 + r]);ans = max(++r - l, ans);}else {cost -= abs(str[p1 - l] - str[p2 + l]);l++;}}}printf("%d\n", ans);
}
int main() {scanf("%d", &T);while (T--) {scanf("%d%s", &m, str);solve();}return 0;
}
?
轉載于:https://www.cnblogs.com/UnderSilenceee/p/7353077.html
總結
以上是生活随笔為你收集整理的hdu6103[尺取法] 2017多校6的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件系统ext3的文件大小限制
- 下一篇: UOS系统如何给软件签名