[luogu4264][USACO18FEB]Teleportation】的更多相关文章

题解 先吐槽一波题目:便便传送门,出题人还真的有一点厉害的滑稽. 废话不多说. 首先问题的本质就是求如果当这个传送门的端点位于\(y\)的时候,最小的求出总代价,我们设为函数\(f(y)\). 因为这个\(f(y)\)是一个具有分段线性的结构函数,我们就在求\(f(y)\)的时候遍历\(y\),就可以了.每次当我们处理到两段函数的交界处时,我们就算出两个函数的斜率,算出其中的最小值. 因为有\(n\)个点,那么复杂度就是\(O(n)\),但是一开始我们的各个点的顺序不定,那么我们需要花\(O(n…
题面:P4269 [USACO18FEB]Snow Boots G 题解: 把所有砖和靴子排序,然后依次处理每一双靴子,把深度小于等于它的砖块都扔线段树里,问题就转化成了求线段树已有的砖块中最大的砖块间距是否小于当前靴子间距. 代码: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define max(a,b) ((a)>(b)?(a):(b)) u…
题目 P4271 [USACO18FEB]New Barns 做法 这题很长见识啊!! 知识点:两棵树\((A,B)\)联通后,新树的径端点为\(A\)的径端点与\(B\)的径端点的两点 不断加边,那就\(LCT\)维护联通块径端点就好了,两点的简单路径就是把链拉起来的子树 My complete code #include<cstdio> #include<iostream> #include<cstring> #include<string> #incl…
Teleportation(tel) 题目描述 Zy大帝拥有n个星球,因为距离非常遥远,所以Zy在他所居住的1号星球和他的军事基地霸中所在的2号星球建造了两个传送门,这样从1号星球到2号星球就只需要250分钟,回去也一样(双向).由于科技的发展,各个星球陆陆续续建造了和自己居民最经常去的星球之间的传送门,并且他们的传送门只需要1个小时(真快啊!),他们发现和别的星球建设传送门对促进经济发展有很大的帮助,于是向和其他所有星球建设传送门发展,Zy突然发现两两星球的传送门的建设会威胁到他的安全,可是他…
量子隐形传态是量子纠缠的又一个应用. 隐形传态,所谓隐形的意思就是没有物质介质就传递了信息,在经典世界,传递信息要有介质,光.电磁波或者其他的什么,但是在量子的世界里,我可以把信息传递给你,并且不传递任何一个量子比特. 量子不能克隆原理 不能克隆就是说,没有任何一个U操作,可以输入\(|\psi\rangle\) 和 \(|0\rangle\) 然后得到输出 \(|\psi\rangle\) 和 \(|\psi\rangle\) . why? 若是真的有这么一个操作算符,如图a,可以复制任意的量…
题面: Problem F. Teleportation Input file: standard input Output file: standard output Time limit: 15 second Memory limit: 1024 megabytes   One of the farming chores Farmer John dislikes the most is hauling around lots of cow manure. In order to streamli…
题意 每次新建一个节点,并与一个已知节点连边.(或者不连).多次询问以某个已知点点出发的最远路径长度. 分析 显然,在任何时候图都是一个森林.由树的直径算法可知,与某点最远距的点必然是树的直径的一段.那么考虑在lct中维护直径. 实现 一篇精彩的LCT,应该像少女穿的迷你裙,越短越好.--林语堂 (误 #include <bits/stdc++.h> using namespace std; const int N=1e5+10; namespace lct { int ch[N][2],fa…
题面 大意:给出n个弹弓,可以用ti的时间把xi位置运到yi,在给出m组询问,求xj到yj最小时间. sol:首先如果不用弹弓,时间应为abs(xj-yj).否则时间就是abs(xi-xj)+abs(yi-yj)+ti.这就需要拆开绝对值用线段树来维护了.大力枚举四种情况,建四次线段树,就可以过了. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> us…
题目大意 给你\(n\)个文件的关系,求出某一个点,这个点到叶节点的长度的总距离最短.(相对长度的定义在题目上有说明) 感想 吐槽一下出题人,为什么出的题目怎么难看懂,我看了整整半个小时,才看懂. 题解 首先数据给我们的是一棵树,一开始我审题不仔细以为是到每个节点的距离最短,就以为是要求树的重心.后来发现不对,而且节点之间的距离不怎么好处理,因为以不同的节点为起点,两节点之间的距离是会变化的.需要用树形dp来解决这个问题,首先预处理出以\(u\)为根节点的子树中有多少个叶节点,因为每一个相对路径…
题目大意 求出最少需要丢去多少双靴子才能到达终点. 解法 解法一: 看到数据的范围,非常清楚\(O(n^3)\)能过掉所有的数据,那么我们就果断暴力. 解法二: 比较容易会想到用DP做,我一开始定义\(f[i][j]\)表示前\(i\)个格子,现在穿了第\(j\)双时的最小丢弃数. 那么决策就是每次枚举前面的第\(k\)个格子,和现在穿了第\(p\)双时的最小丢弃数,计算两者之间的距离,在转移. 但是这样无法判断是否要丢弃出最上面的那一双,这样写感觉非常的麻烦. 所以就换了一种状态:\(f[i]…
题意可化为: 在二维平面中有n个点,坐标为\((x_i,y_i)\),点权为\(t_i\). 现有m个询问,每次给定点\((x,y)\),求\(\min\{|x-x_i|+|y-y_i|+t_i,|y-x|\}\) 排序离散化后扫描线+分类讨论即可 #include"cstdio" #include"cstring" #include"iostream" #include"algorithm" using namespace…
题面 从零开始的DP学习系列之贰(我的DP真的就这么烂TAT) 设DP状态的另一个技巧,考虑题目中有关答案的各种信息 然后这种和结尾有关系的$dp$可以考虑向前找结尾来转移 设$dp[i][j]$表示到第$i$天为止,有$j$天有奶牛逃跑的最小不一致记录数.转移时枚举天数和逃跑天数,然后枚举一个前一个逃跑的天数$k$,从$dp[i-1][k]$以一个$dif[k+1][i]$的代价转移过来.其中$dif[i][j]$表示从第$i$天到第$j$天中与记录不一致的数目.这样直接做是$O(n^4)$的…
提供一种无脑DP做法 题目中大概有这么些东西:位置,穿鞋,跑路 数据小,那么暴力开数组暴力DP吧 设dp[i][j]表示穿着鞋子j,到达位置i是否可行 无脑转移 枚举位置,正在穿哪双鞋,换成哪双走出去,走几步 小的注意事项 1,穿这双鞋不能到这个地方就可以直接跳过,它不能用来转移 2,如果这只鞋不能满足在这个地方死不了,我们就不能穿这双鞋走出去 3,如果走这些步到达的地方,这双鞋不能承受,就不能转移 最后枚举最少穿几双走到n即可 #include<iostream> #include<c…
Luogu4267 题解 对于\(dp[i][j]\) , 预处理出一些转移一步的次数 , 然后可以很方便的转移 : \(dp[i][j]=min(dp[k][j-1]+cnt[j][i])\)…
\(\color{#0066ff}{ 题目描述 }\) Farmer John最讨厌的农活是运输牛粪.为了精简这个过程,他产生了一个新奇的想法:与其使用拖拉机拖着装满牛粪的大车从一个地点到另一个地点,为什么不用一个巨大的便便弹弓把牛粪直接发射过去呢?(事实上,好像哪里不太对--) Farmer John的农场沿着一条长直道路而建,所以他农场上的每个地点都可以简单地用该地点在道路上的位置来表示(相当于数轴上的一个点).FJ建造了\(N\)个弹弓(\(1 \leq N \leq 10^5\)),其中…
link 这题在线得写树套树,所以我写的离线+树状数组 对于每个询问,Ans=\(\max_{j=1}^n{|a_j-x_i|+|b_j-y_i|+t_i}\) 拆成四种情况 \(x_i\le a_j,y_i\le b_j: a_j+b_j+t_i-x_i-y_i\) \(x_i\le a_j,y_i> b_j: a_j-b_j+t_i-x_i+y_i\) \(x_i> a_j,y_i\le b_j: -a_j+b_j+t_i+x_i-y_i\) \(x_i> a_j,y_i> b…
题目大意:略 网上各种神仙做法,本蒟蒻只想了一个离线+并查集的做法 对所有靴子按最大能踩的深度从大到小排序,再把所有地砖按照积雪深度从大到小排序 一个小贪心思想,我们肯定是在 连续不能踩的地砖之前 的一个位置开始跳,如果这都不能跳过这一段连续的坏地砖,说明这个靴子肯定不能用 那么离线靴子以后,会发现不能踩的瓷砖是逐渐添加上去的,相当于求序列中最长连续坏点的长度 可以用并查集维护,一个点如果不能踩,就去merge它左右也不能踩的地砖,即积雪深度大于等于这块地砖 再用并查集维护一个size表示当前联…
题意 传送门 题解 首先我们不竖着看奶牛而是横着看.从下往上把奶牛叫做处于第0,1,2...0,1,2...0,1,2...层.那么相当于第000层的不动,第111层的平移一格,第222层的平移222格,以此类推,第iii层平移iii格.假设每一层的最小正周期为xix_ixi​,则显然有xi∣ix_i|ixi​∣i且xi∣nx_i|nxi​∣n.因为第iii层动了iii步恰好复原,iii就一定是最小正周期的倍数:因为是nnn的环排列,所以最小正周期是nnn的因数. 那么就有xi∣gcd(i,n)…
传送门 解题思路 推了推式子发现是个二维数点,想了想似乎排序加线段树难写,就写了个树套树,结果写完看见空间才\(128M\)..各种奇技淫巧卡空间还是\(MLE\)到天上.后来只好乖乖的写排序+线段树.做法就是把式子写出来,然后把绝对值分类讨论成四种情况,发现这就是二维数点,然后讨论每种情况排序算最小值. 代码1(树套树 30pts) #include<iostream> #include<cstdio> #include<cstring> #include<cm…
SlingShot 求数轴上从x到y的最短路( 边长为1),有若干个从xi到yi长度为ti的传送门,每次只能选择其中一个使用. 即求min(|x-y|,min{|a-x|+|b-y|+c}),拆开绝对值,根据相对位置分开讨论,转换成二维数点问题. MLE的主席树版本: #include<bits/stdc++.h> #define P pair<ll,ll> #define fir first #define sec second using namespace std; type…
浅谈一下对于这题做完之后的感受(不看题解也是敲不出来啊qwq--) 题意翻译 Farmer John注意到他的奶牛们如果被关得太紧就容易吵架,所以他想开放一些新的牛棚来分散她们. 每当FJ建造一个新牛棚的时候,他会将这个牛棚用至多一条双向道路与一个现有的牛棚连接起来.为了确保他的奶牛们足够分散,他有时想要确定从某个特定的牛棚出发,到它能够到达的最远的牛棚的距离(两个牛棚之间的距离等于从一个牛棚出发到另一个之间必须经过的道路条数). FJ总共会给出QQ(1 \leq Q \leq 10^51≤Q≤…
题意 给一个一开始没有点的图,有 \(q\) 次操作,每次为加点连边或者查询一个点到连通块内所有点的距离最大值. \(\texttt{Data Range}:1\leq q\leq 10^5\) 题解 跟「雅礼集训 2017 Day5」远行很像的一个题,都是 LCT 维护直径. 注意到树上一个点到其他点的距离最大值只可能在直径的两个端点处取到,而且又存在加边操作,所以可以直接使用 LCT 来维护. 当合并两个连通块的时候需要在两个连通块各自的直径端点中选两个成为新的直径,需要讨论 \(6\) 种…
说实话感觉不是一道蓝题--感觉挺水的,不过为了水题解,水题就够了(其实是觉得思考的过程比较典型,记录一下) 题解 刚开始看这道题感觉上没什么思路,但是我们可以先考虑用 \(O(n)\) 的时间去枚举发生的出逃次数,再用 \(O(n^2)\) 的时间去计算每一个出逃次数的情况下不一致条目的最小值. 现在我们考虑对于任意一个出逃次数 \(d\) ,我们如何计算.不妨设 \(f_{i,j}\) 表示到第 \(i\) 个点出逃过 \(j\) 次的最小差异值,易得 \(dp\) 方程为: \[f_{i,j…
题目链接 题意:有一个数轴,上面有 \(n\) 个传送门,使用第 \(i\) 个传送门,你可以从 \(x_i\) 走到 \(y_i\),花费的时间为 \(t_i\) 秒.你的速度为 \(1\) 格/秒,有 \(m\) 次询问,每次你要从 \(a_i\) 走到 \(b_i\),最多使用一次传送门,问最少需要多少秒. \(1 \leq n,m \leq 10^5\),\(0 \leq a_i,b_i \leq 10^9\) 我果然是要退役了,用未去重的数组离散化( 很显然对于第 \(j\) 个询问使…
Andrej Karpathy blog About Hacker's guide to Neural Networks A Survival Guide to a PhD Sep 7, 2016 This guide is patterned after my "Doing well in your courses", a post I wrote a long time ago on some of the tips/tricks I've developed during my…
Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 147    Accepted Submission(s): 90 Problem Description Elves are very peculiar creatures. As we all know, they can live for a very…
SnakeYAML Documentation This documentation is very brief and incomplete. Feel free to fix or improve it. Installation If you use Maven just add a dependency as described here. If you do not use Maven download the latest JAR and put it to the classpat…
转自:http://lyxh-2003.iteye.com/blog/434014 这是大科学家Richard Hamming的著名讲演,于1986年在贝尔通讯研究中心给200多名Bellcore的科学家们所做.在google上一搜,还未见中文翻译.在享受到Hamming闪耀的智慧的同时,禁不住要把它译成中文,让更多的只学了法语.德语.和柬埔寨语还未来得及学英语的同胞可以分享.思维是独特的,任何人的翻译都加上了译者的“思想”.所以,要知道Hamming到底讲的什么,请看原文.要看我是如何听Ham…
A Survival Guide to a PhD Sep 7, 2016 This guide is patterned after my “Doing well in your courses”, a post I wrote a long time ago on some of the tips/tricks I’ve developed during my undergrad. I’ve received nice comments about that guide, so in the…
Time Limit: 1500/1000 MS (Java/Others)   Memory Limit: 131072/131072 K (Java/Others) Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long time and their magical prowess are not something to be taken lig…