题解 Star Way To Heaven】的更多相关文章

传送门 这整场都不会--这题想二分不会check 其实check很好写,考虑一个mid的实际意义 即为check在不靠近每个star及边界mid距离内的前提下,能不能到达\((n,m)\) 其实可以转化一下,以每个star为圆心,mid为半径画圆 如果两个圆相交就在这两个圆之间连边 并查集维护连通性,如果上下边界连通就说明所有可行路径都被封上了 可以\(O(k^2logn)\)二分 但是还有\(O(k^2)\)解法: 考虑是什么在限制整条路径上的最小值 如果将所有star之间连边,就一定有几条权…
题目描述 小$w$伤心的走上了$Star\ way\ to\ heaven$. 到天堂的道路是一个笛卡尔坐标系上一个$n\times m$的长方形通道(顶点在$(0,0)$和$(n,m)$),小$w$从最左边任意一点进入,从右边任意一点走到天堂. 最左最右的距离为$n$,上下边界距离为$m$. 其中长方形内有$k$个$Star$,每个$Star$都有一个整点坐标,$Star$的大小可以忽略不计. 每个$Star$以及长方形上下两个边缘(宇宙的边界)都有引力,所以为了成功到达$heaven$小$w…
败者死于绝望,胜者死于渴望. 前言 一看这个题就来者不善,对于第一题第一眼以为是一个大模拟,没想到是最小生成树. 对于第二题,先是看到了状压可以搞到的 20pts 然后对着暴力一顿猛调后来发现是题面理解错了. 最后 40min 的时候还是把目光投向了这个题的另一个部分分,然后搞了一个区间 DP 但是应该是 线性 DP. 然后我就又凉了,第三题第一眼是输,第二眼是 DFS 序,第三眼是 DFS 序上的线段树,再然后就老老实实去整暴力了. 后来题目名字在网上一搜,竟然都是歌名.. T1 Star W…
T1:Star Way To Heaven 基本思路:   最小生成树.   假如我们将上边界与下边界看作一个点,然后从上边界经过星星向下边界连边,会发现,他会形成一条线将整个矩形分为左右两个部分.   并且很明显从左边界走到右边界一定会经过这条线的某一部分.   为了与星星和上下边界尽可能远,我们直接走两点连边的中点,这应该很好理解.   他要求最小距离,所以我们可以跑最小生成树.   然后在最小生成树的边里拣大的输出他的\(1/2\)即可.   我们将所有星星连边,并与上下边界连边,与上下边…
题目描述 小 x伤心的走上了 Star way to heaven. 到天堂的道路是一个笛卡尔坐标系上一个 n*m的长方形通道 顶点在0,0 和 . 小 n,m 从最左边任意一点进入,从右边任意一点走到天堂,最左最右的距离n为 ,上下边界距离m为 . 其中长方形有 k个 ,每个k 都有一个整点坐标,star的大小可以忽略不计. 每个star 以及长方形上下两个边缘宇宙的边界都有引力,所以为了成功到达 小w 离他们越远越好. 请问小w走到终点的路径上,距离所有星星以及边界的最小距离最大值可以为多少…
写这篇题解是因为作者太蒻已经忘了最小生成树了. <题面> 这个题还真是想不到最小生成树. $80\%$算法 复杂度:$\Theta(k^2 \log N )$ 用了二分答案(明显答案具有单调性) 然后$k^2$暴力判断是否合法. 可以得到80分. $100\%$算法 复杂度:$\Theta(k^2)$ 考虑上面的暴力判断, 如何判断呢?要搜点距,$dfs$ 然后我们就可以得到一些东西. 假设现在得到了答案是$ans$ 我们考虑它的特性. 在每一个点上以$ans$为半径画圆 那么,一定有一条边上…
题解 \(by\;zj\varphi\) 看懂题!!! 从最左穿到最右,一定会经过两个星星之间或星星和边界之间,那么我们穿过时当前最优一定是走中点 而我们要求最小的距离最大,那么我们将所有星星和边界(上下边界分别设为一个点)连成一个完全图,在图上跑出来一棵最小生成树 那么在最小生成树上的每条边的中点到边的端点一定比这个点到其它所有点的距离小,所以我们只需要找到一条在最小生成树上最大的边 注意,这道题是一个完全图,跑 \(\rm kruskal\) 当常数大时就 \(\rm TLE\) 了,所以跑…
80分打法 首先二分最后答案,答案即为r,可看作以每个k为圆心r为半径的圆 我们进行并查集维护,维护相交的圆的边界 最后判断是否存在圆将上下边界覆盖,如有证明不行 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #include<string> 7 #include<vect…
star way to heaven 题解 大致尝试了一下并查集,记忆化搜索,最小生成树 最小生成树是正解,跑最小生成树然后找到最大的值 欧几里德距离最小生成树学习 prim楞跑 至于为什么跑最小生成树不是跑最大生成树,你跑最大生成树连的边可能会^%$&$%!# 感性理解手膜吧,我理解但说不清楚,稍微手膜就出来了,你可以举出一万种反例 代码实现细节比较多,技巧也比较多 注意边界处理,我们可以以一个边界为0,另一个边界权值为m,比较上下边界时不用再比较横坐标 #include<bits/std…
这是一套去年在长沙考过的题,但是我当时就没理清楚+没写题解(我以前很多博客都写得跟shi一样,完全没有意义,看到就想打当时的我),所以又考得稀烂. T1.star way to heaven 容易想到二分+并查集,二分距离所有星星和边界的最小距离r,也就是距离这些点r以内的范围不能走,也就是看以每个点为圆心r为半径的圆能不能把上下都堵满. 这个做法会被卡成80分.正解是用最小生成树代替二分的过程.答案一定是两个点间的距离,最小生成树相当于是从小到大的枚举答案,可以满足当连接一条边权为w的边时,距…
吐槽一句:话说NOIP都取消了还叫NOIP模拟真的好么 于是乎我再次爆炸……(0+20+50=70 rank26) 赛时状态 赛时的状态依旧不佳.不过还是硬逼着自己把三道题都读完,然后开始对出题人静坐示威. 突然意识到这是昨天那套题的day2.后悔昨天没机灵点颓一下.好吧也颓不到.毕竟昨天那套题的题解网上都找不到. 偷瞥了一眼机房其他人的状态,似乎都非常头疼的样子.一向嘈杂的机房甚至没有几声敲键盘键盘声. 嗯,我放心了. 继续抱头想T1,看着double的数据突然想到了二分答案./滑稽 然后就没…
题面:https://www.cnblogs.com/Juve/articles/11369181.html A:Star Way To Heaven 考场上以为只能走直线,于是挂掉了. 有一种方法是二分,二分答案 给每个点一个半径r,如果我们发现这个矩形被几个圆截断,那么说明没有路可走,不符合情况, 如果符合,就更新答案. 具体实现可以用并查集. joe巨佬的二分: #include<iostream> #include<cstdio> #include<cstring&g…
考场 乍一看 T1 像是二分答案,手玩样例发现可以 \(O(k^2)\) 枚举点对,贪心地更新答案,完了?有点不信,先跳了 T2 的形式有点像逆序对,但没啥想法 T3 的式子完全不知道如何处理,一看就是乱搞的题 回来看 T1,原来的想法果然是假的 悲伤的是思考用了 1h10min,导致开始写代码是有点紧张,怕写不完 T2 先尝试了一个假的贪心,过了样例但小数据都过不了拍,又尝试用贪心来剪枝,发现不可行. T3 写完暴力尝试把几个贪心拼起来:从根往下选,从父亲往上选,选 \(c\) 最小的,随机选…
连续爆炸的开端. 从这一场开始我没状态了 T1 star way to heaven 受强降雨boboQQQ影响,我一直认为这是一道和凸包有关的计算几何题 很快就弃了,除了期望没做过带实数的题,所以吓尿了. 正解仍然是上一场干掉我的最小生成树! 上一场没改明白啊,啪啪打脸! mark:求所有路径上最小限制的最大值,善用最小生成树. 用prim的算法流程可能比较好理解. 众所周知,skyh就是天皇prim和dijkstra打起来简直一模一样. 唯一的不同在于把新节点压入堆中时带着的附加权值,一个是…
问題描述 小w伤心的走上了 Star way to heaven.   到天堂的道路是一个笛卡尔坐标系上一个n×m的长方形通道(顶点在(0,0))和(n,m)),小w从最左边任意一点进入,从右边任意一点走到天堂.   最左最右的距离为n,上下边界距离为m.   其中长方形内有k个Star,每个Star都有一个整点坐标,Star的大小可以忽略不计,   每个Star以及长方形上下两个边缘(宇宙的边界)都有引力,所以为了成功到达heaven小w离他们越远越好.   请问小V走到终点的路径上,距离所有…
考场时Prim的 $i$ 写成 $k$ 100->0 rank1->rank23 T1 Star Way To Heaven 考场正解:假设你要二分答案,则几个圆组成几道"屏障"把画面切成几部分,走每一个屏障的最长边的中点,这样是最优的. 但是屏障间的点可能对答案有影响,所以要把它们合成为一道屏障. 首先取上或下边界,如集合,之后每次取离集合最近的点加入集合,这样就可以找到"屏障"合成后的样子,因为: 对于这样子的三个点,$d(1,2),d(2,3)&l…
题目真是越来越变态了 T1 Star Way To Heaven 首先,你要看出这是一个最小生成树的题(妙吧?) 为什么可以呢? 我们发现从两点连线的中点过是最优的,但是上下边界怎么办呢? 我们把上下边界看作两个点,每个点和它都连边,这样就可以跑最小生成树了 然而不能用kruskar,多一个$log$就会炸列 只能选用$prim$算法$n^2$已经是最优秀的了 找到生成树里面最大的边/2即可 1 #include<bits/stdc++.h> 2 using namespace std; 3…
ZJ模拟D2就是NB.. T1 Star Way To Heaven 谁能想到这竟是个最小生成树呢?(T1挂分100的高人JYF就在我身边 把上边界和下边界看成一个点和星星跑最小生成树,从上边界开始跑到下边界,一定会出现一条将矩阵纵向一分为二的折线,其中线段都是最小距离,答案就是其中最长的线段的一半. 我直呼NB 由于这是个完全图,kruscal比prim多个log,会炸. code: 1 #include<bits/stdc++.h> 2 #define debug exit(0) 3 us…
题目 Description __int64 ago,there's a heaven cow called sjy... A god bull named wzc fell in love with her... As an OI & MOer,wzc gave sjy a quesiton... 给定一个整数n,求一个整数m,满足m<=n,并且m/phi(m)的值最大. 注:phi(m)代表m的欧拉函数,即不大于m且与m互质的数的个数. Input 第一行是一个整数T,表示该测试点有T组…
思路:K短路裸题 代码: #include<queue> #include<cstring> #include<set> #include<map> #include<stack> #include<string> #include<cmath> #include<vector> #include<cstdio> #include<iostream> #include<algori…
题面传送门 解决思路 本题数据范围较小,可以使用模拟退火算法(随机化). 顾名思义,模拟退火就是一个类似于降温的过程.先设置一个较大的初温,每次随机改变状态,若使答案更优,则采取更优答案,否则根据其与当前最优答案的差值,一定概率保留这个较不优的答案.这时为了防止答案陷入局部最优的情况: 比如下图,陷入局部最优解 \(1\) 的状态后,需要一定的概率跳出来(蓝色虚线),到 \(2\) 处寻找全局最优解. 关于跳出的概率,遵循 『 \(\text{Metropolis}\) 接受准则 』: 设 \(…
Clarke and five-pointed star Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5563 Description Clarke is a patient with multiple personality disorder. One day, Clarke turned into a learner of geometric. When he d…
B - A Star not a Tree? Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88808#problem/B Description Luke wants to upgrade his home computer network from 10mbs to 100mbs. His existing network uses 10ba…
T1: 题目大意:现有一个以1为根节点的树,要求从1开始出发,经过下面的点然后最终要回到根节点.同时除了根节点之外各点均有一个权值(即受益,每个点上的收益只能拿一次,且经过的话必须拿),同时除了根节点外各点均有一个经过次数的限制,要求求出来从根节点出发回到根节点的最终受益总和的最大值,以及这个最大值是否存在多种方式可以做到(单纯的访问顺序不同算一种) 题解:很明显的树状DP,关于每一个节点均转移一下,取最前面的一些(注意出现负数的话不管怎么样直接无视,但是0不要直接扔),然后再取最大的求和即可(…
38. Count and Say The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11. 11 is read off as "two 1s" or 21. 21 is read off as "one 2, then one 1&quo…
版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - Leetcode 10. 正则表达式匹配 - 题解 LeetCode 10. Regular Expression Matching 在线提交 分析 克莱尼星号(算子) 定义及标记法 例子 推广 方法1:递归 方法2:动态规划 在线提交 https://leetcode.com/problems/re…
33. Search in Rotated Sorted Array Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return i…
F: Star Time Limit: 1 s      Memory Limit: 128 MB Submit My Status Problem Description 31世纪,人类世界的科技已经发展到了空前的高度,星际移民,星际旅游早已经不再是问题.人类已经掌握了开发星系的能力.但是,无论发展到何种地步,资源一直是人们关注的重点.一种新的能源被人类掌握,通过它可以搭建虫洞,实现超光年传输.发展武器.但是虽然这种物质在宇宙海量的存在着,但它对于宇宙的稳定是至关重要的,若过量消耗这种物质,对…
想要继续向前,就从克服内心的恐惧开始. 麻将 题意 在麻将中,我们称点数连续的三张牌或三张点数一样的成为面子,称两张点数一样的牌为对子.一副十四张麻将牌的胡牌条件是可以分成四个面子和一个对子或者分成七个互不相同的对子.现在规定麻将牌的点数为\(1\sim n\),每种点数都有四张牌.现在给出你初始的十三张手牌,假设剩余的牌以随机的顺序发到你的手上,求期望发多少张牌以后你的手牌中存在一组牌可以胡牌.注意点数相同的牌两两之间也视为不同的.\(5\leq n\leq 100\).答案对\(998244…
拖了一周才完成的题解,抛出一个可爱的表情 (っ'-')╮ =͟͟͞͞❤️.对我来说E.F比较难,都是线段树的题,有点久没写了. A - Infinite Sequence CodeForces - 675A 公差为c,首项为a的等差数列是否有一项等于b. 注意c为0的情况. #include<cstdio> long long a,b,c; int main() { scanf("%lld%lld%lld",&a,&b,&c); if(c==0&am…