DongDong跳一跳
题目连接: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跳一跳的更多相关文章
- 挑战App Store,微信通过“跳一跳”秀了一下“小程序”的肌肉
2017年即将结束的时候,微信放了一个大招.随着最新的微信v6.6.1版本更新,基于小程序的"小游戏"板块正式上线.微信上首发的这款"小游戏"叫"跳一 ...
- .NET开发一个微信跳一跳辅助程序
昨天微信更新了,出现了一个小游戏"跳一跳",玩了一下 赶紧还蛮有意思的 但纯粹是拼手感的,玩了好久,终于搞了个135分拿了个第一名,没想到过一会就被朋友刷下去了,最高的也就200来 ...
- C#又能出来装个B了。一步一步微信跳一跳自动外挂
PS:语言只是载体.思维逻辑才是王道 前天看见了个python的脚本.于是装python.配置环境变量.装pip.折腾了一上午,最终装逼失败. 于是进入博客园,顶部有篇文章吸引了我 .NET开发一个微 ...
- 用C#实现微信“跳一跳”小游戏的自动跳跃助手
一.前言: 前段时间微信更新了新版本后,带来的一款H5小游戏“跳一跳”在各朋友圈里又火了起来,类似以前的“打飞机”游戏,这游戏玩法简单,但加上了积分排名功能后,却成了“装逼”的地方,于是很多人花钱花时 ...
- Adb+.net 实现微信跳一跳自动化
第一次用adb,一开始只是想试试看能不能解析出,没有看网上的现有解析方式. 需要安卓机开启usb 调试+电脑运行.打开跳一跳的界面 点击程序 [开始]按钮即可开始,别的按钮都是调试用的 主要流程是用a ...
- 微信跳一跳Python
微信最新的小程序里面出了个叫“跳一跳”的小游戏,大神们也通过Python实现了自动玩游戏具体代码 如下: Github地址: https://github.com/wangshub/wechat_ju ...
- 微信跳一跳辅助自动跳Python
一.说明 此代码借鉴github一位大神所写,已经做了简化合并处理,如果能成功连上手机并运行,可以实现程序自动玩游戏,刷个1000+的分数轻轻松松 github源码地址 https://github. ...
- python如何玩“跳一跳”!(windows安桌版本请进!)
最近"跳一跳",很火爆,有木有? 看了一下网上的教程,动作搭建了一下环境,就可以用脚本自动跑起来啦!!! 下面说一下android手机的实现过程: 首先,是python环境的搭建 ...
- 微信小程序跳一跳辅助程序(手动版)
最近,微信官方推出了demo小程序游戏<跳一跳>,这个游戏操作简单,容易上手,却又不容易获得高分,受到很多人的喜爱(emm...这游戏有毒).自己也尝试了玩了几次,作为一个手残+脑残的资深 ...
随机推荐
- 洛谷P1311 选择客栈
P1311 选择客栈 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一 ...
- 今天实现一个T-sql的小编程,分享给大家,看看就好~(列值赋值)
介绍:将一个表的某列值插入到另一个表的列里,暂定为表aa和表nn DECLARE @a int set @a=1 while @a<nn.列1.length --(注:语法不对你可以用查询 ...
- (转)linux磁盘分区fdisk分区和parted分区
linux磁盘分区fdisk分区和parted分区 原文:http://www.cnblogs.com/jiu0821/p/5503660.html ~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- python学习一(Python中的列表)
python中有两种列表,分别用()和[]表示: 例如: letter = ('a','b','c') letter = ['a','b','c'] 用小括号表示的列表初始化后不允许修改,而中中括号生 ...
- 牛客网Java刷题知识点之基本类型的自动转换和基本类型的强制转换
不多说,直接上干货! TypeConvertDemo.java //自动类型转换 class TypeConvertDemo { public static void main(String[] ar ...
- kill 与 kill -9(面试中问道的知识点)
转载自:http://www.2cto.com/os/201305/215267.html 需要特别说明的是,SIGKILL和SIGSTOP这两个信号既不能被应用程序捕获,也不能被操作系统阻塞或忽略. ...
- USB转串口连接线与串口调试助手的使用
---作者吴疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- -----------点击此处链接至博客园原文----------- 功能说明:宇泰UT-890 ...
- chroot 的应用
http://www.williamlong.info/archives/3864.html http://my.oschina.net/u/1590519/blog/342576
- Canny边缘检测学习
Canny边缘检测学习:http://www.open-open.com/lib/view/open1453460512558.html 高斯滤波学习:http://www.cnblogs.com/q ...
- EasyUI Combobox 的 onChange,onSelect,onClick 事件
EasyUI 中 Combobox 选项发生改变时会触发 onChange,onSelect,onClick,3 个事件.最近要做一个级联的 Combo 菜单,类似于选择地址时让用户填写省,市,区的菜 ...