中位数图 BZOJ
来源:互联网 发布:仁化县网络问政平台 编辑:程序博客网 时间:2024/06/07 02:20
题目传送门
思路:这个题我们先预先处理一个sum数组表示这个数字的左边有多少个大于m的数字减去小于m的数字的个数,然后我们在预处理一个数组表示,有多少个在数字m的左边有多少个值为sum[i]的个数,然后就可以在一个O(N)的时间复杂度进行计算了。
#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#include <set>#include <stack>#include <string>#include <vector>#define MAXN 200010#define MAXE 40#define INF 0x7fffff#define MOD 100003#define LL long long#define ULL unsigned long long#define pi 3.14159using namespace std;int arr[MAXN];int sum[MAXN];int L[MAXN];int main() { std::ios::sync_with_stdio(false); int n, m; cin >> n >> m; int p = 0; memset(sum, 0, sizeof(sum)); memset(L, 0, sizeof(L)); for (int i = 1; i <= n; ++i) { cin >> arr[i]; if (arr[i] > m) { arr[i] = 1; } else if (arr[i] < m) { arr[i] = -1; } else { p = i; arr[i] = 0; } sum[i] = sum[i - 1] + arr[i]; } for (int i = 0; i <= p - 1; ++i) { L[sum[i] + n]++; } int ans = 0; for (int i = p; i <= n; ++i) { ans += L[sum[i] + n]; } cout << ans << endl; return 0;}
阅读全文
0 0
- BZOJ 1831 中位数图
- 中位数图 BZOJ
- BZOJ 1303-中位数图(中位数技巧)
- 【BZOJ 1303】 [CQOI2009]中位数图
- bzoj 1303 [CQOI2009]中位数图
- BZOJ 1303 [CQOI2009]中位数图
- 【BZOJ 1303】 【CQOI2009】中位数图
- BZOJ 1303: [CQOI2009]中位数图
- bzoj 1303: [CQOI2009]中位数图
- BZOJ 1303 [CQOI2009]中位数图
- BZOJ 1303 - [CQOI2009]中位数图 (技巧)
- BZOJ 1303 CQOI 2009 中位数图 模拟
- BZOJ-1303 中位数图 数学+乱搞
- 【BZOJ】1303 [CQOI2009]中位数图 建模
- BZOJ 1303: [CQOI2009]中位数图 计数,思维
- bzoj 1303: [CQOI2009]中位数图 (乱搞)
- bzoj 1303 中位数
- bzoj 1303 中位数 题解
- hibernate 出现 is not mapped 问题
- NOIP2017普及组初赛总结
- 【BZOJ】4390 [Usaco2015 dec]Max Flow LCA+树上差分
- react_native 项目实战 (4) 自定义分类 使用 CheckBox 以及 数据存储asyncStorage
- Android7.0新签名对多渠道打包的影响
- 中位数图 BZOJ
- CopyOnWriteArrayList与CopyOnWriteArraySet源码简析
- Java序列化
- Python Handle data skill
- nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
- 二位数组长度的求法
- 如何使用python.plot()画简单的聚类结果图?
- Windows 系统上运行Redis(远程内存数据库)的弊端
- 查找操作-----常数查找