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小结的更多相关文章

  1. [HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP)

    [HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP) 题面 有三个人从一张N个点无重边的有向无环图上的三个点出发,每单位时间,他们分别选择当前 ...

  2. BestCoder Round #86 A B C

    这次BC终于不像上次一样惨烈 终于A了三题…… 终测ing…… 发一波题解…… A.Price List A题十分无脑 只要把所有数加起来存到sum里 询问的时候大于sum输出1 否则输出0就行了…… ...

  3. BestCoder Round #86

    A题 Price List 巨水..........水的不敢相信. #include <cstdio> typedef long long LL; int main() { int T; ...

  4. BestCoder Round #86 解题报告

    A.Price List Sol 求和查询 Code #include<cstdio> #include<algorithm> #include<iostream> ...

  5. HDU 5805 NanoApe Loves Sequence (思维题) BestCoder Round #86 1002

    题目:传送门. 题意:题目说的是求期望,其实翻译过来意思就是:一个长度为 n 的数列(n>=3),按顺序删除其中每一个数,每次删除都是建立在最原始数列的基础上进行的,算出每次操作后得到的新数列的 ...

  6. BestCoder Round #86 部分题解

    Price List 题意: 有n件商品,每天只能买一件,并且会记录账本,问有多少次一定记多了? 题解: 就是求和,最后如果大于和就输出1,否则0. 代码: #include <bits/std ...

  7. HDU5808Price List Strike Back (BestCoder Round #86 E) cdq分治+背包

    严格按题解写,看能不能形成sum,只需要分割当前sum怎么由两边组成就好 #include <cstdio> #include <cstring> #include <c ...

  8. HDU5807 Keep In Touch (BestCoder Round #86 D ) 分布式dp

    #include <cstdio> #include <cstring> #include <cmath> #include <vector> #inc ...

  9. HDU5806 NanoApe Loves Sequence Ⅱ (BestCoder Round #86 C)二分

    分析:大于等于m的变成1,否则变成0,预处理前缀和,枚举起点,找到第一个点前缀和大于m即可 找第一个点可以二分可以尺取 #include <cstdio> #include <cst ...

随机推荐

  1. jquery设置元素readonly和disabled(checkbox只读)

    jquery api中提供了对元素应用disabled和readonly属性的方法:1,readonly 代码示例: $('input').attr("readonly",&quo ...

  2. WCF学习笔记(2)——使用IIS承载WCF服务

    通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”.WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习 ...

  3. BoneCP主要配置参数

    二.BoneCP主要配置参数 1.jdbcUrl 设置数据库URL 2.username 设置数据库用户名 3.password 设置数据库密码 4.partitionCount 设置分区个数.这个参 ...

  4. startup.bat闪退---tomcat环境变量配置中遇到的问题

    常用的方法: 1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.6.0_10   ...

  5. Java 类成员的初始化顺序

    Java 类成员的初始化顺序 前言:开发中碰到一个Java文件中有很多的成员变量,包括静态和非静态的,还有很多的初始化方法,很好奇这些成员的初始化顺序,在这里作个研究.   1  无继承情况下的Jav ...

  6. 南阳理工ACM——106背包问题

    描述: 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10):如果给你一个背包它能容纳的重量为m(10<=m<=20),你 ...

  7. 《linux源代码包的编译安装》RHEL6

    linux下源代码包的编译安装其实没那么复杂. 我是win7系统装的虚拟机,就简单说下: 举个简单的例子: http://www.openssl.org/ 这是openssl的官网,下载openssl ...

  8. exynos 4412 eMMC配置及使用方法

    /** ****************************************************************************** * @author    Maox ...

  9. 【Qt】Qt之密码框不可选中、复制、粘贴、无右键菜单等【转】

    简述 在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同,例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 下面介绍两种方式来实现相同的效果. ...

  10. mongodb持久化

    先上一张图(根据此处重画),看完下面的内容应该可以理解. mongodb使用内存映射的方式来访问和修改数据库文件,内存由操作系统来管理.开启journal的情况,数据文件映射到内存2个view:pri ...