题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5701

题意:不解释

题解:n^2的方法:sum[j]表示当前枚举的数到第j个数形成的区间里当前数偏离中位数的程度。cnt[k]表示偏离程度为k的次数,由于k可能为负,所以预先加上n。这里我们先向右扫描,记录cnt,再向左,当a[j]>a[i],则加1,否则减1。向左扫的时候,ans加上之前相同偏离程度的次数。

 1 #include<cstdio>
 2 #define FFC(i,a,b) for(int i=a;i<=b;++i)
 3 #define FFI(i,a,b) for(int i=a;i>=b;--i)
 4
 5 int a[10000],n,sum[10000],cnt[20000],ans;
 6
 7 int main(){
 8     while(~scanf("%d",&n)){
 9         FFC(i,1,n)scanf("%d",&a[i]);
10         FFC(i,1,n){
11             FFC(k,0,2*n)cnt[k]=0;
12             sum[i]=0,ans=cnt[n]=1;
13             FFC(j,i+1,n)sum[j]=sum[j-1]+(a[j]>a[i]?1:-1),cnt[sum[j]+n]++,ans+=(sum[j]==0);
14             FFI(j,i-1,1)sum[j]=sum[j+1]+(a[j]>a[i]?1:-1),ans+=cnt[-sum[j]+n];
15             printf("%d%c",ans,i==n?'\n':' ');
16         }
17     }
18     return 0;
19 }

View Code

转载于:https://www.cnblogs.com/bin-gege/p/5696146.html

hdu_5701_中位数计数相关推荐

  1. 51Nod1682 中位数计数【中位数】

    1682 中位数计数 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平 ...

  2. HDU5701 中位数计数【中位数+水题】

    中位数计数 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  3. HDU 5701:中位数计数

    中位数计数 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  4. HDU 5701 中位数计数(思维+暴力)

    中位数计数 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submis ...

  5. Codeforces Round #496 (Div. 3 ) E1. Median on Segments (Permutations Edition)(中位数计数)

    E1. Median on Segments (Permutations Edition) time limit per test 3 seconds memory limit per test 25 ...

  6. hdu5701-中位数计数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5701 题目: Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个 ...

  7. 2016百度之星 - 初赛(Astar Round2B)解题报告

    此文章可以使用目录功能哟↑(点击上方[+]) 被自己蠢哭,去年还能进一下复赛,今年复赛都没戏了... 链接→2016"百度之星" - 初赛(Astar Round2B)  Prob ...

  8. 51nod百度之星2016练习赛

    今天看了看51nod发现有这样一个练习赛,就做了做.因为实力太弱想不出E题,各位神犇勿D. (5.26UPD:E题想粗来了) A 区间交 不难发现若干线段[li,ri]的交就是[max(li),min ...

  9. CCF认证训练行动路线图

    通过CCF认证的训练题选自三个方面,一是CCF认证试题,二是使用北大百练的练习题等等,三是ACM-ICPC的练习题. CCF认证的试题是必须练习的,通过CCF试题的练习有助于了解试题风格特点.然而CC ...

最新文章

  1. 低耗时、高精度,微软提基于半监督学习的神经网络结构搜索算法
  2. java.sql.SQLException: Zero date value prohibited 报错分析
  3. matlab中 intval函数,经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval...
  4. 015_Redis创建集群
  5. 推荐 4 款 MySQL 调优工具,大神都在用!
  6. php ajax 表格编辑,php ajax表格实时编辑 PHP Ajax实现表格实时编辑
  7. 如何启动php程序下载,php – 最好的方式来启动下载?
  8. webpack文件系统缓存
  9. 切换回Chrome上的上次标签及打开设置快捷键
  10. 【机器学习】鸢尾花数据探索
  11. 安卓天气查询预报APP软件的制作
  12. 谷歌Chrome繁体字乱码问题
  13. sklearn实现lda模型_LDA模型实战常用知识点
  14. cad横断面图转文本
  15. 解决ROS编译时opml库找不到
  16. OFDM载波间隔_OFDM之频域
  17. 计算机二级考试题库 操作题,2016计算机二级考试题库:《C++》基本操作题练习...
  18. AR涂涂乐⭐八、(add)优化原代码“7”、正方形识别图改为矩形识别图、增加BGM和App 图标
  19. Wifi网络共享----Wifi共享精灵
  20. 和面试官对线HashMap

热门文章

  1. ORA-01036: 非法的变量名/编号
  2. 设定网页最小最大宽度和高度(兼容IE6)
  3. Oracle数据库的认证方法、用户管理、权限管理和角色管理等
  4. JavaScript 复习之 Array 对象
  5. Python从菜鸟到高手(5):数字
  6. 改变textFiled中placeholder的字体颜色的方法以及不想光标在textView的最左边设置方法...
  7. RHCE课程-RH131Linux管理笔记五-Linux远程登陆telnet及ssh服务
  8. 在虚拟机安装OpenSuse Tumbleweed
  9. 运用Handler.post()方法进行数据更新跟用Message对比(18)
  10. mysql 触发器学习