[BC]BestCoder Round#86小结
1001
【题意】
给定一个长度为n(n<=100000)的正整数序列,给出m(m<=100000)个子集合和的记录,问哪些一定比正确的记录多了
【题解】
对正整数序列求和,记录比和大的一定记录多了
HackPoint:sum要开long long
int v[];
int main(){
int T=gi;
while(T--){
int n,m;n=gi,m=gi;ll sum=;
FOR1(i,n)v[i]=gi,sum+=v[i];
FOR1(i,m){
ll p;scanf("%I64d",&p);
if(p>sum)printf("");
else printf("");
}puts("");
}
}
1002
【题意】
给定一个长度为n(n<=100000)的序列,选择一个数并删除它。每个数被选中的概率相等,求删数后相邻两数差值绝对值最大值的期望*n的值
【题解】
一眼看上去个multiset????
然后在开黑组里问了下10*100000*6*multiset能不能过
然后zzq:

然后写了个multiset过来pretest
int a[];
int b[];
#define era(x) s.erase(s.lower_bound(x))
int main(){
int T=gi;
while(T--){
int n=gi;
FOR1(i,n)a[i]=gi;
ll ans=;
multiset<int,greater<int> >s;
FOR1(i,n-)s.insert(abs(a[i+]-a[i]));
for(int i=;i<n;i++){
era(abs(a[i]-a[i-]));
era(abs(a[i+]-a[i]));
s.insert(abs(a[i+]-a[i-]));
ans+=*s.begin();
s.insert(abs(a[i]-a[i-]));
s.insert(abs(a[i+]-a[i]));
era(abs(a[i+]-a[i-]));
}
era(abs(a[]-a[]));
ans+=*s.begin();
s.insert(abs(a[]-a[]));
era(abs(a[n]-a[n-]));
ans+=*s.begin();
printf("%I64d",ans);
}
}
最后
f**k y*u
后来冷静想了下,好像是个傻逼题
求出前ii个数里相邻差值的最大值,ii到nn里相邻差值的最大值
,那么
int f[],g[],a[];
int main(){
int T=gi;
while(T--){
int n=gi;
FOR1(i,n)a[i]=gi;
for(int i=;i<=n;i++)f[i]=max(f[i-],abs(a[i]-a[i-]));
for(int i=n-;i>=;i--)g[i]=max(g[i+],abs(a[i+]-a[i]));
//FOR1(i,n-1)printf("%d ",f[i]);puts("");
ll ans=;
FOR1(i,n){
if(i==)ans+=g[];//printf("%I64d\n",ans);
else if(i==n)ans+=f[n-];//printf("%I64d\n",ans);
else{
//printf("%d %d\n",f[i-1],g[i+1]);
ans+=max(f[i-],max(g[i+],abs(a[i+]-a[i-])));
//printf("%I64d\n",ans);
}
}
printf("%I64d\n",ans);
}
}
1003
【题意】
给定一个和前两题差不多长的序列,给定一组m,k的值,求多少个区间里的第 k 大的数不小于 m
【题解】
xjb尺取一下就行了

int a[];
int main(){
int T=gi;
while(T--){
int n,m,k;
n=gi;m=gi;k=gi;
FOR1(i,n)a[i]=gi;
int st=,ed=,cnt=;ll ans=;
while(st<=n){
while(cnt<k&&ed+<=n)cnt+=(a[++ed]>=m);
if(cnt==k)ans=ans+n-ed+;
cnt-=(a[st++]>=m);
}
printf("%I64d\n",ans);
}
}
【SystemTest】
1002果然T辣qwq
由于手速慢一个人都没hack到

