题目连接:https://ac.nowcoder.com/acm/contest/904/C

  题意很好理解,思路想歪了,本来一道很简单的题,写了好久没写出来。

  思路就是找每一个高度最大值的时候就是找“  当前的小鱼干数量+(高度-允许差值到高度+允许差值中鱼干的最大数量)  ”,复杂度为m*n*2,但我感觉复杂度爆炸了,所以我用线段树维护区间最大值,复杂度为n*logn

  AC代码:(感觉线段树会爆内存,可能牛客的评测姬比较友好吧)

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+;
typedef long long ll;
typedef struct W_W{
int left;
int right;
ll weight;
}miao;
ll maxx(ll a,ll b){
if(a>b) return a;
return b;
}
miao x[maxn*];
void build(int l,int r,int dang){
if(l==r){
x[dang].left=l;
x[dang].right=r;
x[dang].weight=;
return;
}
int mid=(l+r)/;
build(l,mid,dang*);
build(mid+,r,dang*+);
x[dang].left=l;
x[dang].right=r;
x[dang].weight=;
}
ll query(int l,int r,int dang){
//printf("%d %d %d\n",dang,x[dang].left,x[dang].right);
if(l<=x[dang].left&&r>=x[dang].right){
return x[dang].weight;
}
if(l>x[dang].right){
return ;
}
if(r<x[dang].left){
return ;
}
//int mid=(l+r)/2;
ll a=query(l,r,dang*);
ll b=query(l,r,dang*+);
return maxx(a,b);
}
void update(int a,ll b,int dang){
if(x[dang].left>a) return;
if(x[dang].right<a) return;
if(x[dang].left==a&&x[dang].right==a){
x[dang].weight=b;
return;
}
update(a,b,dang*);
update(a,b,dang*+);
x[dang].weight=maxx(x[dang*].weight,x[dang*+].weight);
}
int main()
{ int m,n;
scanf("%d %d",&m,&n);
build(,,);
//printf("1111111111\n");
for(int i=;i<m;i++){
int a,b;
scanf("%d %d",&a,&b);
ll sum=query(max(,a-n),min(a+n,),);
//printf("111111\n");
update(a,sum+b,);
}
printf("%lld\n",query(,,));
return ;
}

DongDong跳一跳的更多相关文章

  1. 挑战App Store,微信通过“跳一跳”秀了一下“小程序”的肌肉

    2017年即将结束的时候,微信放了一个大招.随着最新的微信v6.6.1版本更新,基于小程序的"小游戏"板块正式上线.微信上首发的这款"小游戏"叫"跳一 ...

  2. .NET开发一个微信跳一跳辅助程序

    昨天微信更新了,出现了一个小游戏"跳一跳",玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来 ...

  3. C#又能出来装个B了。一步一步微信跳一跳自动外挂

    PS:语言只是载体.思维逻辑才是王道 前天看见了个python的脚本.于是装python.配置环境变量.装pip.折腾了一上午,最终装逼失败. 于是进入博客园,顶部有篇文章吸引了我 .NET开发一个微 ...

  4. 用C#实现微信“跳一跳”小游戏的自动跳跃助手

    一.前言: 前段时间微信更新了新版本后,带来的一款H5小游戏“跳一跳”在各朋友圈里又火了起来,类似以前的“打飞机”游戏,这游戏玩法简单,但加上了积分排名功能后,却成了“装逼”的地方,于是很多人花钱花时 ...

  5. Adb+.net 实现微信跳一跳自动化

    第一次用adb,一开始只是想试试看能不能解析出,没有看网上的现有解析方式. 需要安卓机开启usb 调试+电脑运行.打开跳一跳的界面 点击程序 [开始]按钮即可开始,别的按钮都是调试用的 主要流程是用a ...

  6. 微信跳一跳Python

    微信最新的小程序里面出了个叫“跳一跳”的小游戏,大神们也通过Python实现了自动玩游戏具体代码 如下: Github地址: https://github.com/wangshub/wechat_ju ...

  7. 微信跳一跳辅助自动跳Python

    一.说明 此代码借鉴github一位大神所写,已经做了简化合并处理,如果能成功连上手机并运行,可以实现程序自动玩游戏,刷个1000+的分数轻轻松松 github源码地址 https://github. ...

  8. python如何玩“跳一跳”!(windows安桌版本请进!)

    最近"跳一跳",很火爆,有木有? 看了一下网上的教程,动作搭建了一下环境,就可以用脚本自动跑起来啦!!! 下面说一下android手机的实现过程: 首先,是python环境的搭建 ...

  9. 微信小程序跳一跳辅助程序(手动版)

    最近,微信官方推出了demo小程序游戏<跳一跳>,这个游戏操作简单,容易上手,却又不容易获得高分,受到很多人的喜爱(emm...这游戏有毒).自己也尝试了玩了几次,作为一个手残+脑残的资深 ...

随机推荐

  1. 毕马威&阿里:通向智能制造的转型之路

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 2019 年 4 月 17 日,毕马威与阿里研究院携手举办了智能经济主题报告发布会,从技术.制造.组织 ...

  2. 黑马MySQL数据库学习day03 级联 多表查询 连接和子查询 表约束

    /* 存在外键的表 删表限制: 1.先删除从表,再删除主表.(不能直接删除主表,主表被从表引用,尽管实际可能还没有记录引用) 建表限制: 1.必须先建主表,再建从表(没有主表,从表无法建立外键关系) ...

  3. 运算符优先级 (JavaScript)

    运算符优先级描述了在计算表达式时执行运算的顺序.先执行具有较高优先级的运算,然后执行较低优先级的运算.例如,先执行相乘,再执行相加. JavaScript 运算符     下表列出了 JavaScri ...

  4. SPGroup 和SPUser的常用操作

    http://www.cnblogs.com/gzh4455/archive/2012/03/26/2417854.html private bool RemoveUserFromGroup(stri ...

  5. C# Repeater 嵌套

    <table class="table table-bordered table-fixed"> <thead> <tr> <th wid ...

  6. sourceInsight4 破解笔记(完美破解)

    https://www.cnblogs.com/Napoleon-Wang/p/6706773.html 时隔好多年,sourceinsight4以迅雷不及掩耳之势的来了.与3.5相比,sourcei ...

  7. (转)Linux最常用指令及快捷键 Linux学习笔记

    Linux最常用指令及快捷键 Linux学习笔记 原文:http://blog.csdn.net/yanghongche/article/details/50827478 [摘自 鸟叔的私房菜]--转 ...

  8. Hadoop InputFormat详解

    InputFormat是MapReduce编程模型包括5个可编程组件之一,其余4个是Mapper.Partitioner.Reducer和OutputFormat. 新版Hadoop InputFor ...

  9. Nodejs mysql pool使用实例

    前段时间在写一个版本发布工具,用到express+mysql实现,当站点运行很长一段空白时间后,node进程会自动down掉,提示mysql连接错误,谷歌后发现是mysql自身的特性导致,因此后来改为 ...

  10. InteliJ idea import project 找不到文件结构解决办法

    一.按下列步骤操作:       1. 关闭IDEA,        2.然后删除项目文件夹下的.idea文件夹       3.重新用IDEA工具打开项目: 二.import新项目之后,可能需要等1 ...