BZOJ 1303 中位数图 模拟
题目链接:
https://www.lydsy.com/JudgeOnline/problem.php?id=1303
题目大意:
给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。
思路:
找到b在数列中的位置设为start,比b大的赋值为-1,比b小的赋值为1,b赋值为0;
只要满足包含数字b且区间和为0的区间均是b为中位数的区间
那么从start往后扫一下,统计一下和,以及和出现次数。(和为0的区间一定满足)
再从start往前扫一下,如果当前和为x,加上右端和为-x出现次数即可。(如果和为0,还需要++)
- #include<bits/stdc++.h>
- #define IOS ios::sync_with_stdio(false);//不可再使用scanf printf
- #define Max(a, b) ((a) > (b) ? (a) : (b))//禁用于函数,会超时
- #define Min(a, b) ((a) < (b) ? (a) : (b))
- #define Mem(a) memset(a, 0, sizeof(a))
- #define Dis(x, y, x1, y1) ((x - x1) * (x - x1) + (y - y1) * (y - y1))
- #define MID(l, r) ((l) + ((r) - (l)) / 2)
- #define lson ((o)<<1)
- #define rson ((o)<<1|1)
- #define Accepted 0
- #pragma comment(linker, "/STACK:102400000,102400000")//栈外挂
- using namespace std;
- inline int read()
- {
- int x=,f=;char ch=getchar();
- while (ch<''||ch>''){if (ch=='-') f=-;ch=getchar();}
- while (ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
- return x*f;
- }
- typedef long long ll;
- const int maxn = + ;
- const int MOD = ;//const引用更快,宏定义也更快
- const int INF = 1e9 + ;
- const double eps = 1e-;
- int a[maxn];
- map<int, int>Map;
- int main()
- {
- int n, t, x, start;
- scanf("%d%d", &n, &t);
- for(int i = ; i <= n; i++)
- {
- scanf("%d", &x);
- if(x == t)
- {
- start = i;
- a[i] = ;
- }
- else if(x > t)a[i] = ;
- else a[i] = -;
- }
- for(int i = start + ; i <= n; i++)a[i] += a[i - ], Map[a[i]]++;
- int ans = Map[] + ;
- for(int i = start - ; i >= ; i--)
- {
- a[i] += a[i + ];
- ans += Map[-a[i]];
- if(a[i] == )ans++;
- }
- cout<<ans<<endl;
- return Accepted;
- }
BZOJ 1303 中位数图 模拟的更多相关文章
- BZOJ 1303 中位数图 题解
题面 因为所求的是中位数,所以考虑改变原序列.把大于 b 的数全部变为 1,小于 b 的数变为 −1,等于 b 则为 0.问题就变为求存在几个包含 b的区间和为 0 . 根据乘法原理,我们枚举每一个l ...
- BZOJ 1303 CQOI2009 中位数图 水题
1303: [CQOI2009]中位数图 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2340 Solved: 1464[Submit][Statu ...
- BZOJ 1303: [CQOI2009]中位数图【前缀和】
1303: [CQOI2009]中位数图 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2737 Solved: 1698[Submit][Statu ...
- bzoj 1303: [CQOI2009]中位数图 数学
1303: [CQOI2009]中位数图 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...
- [BZOJ 1303] [CQOI2009] 中位数图 【0.0】
题目链接:BZOJ - 1303 题目分析 首先,找到 b 的位置 Pos, 然后将数列中小于 b 的值赋为 -1 ,大于 b 的值赋为 1 . 从 b 向左扩展,不断算 Sum[i, b - 1] ...
- 【BZOJ1303】[CQOI2009]中位数图(模拟)
[BZOJ1303][CQOI2009]中位数图(模拟) 题面 BZOJ 洛谷 题解 把大于\(b\)的数设为\(1\),小于\(b\)的数设为\(-1\).显然询问就是有多少个横跨了\(b\)这个数 ...
- bzoj千题计划175:bzoj1303: [CQOI2009]中位数图
http://www.lydsy.com/JudgeOnline/problem.php?id=1303 令c[i]表示前i个数中,比d大的数与比d小的数的差,那么如果c[l]=c[r],则[l+1, ...
- BZOJ1303 [CQOI2009]中位数图 【乱搞】
1303: [CQOI2009]中位数图 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 3086 Solved: 1898 [Submit][Sta ...
- 【BZOJ】1303: [CQOI2009]中位数图(特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1303 依旧是题解流,,,不看题解没法活,,,第一眼就是瞎搞,然后就是暴力,显然TLE..题解啊题解. ...
随机推荐
- jQuery全屏滚动插件fullPage.js中文帮助文档API
jQuery全屏滚动插件fullPage.js中文帮助文档API 发现了一个fullPage.js插件,于是百度了一下,还就是这个插件的作用,其实有很多网站都做了全屏滚动的特效,效果也很好看,今天 ...
- SSIS教程:创建简单的ETL包 -- 4. 增加错误处理流程(Adding Error Flow Redirection)
为了处理在转换过程中可能发生的错误,MicrosoftIntegration Services 允许根据每个组件和每个列来决定如何处理无法转换的数据. 可以选择忽略某些列中的失败.重定向整个失败的行或 ...
- Mysql中的分页处理
先来说一下Mysql中limit的语法: --语法: SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset --举例: selec ...
- 四、spark集群架构
spark集群架构官方文档:http://spark.apache.org/docs/latest/cluster-overview.html 集群架构 我们先看这张图 这张图把spark架构拆分成了 ...
- 7、包装类、System、Math、Arrays、大数据运算
基本类型封装 基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字 ...
- Spring与Web
一.定义页面及Servlet 在jsp页面加入以下,避免乱码 <meta charset="utf-8"> <body> <form action=& ...
- Tinymce 编辑器添加自定义图片管理插件
在使用Tinymce的过程中需要用到图片上传功能,而提供的上传插件在上传文件后是给了一个连接地址,就想用户需要什么图片,不能用最直观的方式表现出来么! 虽然官网上也有一个文件管理的插件moxieman ...
- HTTP协议笔记整理
有人说过,精通HTTP协议能赢过95%的前端工程师,所以我毅然的踏上这条路,哈哈哈,接下来把自己的学习笔记整理出来. 我会从比较底层的模型开始: 1.网络的五层模型 2.TCP/IP协议 3.HTTP ...
- 20条最最常用的Linux命令讲解
玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了.当然你也可以在使用时去找一下 ...
- c++开源日志log4cplus使用开发文档
下载地址:http://files.cnblogs.com/files/lizhigang/LOG4CPLUS%E5%BC%80%E5%8F%91%E4%B8%8E%E4%BD%BF%E7%94%A8 ...