BestCoder Round #86 A B C
这次BC终于不像上次一样惨烈 终于A了三题……
终测ing……
发一波题解……
A题十分无脑 只要把所有数加起来存到sum里 询问的时候大于sum输出1 否则输出0就行了……
犹豫了好久 怎么会这么简单……
看群里好多人卡在了%I64d……
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
int main(){
int T;
scanf("%d",&T);
while(T--){
int n,m;
scanf("%d%d",&n,&m);
long long sum=,a;
for(int i=;i<n;i++){
scanf("%I64d",&a);
sum+=a;
}
for(int i=;i<m;i++){
scanf("%I64d",&a);
if(a>sum) printf("");
else printf("");
}
puts("");
}
return ;
}
B题就是自行模拟一下就好了……
cha[i]是这个数和前一个数的差……
记录最大的差maxc和i的位置loc……
首先处理去掉开头和结尾的情况……
然后处理中间的情况……
处理到loc和loc-1单独处理……
边界没处理好 WA了6次……
感觉是做麻烦了……
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
int num[];
int cha[];
int main(){
int T;
scanf("%d",&T);
while(T--){
int n;
int loc;
int maxc=-;
int maxn=-;
long long ans=;
scanf("%d",&n);
scanf("%d",&num[]);
for(int i=;i<n;i++){
scanf("%d",&num[i]);
cha[i]=abs(num[i]-num[i-]);
if(cha[i]>maxc){
maxc=cha[i];
loc=i;
}
}
for(int i=;i<n;i++){
if(cha[i]>maxn) maxn=cha[i];
}
// printf("%d\n",maxn);
ans+=maxn;
maxn=-;
for(int i=;i<n-;i++){
if(cha[i]>maxn) maxn=cha[i];
}
// printf("%d\n",maxn);
ans+=maxn;
for(int i=;i<n-;i++){
if(loc==i){
int used=-;
for(int j=;j<n;j++){
if(j==i+) continue;
if(j==i){
if(used<abs(num[i+]-num[i-]))
used=abs(num[i+]-num[i-]);
}
else if(cha[j]>used) used=cha[j];
}
ans+=used;
continue;
}
if(loc-==i){
int used=-;
for(int j=;j<n;j++){
if(j==loc) continue;
if(j==loc-){
if(used<abs(num[j+]-num[j-]))
used=abs(num[j+]-num[j-]);
}
else if(cha[j]>used) used=cha[j];
}
ans+=used;
continue;
}
if(maxc>abs(num[i+]-num[i-])) ans+=maxc;
else ans+=abs(num[i+]-num[i-]);
// printf("%I64d\n",ans);
}
printf("%I64d\n",ans);
}
return ;
}
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<string>
#include<map>
#include<vector>
#include<queue>
#define M(a,b) memset(a,b,sizeof(a))
using namespace std;
int num[];
int p[];
int main(){
int T;
scanf("%d",&T);
while(T--){
int n,m,k;
scanf("%d%d%d",&n,&m,&k);
int tmp=;
long long ans=;
for(int i=;i<n;i++){
scanf("%d",&num[i]);
if(num[i]>=m){
p[tmp++]=i;
if(tmp>=k)
ans+=(p[tmp-k]+);
}
else if(i+>=k&&tmp>=k)
ans+=(p[tmp-k]+);
}
printf("%I64d\n",ans);
}
return ;
}
BestCoder Round #86 A B C的更多相关文章
- [HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP)
[HDU5807] [BestCoder Round #86 1004] Keep In Touch (DP) 题面 有三个人从一张N个点无重边的有向无环图上的三个点出发,每单位时间,他们分别选择当前 ...
- 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 ...
- HDU5805 NanoApe Loves Sequence (BestCoder Round #86 B)前后缀预处理
分析:维护空隙的差,然后预处理前缀最大,后缀最大,扫一遍 #include <cstdio> #include <cstring> #include <cmath> ...
- HDU5804 Price List (BestCoder Round #86 A)水题
分析:大于总和输出1 #include <cstdio> #include <cstring> #include <algorithm> using namespa ...
随机推荐
- [MFC美化] SkinSharp使用详解1-使用方法
需要注意的是: 加载换肤后,程序关闭时,无需调用卸载皮肤接口,SkinSharp换肤库会自己完成清理工作.换肤时无需卸载皮肤,直接调用即可. 其DLL使用方法与前面几种皮肤库用法类似.如下: 1. 将 ...
- redis配置文件redis.conf的参数说明
打开redis.conf文件: # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that R ...
- openstack私有云布署实践【11.1 计算nova - compute节点配置(科兴环境)】
这里我只使用kxcompute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已 计算节点 # yum install openstack-nova-compute sysf ...
- React native android 最常见的10个问题
这里逐条记录下最容易遇到的React native android 相关case: 1. app启动后,红色界面,unable load jsbundle : 解决办法:一般来说就是,你是用dev-s ...
- Tomcat下的work目录
work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录,这也正是为什么它叫work目录而不是cache目录的原因. jsp,tomcat的工作原理是当浏览器访 ...
- drupal7 修改文件上传大小限制
参考文章:Drupal 7 设置上传文件的限制大小 自己用 '#type' => 'managed_file'做了一个上传的功能,但是上传时总是说超过了2M的限制,接下来说一下怎么修改限制. 一 ...
- 小白学C++的小问题
昨天开始学习C++,使用的visual studio 2012. 1命名要有意义,避免用a,b,c,尽量使用num,result等让人看见就能明白相关含义的名字 2要有一定的注释,注释和有意义的命名可 ...
- python的模块!
以下是对模块的理解,和总结 <1>模块是什么 模块是这样用的 import os 这就是导入了os模块 这和c语言里的#include<stdio.h>导入方式是一样的 导入了 ...
- java中类与对象
讨论下有关类的知识: 首先是java中累的定义 定义了一组大体上相似的对象. 一个类所包含的方法和数据描述一组对象的共同行为和属性. 对象则是类的具体化,是类的实例. 类通过派生可以有子类,同样也可以 ...
- 《JavaScript高级程序设计》读书笔记 ---Function 类型
说起来ECMAScript 中什么最有意思,我想那莫过于函数了——而有意思的根源,则在于函数实际上是对象.每个函数都是Function 类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对 ...