[BZOJ4326]JOIOJI 查分+排序
来源:互联网 发布:python多线程加锁 编辑:程序博客网 时间:2024/04/29 18:29
看到别人做好奇点进去,随便写了没想到居然过了
没标题,实在不知道这个解法叫啥
统计前i位’J’的个数x,’O’的个数y,’I’的个数z
两两差分得到二元组
#include <iostream>#include <cstdio>#include <algorithm>#define N 1000050using namespace std;struct sn{ int a,b,_; }Q[N];bool operator != (sn p1,sn p2) { return p1.a != p2.a || p1.b != p2.b;}int n;char s[N];bool cmp(sn p1,sn p2) { if (p1.a != p2.a) return p1.a < p2.a; if (p1.b != p2.b) return p1.b < p2.b; return p1._ < p2._;}int main() { scanf("%d",&n); scanf("%s",s+1); int x = 0 , y = 0 , z = 0; for (int i=1;i<=n;i++) { s[i] == 'J' ? x++ : 0; s[i] == 'O' ? y++ : 0; s[i] == 'I' ? z++ : 0; Q[i] = (sn){y-x,z-y,i}; } sort(Q,Q+n+1,cmp); int h = 0 , t = -1 , ans = 0; while (++t <= n) { while (Q[h] != Q[t]) h++; ans = max(ans , Q[t]._ - Q[h]._); } printf("%d\n",ans); return 0;}
0 0
- [BZOJ4326]JOIOJI 查分+排序
- bzoj 4236: JOIOJI 排序&扫描
- 【BZOJ4236】JOIOJI【数学】【排序】【乱搞】
- JOIOJI
- [bzoj4326][NOIP2015] 运输计划 差分+LCA
- BZOJ 4236 JOIOJI 排序+线扫
- 【codevs4632】【BZOJ4326】运输计划,链剖+二分+差分
- [BZOJ4326][NOIP2015][倍增][二分][差分序列]运输计划
- 【NOIP2015】【bzoj4326】运输计划 LCA+差分+二分答案
- [BZOJ4326][NOIP2015]运输计划(二分答案+树上差分)
- 【二分+LCA+差分】BZOJ4326(NOIP2015)[运输计划]题解
- BZOJ4326(NOIP2015)运输计划--二分+LCA+差分
- bzoj4326 & UOJ150【NOIP2015】运输计划 ( 树上差分 + lca )
- BZOJ4326: NOIP2015 运输计划 树链剖分+差分数组+二分+扫描线
- [BZOJ4326][NOIP2015]运输计划(二分+dfs序+树上差分)
- 【BZOJ4326】【二分答案】【树上差分】NOIP2015 D2T3 运输计划 题解
- [BZOJ4326][NOIP2015]运输计划(二分+dfs序+树上差分)
- 【二分+LCA差分乱搞】BZOJ4326(UOJ150) NOIP2015 运输计划
- lesson2
- 【JZOJ 4984】 太空飞船
- android测试手机不显示崩溃日志
- VaildForm使用(一)
- 微信小程序 根据官方文档学习记录
- [BZOJ4326]JOIOJI 查分+排序
- NV_RESTORE的使用
- android测试手机不显示崩溃日志
- 最近找java实习面试被问到的东西总结(Java方向)
- C++中 引用&与取地址&的区别
- 1020: 算法提高 聪明的美食家
- 【算法】:求Fibonacci的多种思路和算法
- CakePHP命名约定
- Ubuntu16.04配置TensorFlow