hdu_5701_中位数计数
题目连接: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加上之前相同偏离程度的次数。
#include<cstdio>
#define FFC(i,a,b) for(int i=a;i<=b;++i)
#define FFI(i,a,b) for(int i=a;i>=b;--i) int a[],n,sum[],cnt[],ans; int main(){
while(~scanf("%d",&n)){
FFC(i,,n)scanf("%d",&a[i]);
FFC(i,,n){
FFC(k,,*n)cnt[k]=;
sum[i]=,ans=cnt[n]=;
FFC(j,i+,n)sum[j]=sum[j-]+(a[j]>a[i]?:-),cnt[sum[j]+n]++,ans+=(sum[j]==);
FFI(j,i-,)sum[j]=sum[j+]+(a[j]>a[i]?:-),ans+=cnt[-sum[j]+n];
printf("%d%c",ans,i==n?'\n':' ');
}
}
return ;
}
hdu_5701_中位数计数的更多相关文章
- hdu-5701 中位数计数(中位数)
题目链接: 中位数计数 Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数. 现在有nn个数,每个 ...
- 51nod 1682 中位数计数
1682 中位数计数基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均 ...
- 51nod 1682 中位数计数(前缀和)
51nod 1682 中位数计数 思路: sum[i]表示到i为止的前缀和(比a[i]小的记为-1,相等的记为0,比a[i]大的记为1,然后求这些-1,0,1的前缀和): hash[sum[i]+N] ...
- 51 nod 1682 中位数计数
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1682 1682 中位数计数 基准时间限制:1 秒 空间限制: ...
- hdu 5701 中位数计数 思路题
中位数计数 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- HDU 5701 中位数计数 百度之星初赛
中位数计数 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Sub ...
- HDU 5701 ——中位数计数——————【思维题】
中位数计数 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- HDU 5701 中位数计数
这题真的很恶心,做了一天,最后问学长,才懂题意是什么,原来我一直都没读懂题.这我真的就无语了,你的题意多两句话会死啊?你测试样例多两个例子就不行啊?真蛋疼,题意都不懂,还做个shi? 题里说的是区间, ...
- 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 ...
随机推荐
- APICloud界面间跳转
UZModule提供属性controller,可通过该控制器对目标控制器进行push或者present操作. // push[self.viewController.navigationControl ...
- redis11--java_jedis-test
使用Java开发项目的时候使用Redis的话,目前有一些开源API可以使用.最常用的就是jedis,它提供了许多基于Java的对象和方法来调用Redis的指令.jedis的jar包下载地址http:/ ...
- caffe训练超参数
错误: caffe % ./build/tools/caffe train -solver models/finetune_flickr_style/solver.prototxt -weights ...
- oracle索引
1,建立索引 create index goods_num on goods (num) tablespace data; 2,查看表上索引 select * from USER_INDEXES wh ...
- UITableView简单使用
在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信.QQ.新浪微博等软件基本上随处都是UITableView.当然它的广泛使用自然离不 ...
- 微信支付错误两个问题的解决:curl出错,错误码:60
如下是运行微信支付测试代码时出错代码: Warning: curl_setopt() expects parameter 2 to be long, string given in D:\wwwroo ...
- mysql解决中文乱码问题
安装文件 my.ini default-character-set=gbk 安装文件 db.opt default-character-set=gbkdefault-collation=gbk_chi ...
- org.apache.commons.lang3.StringUtils类中isBlank和isEmpty方法的区别
相信很多java程序员在写代码的时候遇到判断某字符串是否为空的时候会用到StringUtils类中isBlank和isEmpty方法,这两个方法到底有什么区别呢?我们用一段代码来阐述这个区别吧: @T ...
- Docker私有仓库2
http://www.cnblogs.com/womars/p/5906410.html 接着上篇,上面为上篇地址. #通过docker tag将该镜像标志为要推送到私有仓库 [root@lh- ~] ...
- 不要在 _ASSERT() 宏中执行功能代码 AND RELEASE版调试办法
程序在DEBUG版正常运行,在RELEASE版就崩溃了,想调试找问题,却发现RELEASE版根本走不到断点... 需要在工程配置中将 Configuration Properties- ...