这次BC终于不像上次一样惨烈 终于A了三题……

终测ing……

发一波题解……

A.Price List

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.NanoApe Loves Sequence

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 ;
}

C.NanoApe Loves Sequence Ⅱ

记录下当前位置是从开始第几大……
然后累加当前位置结尾的倒数第k大的位置……
讲道理这道题很看感觉……
 #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的更多相关文章

  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题 Price List 巨水..........水的不敢相信. #include <cstdio> typedef long long LL; int main() { int T; ...

  3. BestCoder Round #86 解题报告

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

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

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

  5. BestCoder Round #86 部分题解

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

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

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

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

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

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

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

  9. HDU5805 NanoApe Loves Sequence (BestCoder Round #86 B)前后缀预处理

    分析:维护空隙的差,然后预处理前缀最大,后缀最大,扫一遍 #include <cstdio> #include <cstring> #include <cmath> ...

  10. HDU5804 Price List (BestCoder Round #86 A)水题

    分析:大于总和输出1 #include <cstdio> #include <cstring> #include <algorithm> using namespa ...

随机推荐

  1. vue 2.0 无法编译ES6语法

    # vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...

  2. Map - leetcode [哈希表]

    149. Max Points on a Line unordered_map<float, int> hash 记录的是斜率对应的点数 unordered_map<float, i ...

  3. 关于VS2010编译警告LNK4221

    最近研究duilib,准备把里面自定义的一些工具类如CDuiString什么的用ATL的替换掉,于是遇到久仰大名的  warning C4251: xxx  needs to have dll-int ...

  4. Spring MVC中页面向后台传值的几种方式

    在学习 Spring Mvc 过程中,有必要来先了解几个关键参数:   @Controller:         在类上注解,则此类将编程一个控制器,在项目启动 Spring 将自动扫描此类,并进行对 ...

  5. js 中的 exec( )方法

    JavaScript exec() 方法 JavaScript RegExp 对象 定义和用法 exec() 方法用于检索字符串中的正则表达式的匹配. 语法:RegExpObject.exec(str ...

  6. C# 图形普通处理,resize ,水印..

    网站中,对用户图片上传处理是很有必要的.对于一些常用的处理,对图片各种形式的压缩,各种形式的水印. 1.裁剪正方形头像方法 /// <summary> /// 正方型裁剪 /// 以图片中 ...

  7. openstack私有云布署实践【17 配置文件部份说明】

    Nova部份 cpu_allocation_ratio = 4.0 物理 CPU 超售比例,默认是 16 倍,超线程也算作一个物理 CPU,需要根据具体负载和物理 CPU 能力进行综合判断后确定具体的 ...

  8. JSON 和 JSONP 两兄弟

    项目中遇到这个新事物,转一篇不错的总结,原文 如今ajax威风凛凛 但说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决? 这两个问题目前都有不同 ...

  9. java第五周学习

    在Java中类与类之间的关系 1.聚合关系 : 两个类的关联程度较低,可以单独存在. 2.组合关系 : 两个的关联程度比较高. Java中如何来表现这个关系. 一类A作为属性存在类B中. 3.依赖关系 ...

  10. Chapter 17_2 备忘录函数

    一项通用的编程技术:用空间换时间. 例如有一种做法就可以提高一些函数的运行速度,记录下函数计算的结果,当再次调用该函数时,便可以复用之前的结果. 比如,一个普通服务器,在它收到请求中包含Lua代码,会 ...