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...这游戏有毒).自己也尝试了玩了几次,作为一个手残+脑残的资深 ...
随机推荐
- 洛谷P3792 由乃与大母神原型和偶像崇拜
P3792 由乃与大母神原型和偶像崇拜 题目背景 由乃最近没事干,去研究轻拍学去了 就是一个叫做flip flappers,轻拍翻转小膜女的番 然后研究的过程中她看到了一个叫做大母神原型的东西 大母神 ...
- 洛谷P3068 [USACO13JAN]派对邀请函Party Invitations
P3068 [USACO13JAN]派对邀请函Party Invitations 题目描述 Farmer John is throwing a party and wants to invite so ...
- JSONObject,JSONArray,String,Map间的互转
引言 在平常的Web项目开发过程中,json和String.map是最常用的类型和返回结果集,其中也经常会涉及到之间的各种相互转换,下边就总结一下: 1.String转JSONObject ...
- [sql] view plain copy
[sql] view plain copy CREATE TABLE SYS_USER ( USER_CODE VARCHAR( 36 ) NOT NULL, LOGIN_NAME VARCHAR( ...
- webpack分包:vue单页面解决分包【减少首屏加载时间】--按需加载[路由懒加载]
1.使用webpack中的syntax-dynamic-import 插件 npm install --save-dev babel-plugin-syntax-dynamic-import 2.配置 ...
- 解决Win10中vmware运行特别慢问题
1.关闭防火墙:win+S打开搜索框,输入防火墙,选择windowsDefender防火墙 ,如图: 2.启用或关闭防火墙,如图: 3.关闭防火墙,两个选项都关闭,如图: 4.打开VMware,如果速 ...
- ubuntu 14.04安装octave,及其使用
从库安装: sudo apt-add-repository ppa:octave/stable sudo apt-get update sudo apt-get install octave 使用:以 ...
- POJ1020 Anniversary Cake
题目来源:http://poj.org/problem?id=1020 题目大意:有一块边长为s的正方形大蛋糕,有n个客人,每个客人想分一块边长为si的正方形蛋糕.求这块大蛋糕能否恰好满足所有客人的需 ...
- angular双向绑定与单向绑定的写法区别
[ngModel]="manualCode" (ngModelChange)="manualCode=$event;" 等价于下面这样的写法: [(ngMode ...
- spock和junit测试报告
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...