[NOI2019] 弹跳】的更多相关文章

题意: 给你平面上的$n$个点,共有$m$个弹跳装置. 每个弹跳装置可以从点$p_{i}$以$t_{i}$的代价跳到矩形$(L_{i},D_{i}),(R_{i},U_{i})$中的任何一个点. 现在请你对于每座城市求出从1号点跳到它的最小代价. $n\leq 70000,m\leq 150000$. 题解:不把边建出来的$KD-tree$优化建图. 看一眼就知道$KD-tree$优化建图,但如果把所有边都建出来就爆炸了. 设原图上的点是实点,$KD-tree$上的点(代表一个实点和一个矩形)是…
原题传送门 先考虑部分分做法: subtask1: 暴力\(O(nm)\)枚举,跑最短路 subtask2: 吧一行的点压到vector中并排序,二分查找每一个弹跳装置珂以到达的城市,跑最短路 subtask3: 看见是一个链,自然而然的可以想到线段树优化建图,跑最短路 100pts 上面是72pts的暴力做法,其中subtask3的做法给了我们了一些提示,这题要用数据结构优化建图: 在横轴上开一颗线段树,线段树每个节点上是一个存pair的set,存的是\([l,r]\)区间内有第\(id\)个…
题面传送门 一道非常有意思的题(大概可以这么形容?) 首先看到这类一个点想一个区域内连边的题目可以很自然地想到线段树优化建图,只不过这道题是二维的,因此需要使用二维线段树优化建图,具体来说,我们外层开一棵大线段树维护 \(x\) 轴下标区间,大线段树上每个节点又套了个小的动态开点线段树,每次我们从一个点向一个矩形连边时就在动态开点线段树上找到对应的区间并从这个点向这些区间中连边,不难发现这个做法点数是 \(\mathcal O(n\log^2n)\) 级别的,边数是 \(\mathcal O(m…
本题可以用的方法很多,除去以下三种我所知道的就还有至少三种. 方法一:类似线段树优化建图,将一个平面等分成四份(若只有一行或一列则等分成两份),然后跑Dijkstra即可.建树是$O(n\log n)$的,单次连边是$O(n\log^2 n)$的. #include<queue> #include<vector> #include<cstdio> #include<cstring> #include<algorithm> #define rep(…
luogu 因为是一个点向矩形区域连边,所以可以二维数据结构优化连边,但是会MLE.关于维护矩形的数据结构还有\(KD-Tree\),所以考虑\(KDT\)优化连边,空间复杂度\(m\sqrt n\),无法通过 进一步的,一条题目中的边会对若干\(KDT\)上的点连边,然后这些点的子树被此点更新.考虑\(dijkstra\)的过程,每次拿出\(dis\)最小的点,并更新其他点,并且可以发现如果其他点被当前最小的\(dis_x+w_i\)更新到就不能再被更新了,那么我们可以每次取出最小的\(dis…
题目链接 第一眼就是 $KDtree$ 优化建图然而,空间只有 $128mb$,开不下   时间不吃紧,考虑直接跑 $Dijkstra$ $Dijkstra$ 中存储的是起点到每个输入时给出的矩阵的最短距离 当取出堆顶时就将这个矩阵中所有点 "裂开",并更新每一个小点的答案 如果该点在之前已经被一个最短路更短的矩阵更新过了,就不扩展它 否则,扩展每一个分裂出的点,将新的矩阵加入优先队列中即可 一个重要的优化就是每次 "分裂" 一个矩阵时要在 $KDtree$ 中将对…
分析 代码 #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair ; const int M = 2e5; int n,m,w,h,x[N],y[N],p[M],t[M],L[M],R[M],D[M],U[M]; int head[N],nxt[M],cnt,dis[N],vis[N]; multiset&…
被jump送退役了,很生气. 不过切了这题也进不了队,行吧. 退役后写了一下,看到二维平面应该就是KD树,然后可以在KD树上做最短路,然后建立堆和KDTree.然后每次更新则是直接把最短路上的节点删掉,然后合并KDTree #include<bits/stdc++.h> using namespace std; ,M=15e5+; struct point{int w,l,r,u,d;}p[N]; struct node{int u,d;}; vector<int>G[N]; ];…
题目传送门 题目大意 给出 \(n\) 做城市,每座城市都有横纵坐标 \(x,y\).现在给出 \(m\) 个限制 \(p,t,l,r,d,u\),表示从 \(p\) 城市出发,可以花费 \(t\) 走到 \(l\le x\le r,d\le y\le u\) 的一座城市. 问,从城市 1 出发走到每座城市的最小花费是多少? \(n\le 7\times 10^4,m\le 1.5\times 10^5\) 思路 这道题自己只做出来 \(76\) 分,剩下的感觉还是比较妙吧? 首先不难看出,我们…
Description 平面上有 \(n\) 个点,分布在 \(w \times h\) 的网格上.有 \(m\) 个弹跳装置,由一个六元组描述.第 \(i\) 个装置有参数:\((p_i, t_i, L_i, R_i, D_i, U_i)\),表示它属于 \(p_i\) 号点,从点 \(p_i\) 可以通过这个装置跳到任意一个满足 \(x\) 坐标 \(\in[L_i, R_i]\),\(y\) 坐标 \(\in [D_i, U_i]\) 的点,耗时 \(t_i\). 现给出点 \(i\sim…
题目传送门:LOJ #3159. 题意简述: 二维平面上有 \(n\) 个整点,给定每个整点的坐标 \((x_i,y_i)\). 有 \(m\) 种边,第 \(i\) 种边从 \(p_i\) 号点连向满足 \(l_i\le x_j\le r_i\) 和 \(d_i\le y_j\le u_i\) 的点 \(j\),即一个矩形范围内的所有点. 求 \(1\) 号点到其它每个点的最短路长度. 题解: 考虑 Dijkstra 算法求最短路的过程: 一开始只有起点的距离为 \(0\),而其它点距离为无限…
题意:w×h网格中有n个点,m条边.每条边可以从p点花费t时间到一个矩形中的任意点,求1号点到每个点的最少时间. \(1<=w,h<=n<=70000,1<=m<=150000\) 时间2s,空间128M. 本题如果放在序列上,使用线段树建图,可以做到\(O(mlogn)\)的复杂度,通过数据分治可以获得72分. 对于二维问题可以想到将线段树变为二维线段树,然而会被卡空间. 考虑此题暴力Dij的本质:就是每次找最小的点,然后把一个矩形中大于z的数都改为z,再删除这个点. 看到…
查看效果:http://keleyi.com/a/bjad/tc1y11dy.htm Chrome效果图: 火狐效果图:推荐:http://hovertree.com/texiao/css3/18/ 以下是源码: <!doctype html> <html> <head> <title>HTML5 随机弹跳的小球-柯乐义</title> <style> body{ font-family: 微软雅黑; } body,h1{ margi…
<li onmouseout="this.className='off'"><a href=""><img src="../活力广州_files/admin.png" alt=""></a></li> .off{ -webkit-animation:1s seconddiv; background: transparent; } @keyframes seconddi…
WPF,用ScrollViewer控件,触屏开发,当滑动到最后时会使整个窗体弹跳一下 原因是因为ScrollViewer触屏操作原生支持惯性,ScrollViewer中的内容滚动到边界是会自动触发Window Bounce(窗体弹跳), 以叫做Panning Feedback(拖动回馈). 欲取消这种效果,办法如下: 1. 转给ScrollViewer注册ManipulationBoundaryFeedback事件 2. 在事件中书写:e.Handled = true;即可. private v…
/*======================================================================== 球弹跳高度的计算 总时间限制: 1000ms 内存限制: 65536kB 描述 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下. 编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高? 输入 输入一个整数h,表示球的初始高度. 输出 输出包含两行: 第1行:到球第10次落地时,一共经过的米数. 第2行:第10次…
一款耐玩的ios游戏源码,画面上有很多小星星,球体落下的时候,你需要在画面上画出一条条的线条让球体弹跳起来然后吃掉小星星,如果没借助球体就失败了.游戏有很多关卡.注意: <ignore_js_op> 153354oxt1f31or665wf1t.jpg (78.92 KB, 下载次数: 0) 下载附件  保存到相册 2014-3-22 13:23 上传   <ignore_js_op> <ignore_js_op> <ignore_js_op> <ig…
首先,“回到顶部”.“用户反馈”这两个按钮是通过定位放在左下角上. (1)“回到顶部”的按钮只有当滚动条有出现下滑时才出现 (2)“用户反馈”按钮,用户刚打开时会抖动一下,引起用户的注意,然后才定住. 我的实现做法 首先,这两个按钮我都使用定位的方式定位在右下角适合的位置上.然后, 一."回到顶部" 1.因为如果我们没有滚动鼠标,“按钮”没有出现,所以,我首先是把按钮隐藏起来的display:none,然后再通过js计算滚动后的高度 滚动后高度计算:scrollt = document…
描述: 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下.编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?输入输入一个整数h,表示球的初始高度.输出输出包含两行:第1行:到球第10次落地时,一共经过的米数.第2行:第10次弹跳的高度. 注意:结果可能是实数,结果用double类型保存.提示:输出时不需要对精度特殊控制,用cout << ANSWER,或者printf("%g", ANSWER)即可.样例输入 20 样例输出 59.9…
今天小颖把之前保存的js特效视频看了一遍,跟着视频敲了敲嘻嘻,用原生js实现一个炫酷的登录页面.怎么个炫酷法呢,看看下面的图片大家就知道啦. 效果图: 不过在看代码之前呢,大家先和小颖看看css中的opacity.transition.box-shadow这三个属性. 1.opacity 作用:设置一个元素的透明度 定义和用法 opacity 属性设置元素的不透明级别. 默认值: 1 继承性: no 版本: CSS3 JavaScript 语法: object.style.opacity=0.5…
通过返回闭包,来共用timer定时器,通过定时器的清除和设置来实现每次触发后重新计时. /** * * @param fn {Function} 实际要执行的函数 * @param delay {Number} 延迟时间,也就是阈值,单位是毫秒(ms) * * @return {Function} 返回一个"去弹跳"了的函数 */ function debounce(fn, delay) { // 定时器,用来 setTimeout var timer // 返回一个函数,这个函数会在…
--------本来为作者原创,未经同意禁止转载 前言:我们在很多时候都需要在res/drawable文件夹下创建相应的xml文件来为控件添加一些样式效果,比如按钮按下时的按钮样式变化.或者指定按钮的一些边框样式.或者为常用的EditText.TextView.ImageView.ImageButton等等添加一些样式.今天我们就来讲下怎么制作圆形Button.圆形ImageView.圆形....等,并且使用Animation给它们添加弹跳动画. 我们就先讲一下shape标签的属性吧: 我们在x…
很多应用都有带弹跳动画发布界面,这里用一个 UIViewController 实现这种效果,外界只要 modal出不带动画这个控制器就可以实现 #import "BSPublishVC.h" #import "BSVerticalButton.h" #import <POP.h>   @interface BSPublishVC ()   @end   @implementation BSPublishVC   - (void)viewDidLoad {…
[NOI2019模拟]搬砖 Description 小火车很穷,只好去搬砖了. 小火车被工头要求搭建\(n\)座塔,第i个高度为\(H_i\),也就是由\(H_i\)块砖头组成.每次小火车可以携带至多\(k\)块砖头,由某座塔底出发,摆放砖头.他可以向左右两座塔的相同高度摆放砖头(即使是悬空的),也可以向那两个位置移动过去(必须有砖头才能移动),还可以向同一座塔的上一层攀爬(如果那里有砖头的话就直接爬,如果没有的话可以摆上砖头再爬过去),可惜携带砖头的他并不方便向下爬.请问他至少要多少次才能搭建…
在上一节的基础上,结合高中物理中的匀加速直线运动位移公式 ,就能做出类似超级玛丽的弹跳效果. import pygame pygame.init() win = pygame.display.set_mode((200, 400)) # 画布窗口的大小 pygame.display.set_caption("first game") # 窗口标题 x, y = 85, 300 # 方块的起点 width, height = 30, 30 # 方块的宽,高 speed = 5 # 速度…
由中国计算机学会(CCF)主办的2019全国青少年信息学奥林匹克冬令营(CCF NOI 2019冬令营)将于2019年1月24日-31日在广州市第二中学举行.其中1月24日为报到日,1月31日为疏散日. 现将相关事项通知如下: 报到时间:2019年1月24日8:00-18:00 报到地点:广州市第二中学高中部(广东省广州市黄埔区科学城水西路11号) 一.冬令营培训费 1.正式/非正式营员选手:2600元/人: 2.正式/非正式营员教师:2400元/人,CCF会员2000元/人: 3.超额选手每人…
一款非常常用的css 加载动画,这款CSS3 Loading动画主要由几个小球通过规律的上下跳动,渐隐渐显而成,效果十分生动.流畅.兼容IE8以上,尤其适合在移动端中使用,基本代替了图片实现加载的效果. HTML <div class="bouncing-loader"> <div></div> <div></div> <div></div> </div> CSS @keyframes bo…
题: 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半.再落下. 编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高? 输入 输入一个整数h.表示球的初始高度. 输出 输出包括两行: 第1行:到球第10次落地时.一共经过的米数. 第2行:第10次弹跳的高度. 注意:结果可能是实数,结果用double类型保存. 提示:输出时不须要对精度特殊控制,用cout << ANSWER,或者printf(…
noi2019模拟测试赛(四十七) T1与运算(and) 题意: ​ 给你一个序列\(a_i\),定义\(f_i=a_1\&a_2\&\cdots\&a_i\),求这个序列的所有排列的\(\Sigma_i f_i\)的最大值. 题解: ​ dp,记\(dp_i\)表示前面的数与和为\(i\)的最大值,转移要一个超集的东西,fwt搞一搞就行了. #include<bits/stdc++.h> #define fo(i,l,r) for(int i=l;i<=r;i+…
点击上方"前端自习课"关注,学习起来~ 这是只用了一个div来做的小动画,纯粹利用CSS3的animation来完成,就像是一个正方形在地上弹跳,碰到地面的时候尖角还会压缩变圆,阴影的部分也会随着正方形升高而缩小,至于到底该怎么完成呢?让我们继续看下去. 利用伪元素 由于只使用了一个div,要同时达到正方形旋转与阴影缩放的效果,这里必须使用两个伪元素(before与after)来完成,严格来说,虽然只有一个div,但是却是把这个div当作外框,让伪元素before作为旋转的正方形,让伪…