[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 ...
随机推荐
- Oracle在所有内容前追加一些内容的方法
参照下面的sql语句. SQL> SELECT * FROM UserInfo; NAME CHINESE -------------------- ...
- 初探内联方式的 onload="doSomething()"为何要加"()"?而js代码的 onload="doSomething" 和 addEventListener 为何不加"()"?
问题引入:在看<Jquery基础教程>第四版的时,P34页有这样一段话 引用函数与调用函数 这里在将函数指定为处理程序时,省略了后面的圆括号,只使用了函数名.如果带着圆括号,函数会被立即调 ...
- Windows Phone 7 中拷贝文件到独立存储
private void CopyToIsolatedStorage(){ using (IsolatedStorageFile storage = IsolatedStorageFile.Ge ...
- 使用原生Sql查询实现按分类推送最新文章到首页
一般在网站的首页都会有网站最新文章的推送,而这些文章又属于不同的分类.如果某个分类的文章突然集中在一个时间段发布,那么就会造成首页上所有文章都是该分类的文章,其他的文章分类就变成不可见的了.所以,我希 ...
- Bootstrap轮播获取当前活动的焦点对象
在项目中使用了Bootstrap的轮播,需求是轮播下方有一个已读按钮,当点击已读按钮时,隐藏掉当前的焦点的轮播内容: 如图所示: 所以要获取当前的焦点是哪一条: 下方代码是在网络上找到的一个方 ...
- 《boot分区监控的小脚本》
#!/bin/bash TEST=`df | grep "boot" |awk '{print $5}' |cut -f1 -d"%"` if [ $TEST ...
- Android 与 Webservice 的快速保存
前面写了一篇android对sqllite的快速保存博客,今天我们来看看android与webservice的交互,相信很多有经验的人自然就想到了soap.但是如果在小型项目中,具有大材小用之嫌.实际 ...
- Crusher Django Tutorial(5) 使用内置管理员系统
http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial5-using-admin.html 顺便学习一下FQ Crush ...
- MemProof教程
简介 MemProof(内存清道夫)是AutomatedQA出品的一款非常不错的检测内存泄漏和资源泄漏的免费调试工具,适合于WIN32平台下使用DELPHI/C++ BUILDER开发的应用程序. 利 ...
- python:执行一个命令行N次
经常希望可以执行一个命令行N次...windows下没有现成的工具(有?推荐给我!) 用python写一个... #!/usr/bin/evn python #coding: utf-8 " ...