[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 ...
随机推荐
- c# list排序
List<int> tmp = new List<int>(){5,1,22,11,4}; 升序:tmp.Sort((x, y) => x.CompareTo(y)); ...
- 标识域 Identify Field
在对象中保存DB的ID字段,以维持内存对象和DB数据Row之间的identify. 关系DB使用key来区分数据行. 而内存对象不需要这样的键.因为对象系统能够保证身份确认. 读取时没有问题,但是为了 ...
- (转)如何构建高性能,稳定SOA应用之-负载均衡-Decoupled Invocation(一)
当我们在为一个软件设计架构的时候,我们不仅仅要确保所做出来的架构要满足系统的业务需求,更加要确保做出来的架构要满足可维护性,安全,稳定性的非业务行的需求. 另外一个非常重要的非功能性需求就是性能.性能 ...
- pop()实现逐个删除数组最后一位并输出
使用pop()循环输出数组的最后一个元素 var a = []; a.push(1);a.push(3.1415926);a.push("number");a.push(" ...
- AR模式
AR模式 在ThinkPHP框架中,一共存在两种操作模式:ORM模式与AR模式 ORM模式:① 实例化模型 ② 创建数据对象组装数组 ③ 调用相关方法执行相关操作 AR模式:① 实例化模型 ② 把数据 ...
- HTML 5中的文件处理之FileAPI(转载)
原文地址:http://developer.51cto.com/art/201202/319435.htm 在众多HTML5规范中,有一部分规范是跟文件处理有关的,在早期的浏览器技术中,处理小量字符串 ...
- SQL server数据库内置账户SA登录设置
SQL server数据库内置账户SA登录不了 设置SQL Server数据库给sa设置密码的时候 提示18456 解决步骤: 第二步:右击sa,选择属性: 第三步:点击状态选项卡:勾选授予 ...
- Android开发之计算器(一)界面设计之activity_main布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 【Qt】Qt之进程间通信(QProcess)【转】
简述 前几节里,分享了进程通信的几种方式:Windows消息机制.Shared Memory(共享内存),本节讲解下关于进程通信的另外一种方式-QProcess. 简述 命令行参数启动 说明 实现 命 ...
- javascript 创建对象及对象原型链属性介绍
我们知道javascript里定义一个普通对象的方法,如: let obj = {}; obj.num = 1; obj.string = 'string'; obj.func = function( ...