单调递减的排名=。=大沙茶的第一次BC到此结束。
[BC]BestCoder Round#86小结的更多相关文章
- [HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP)
[HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP) 题面 有三个人从一张N个点无重边的有向无环图上的三个点出发,每单位时间,他们分别选择当前 ...
- BestCoder Round #86 A B C
这次BC终于不像上次一样惨烈 终于A了三题…… 终测ing…… 发一波题解…… A.Price List A题十分无脑 只要把所有数加起来存到sum里 询问的时候大于sum输出1 否则输出0就行了…… ...
- BestCoder Round #86
A题 Price List 巨水..........水的不敢相信. #include <cstdio> typedef long long LL; int main() { int T; ...
- BestCoder Round #86 解题报告
A.Price List Sol 求和查询 Code #include<cstdio> #include<algorithm> #include<iostream> ...
- HDU 5805 NanoApe Loves Sequence (思维题) BestCoder Round #86 1002
题目:传送门. 题意:题目说的是求期望,其实翻译过来意思就是:一个长度为 n 的数列(n>=3),按顺序删除其中每一个数,每次删除都是建立在最原始数列的基础上进行的,算出每次操作后得到的新数列的 ...
- BestCoder Round #86 部分题解
Price List 题意: 有n件商品,每天只能买一件,并且会记录账本,问有多少次一定记多了? 题解: 就是求和,最后如果大于和就输出1,否则0. 代码: #include <bits/std ...
- HDU5808Price List Strike Back (BestCoder Round #86 E) cdq分治+背包
严格按题解写,看能不能形成sum,只需要分割当前sum怎么由两边组成就好 #include <cstdio> #include <cstring> #include <c ...
- HDU5807 Keep In Touch (BestCoder Round #86 D ) 分布式dp
#include <cstdio> #include <cstring> #include <cmath> #include <vector> #inc ...
- HDU5806 NanoApe Loves Sequence Ⅱ (BestCoder Round #86 C)二分
分析:大于等于m的变成1,否则变成0,预处理前缀和,枚举起点,找到第一个点前缀和大于m即可 找第一个点可以二分可以尺取 #include <cstdio> #include <cst ...
随机推荐
- iOS中—触摸事件详解及使用
iOS中--触摸事件详解及使用 (一)初识 要想学好触摸事件,这第一部分的基础理论是必须要学会的,希望大家可以耐心看完. 1.基本概念: 触摸事件 是iOS事件中的一种事件类型,在iOS中按照事件划分 ...
- Codevs 1092 不高兴的津津
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 津津上初中了.妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参 ...
- template_12特化与重载
1,重载函数模板f<int*>((int*)pi);//1f<int>((int*)pi);//2上面用int*替换第一个模板的T,用int来替换第二个模板的T.那么将得到两个 ...
- 为什么ARM的frq中断的处理速度比较快
FRQ向量位于异常向量表的最末端,不需要跳转就可以直接执行后面跟随的异常处理程序:FRQ模式中私有寄存器数量最多,在进行异常处理时不需要对这些寄存器进行压栈保存.
- 正则匹配 去掉 多余的js和html标签
$reg17 = '/><strong>公司介绍<\/strong><\/td>([\S\s*]+?)<\/div>/'; $this->d ...
- 30个惊人的插件来扩展 Twitter Bootstrap
Bootstrap Maxlength It is a lightweight plugin that allows detecting the HTML maxlength property of ...
- 使用公司自己的maven服务器时,本地 maven 的配置方法
使用公司的maven服务器,可以加速jar包的下载. 如果要使用公司的maven服务器,需要对本地maven配置文件conf/settings.xml做相应修改,具体改法有两种. 一.mirror ...
- 三种找回 linux root密码的方法
找回 linux root密码的三种方法 第1种方法: 1.在系统进入单用户状态,直接用passwd root去更改2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法 ...
- centos5.4下mysql主从复制
centos5.4下mysql主从复制配置分享. 本文转自:http://www.jbxue.com/article/771.html 安装环境:centos 5.4 mysql版本:mysql 5. ...
- Jquery操作Cookie取值错误的解决方法
使用JQuery操作cookie时 发生取的值不正确,结果发现cookie有四个不同的属性,分享下错误的原因及解决方法. 使用JQuery操作cookie时 发生取的值不正确的问题: 结果发现coo ...