博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ2213 [Poi2011]Difference 【乱搞】
阅读量:4317 次
发布时间:2019-06-06

本文共 1681 字,大约阅读时间需要 5 分钟。

题目链接

题解

考虑任意一对点的贡献,单独拿出那些点所在位置

一个设为\(1\),一个设为\(-1\),从头到尾扫一遍维护前缀和,以及当前最小前缀和
两者相减更新答案
需要注意的是当前最小前缀和更新的位置之后必须存在另一个字符,否则就不满足最小出现次数最少大于\(0\)的限制

由于每个位置最多拿出来\(26\)次,所以是\(O(26n)\)

#include
#include
#include
#include
#include
#include
#include
#include
#define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt)#define REP(i,n) for (int i = 1; i <= (n); i++)#define mp(a,b) make_pair
(a,b)#define cls(s) memset(s,0,sizeof(s))#define cp pair
#define LL long long intusing namespace std;const int maxn = 1000005,maxm = 100005,INF = 1000000000;inline int read(){ int out = 0,flag = 1; char c = getchar(); while (c < 48 || c > 57){if (c == '-') flag = -1; c = getchar();} while (c >= 48 && c <= 57){out = (out << 3) + (out << 1) + c - 48; c = getchar();} return out * flag;}vector
pos[26];int n,ans;void work(int x,int y){ int nowx = 0,nowy = 0,minx = INF,miny = INF,mnx = 0,mny = 0; unsigned int px = 0,py = 0; while (px < pos[x].size() || py < pos[y].size()){ if (py == pos[y].size() || (px < pos[x].size() && pos[x][px] < pos[y][py])){ miny = min(miny,mny); nowx++; nowy--; px++; } else { minx = min(minx,mnx); nowy++; nowx--; py++; } mnx = min(nowx,mnx); mny = min(mny,nowy); if (minx < INF) ans = max(ans,nowx - minx); if (miny < INF) ans = max(ans,nowy - miny); }}int main(){ n = read(); int x; char c = getchar(); while (!isalpha(c)) c = getchar(); for (int i = 1; i <= n; i++){ x = c - 'a'; pos[x].push_back(i); c = getchar(); } for (int x = 0; x < 26; x++) for (int y = x + 1; y < 26; y++) work(x,y); printf("%d\n",ans); return 0;}

转载于:https://www.cnblogs.com/Mychael/p/9218353.html

你可能感兴趣的文章
css基础
查看>>
如何在tomcat中如何部署java EE项目
查看>>
【Python基础教程第2版】——第二讲:列表和元组
查看>>
小常识
查看>>
使用vscode开发python
查看>>
swift--调用系统单例实现打电话
查看>>
0038-算一算是一年中的第几天
查看>>
51nod 1094 【水题】
查看>>
003.第一个动画:绘制直线
查看>>
ng-深度学习-课程笔记-2: 神经网络中的逻辑回归(Week2)
查看>>
正则表达式的搜索和替换
查看>>
个人项目:WC
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
Kaldi中的Chain模型
查看>>