题目连接: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. Android代码笔记

    1. 如何监听Android的短信收发,自动填充验证码? getContentResolver().registerContentObserver(Uri.parse(SMS_URI_ALL), tr ...

  2. mybatis深入理解(一)之 # 与 $ 区别以及 sql 预编译

    mybatis 中使用 sqlMap 进行 sql 查询时,经常需要动态传递参数,例如我们需要根据用户的姓名来筛选用户时,sql 如下: select * from user where name = ...

  3. maven POM总结

    可继承的字段 version property 其他占坑: parent import scope   Dependency_Management中的scope是可以被继承的,http://maven ...

  4. $.getScript("/Scripts/js/video.min.js");

    js内引用JS: $.getScript("/Scripts/js/video.min.js");

  5. unity ForceMode

    public float jumpAbility; GetComponent<Rigidbody>().AddForce(Vector3.up * jumpAbility, ForceMo ...

  6. Java面向对象_继承——基本概念以及管理化妆品实例分析

    一.继承的基本概念: 1.继承是面向对象三大特征之一 2.被继承的类成为父类(超类),继承父类的类成为子类(派生类) 3.继承是指一个对象直接使用另一个对象的属性和方法 4.通过继承可以实现代码重用 ...

  7. js中的onclick事件传参需要注意的问题

    如果参数是数值类型可以直接传,如果是字符串类型需要在字符串前后加上双引号,双引号需要转义 如 onclick="test(0)";  直接传值 参数为数值 onclick=&quo ...

  8. Kotlin容器

    1. 容器 可变/不可变 List<out T> 只读list; MutableList<T>; Set<out T>/MutableSet<T> Ma ...

  9. c/s和b/s的区别及实例说明【转】

    B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑 ...

  10. JAVA基础系列(一) 概述与相关概念

    万事开头难,来这个平台上已经有一段时间了,看到了很多高质量的文章,也很喜欢这种简约的风格.一直也想把自己的零散的知识体系组织起来,但苦于自己拙劣的文笔和不成流派的风格让大家笑话,直到现在才开始.可是从 ...