uoj#244. 【UER #7】短路】的更多相关文章

http://uoj.ac/contest/35/problem/244 对其他人来说好简单的一道题,我当时却不会做TWT 注定滚粗啊 题解很好的~ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; const int N = 100003; ll in() { ll k = 0, fh = 1; char c= getcha…
题目 orz myy 这个矩形对称的性质非常优美,所以我们只需要考虑一个\(\frac{1}{4}\)的矩阵,即一个倒三角形 现在我们要求的是从\((1,1)\)到三角形对边上每个点的最短路,不难发现如果一个某一行不是前缀最小值那么一定不可能成为最优答案,我们可以直接从上面一行跑掉而不走这一行 于是我们的路径就是一些\(L\)形拼了起来,对于非前缀最小行我们只可能经过上面的一个点:正确性比较好理解,我们可以通过在上一个前缀最小行多经过一些点来代替 所以我们的策略肯定是在一个前缀最小行往右边走,直…
题目描述 给出 $(2n+1)\times (2n+1)$ 个点,点 $(i,j)$ 的权值为 $a[max(|i-n-1|,|j-n-1|)]$ ,找一条从 $(1,1)$ 走到 $(2n+1,2n+1)$ 的路径,使得经过的点(包括起点和终点)权值和最小.求这个权值和. 输入 第一行一个正整数 $n$ . 第二行 $n+1$ 个正整数 $a[0],a[1],…,a[n]$ ,表示从内到外每层的中继器的延时值. 输出 输出一行一个数表示改造后的最短引爆时间. 样例输入 99 5 3 7 6 9…
题目链接 http://uoj.ac/contest/47/problem/455 题解 模拟费用流,一个非常神奇的东西. 本题即为WC2019 laofu的讲课中的Problem 8,经典的老鼠进洞模型,洞有容量和额外权值. 这道题的Subtask 4,5,6,7分别对应着老鼠进洞的最基础模型.洞有额外权值.洞有容量.洞有容量和额外权值四个变形. 让我们从最简单的开始各个击破. Subtask 4 注: 本部分配合WC2019课件里的代码图理解效果更佳. 数轴上有\(n\)只老鼠(坐标\(x_…
允许5%的相对误差,意味着我们可以只输出$\log_{1.05} V$种取值并保证答案合法.并且注意到答案随着区间长度而单增,故取值不同的答案区间是$O(\log_{1.05} V)$的. 于是初始x=0,每次x=max(x+1,x*1.05),再用单调队列$O(n)$找出当前x能更新的区间即可.总复杂度$O(n\log_{1.05}V)$ #include<cstdio> #include<algorithm> #define rep(i,l,r) for (int i=(l);…
#include <cstdio> #include <iostream> #include <cstring> #include <queue> #define N 100007 #define Q 100000000007 using namespace std; int n, m, k, s, t, spe[15], tot, ls[N], cnt; long long ans, dis[N], d[15][15]; bool b[N], v[40];…
[UOJ#12][UER #1]猜数 试题描述 这一天,小Y.小D.小C正在愉快地玩耍. 小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 n. 小D是个机灵鬼,很快从小Y嘴里套出了 n的值.然后在脑内把 n写成了 a×b的形式.其中 a,b 都是正整数. 小C是个八卦狂,他发现小D从小Y那里获知了神奇的东西,于是死缠烂打追问小D.最后小D说道:“我可以告诉你正整数 g和 l的值,我保证 ab=gl=n且 a,b都是 g 的倍数.但是 a,b 我可不能告诉你.” 这可急坏了小C.他决定退而求…
#142. [UER #5]万圣节的南瓜灯 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/142 Description 红包是一个心灵手巧的男孩子.今天是万圣节,红包正在家里制作南瓜灯. 这时候一群熊孩子们敲开了红包家的门,他们高呼着“不用给糖,只要捣蛋”的口号把红包的南瓜灯弄坏了.这让红包很难过,于是他打算把这些被弄坏的南瓜灯做成其他的工艺品. 红包把它的南瓜灯划分成了 n×m 的网格,并用 (x,y)…
#139. [UER #4]被删除的黑白树 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/139 Description 很久很久以前,有一棵树加入了 UOJ 群. 这天,在它讨论“一棵树应该怎么旋转”的时候一不小心被删除了,变成了被删除的树. 突然间,它突然发现它失去了颜色,变成了一棵纯白的树.这让它感觉很焦躁,于是它来拜托你给自己染上一些颜色. 我们可以把它描述为一棵 n 个节点的有根树(默认树的根为 1…
原文链接http://www.cnblogs.com/zhouzhendong/p/8682133.html 题目传送门 - BZOJ4456 题目传送门 - UOJ#184 题意 $n\times m$的网格图$q$次询问两个格子之间的最短路. $n\times m\leq 2\times 10^4,q\leq 10^5$且任何两个相邻格子之间的路径长度$\leq 10^4$. 题解 考虑分治. 对于当前网格图以及起点和终点都在当前网格图内的询问进行处理. 考虑把当前网格图的长边作为分治对象.…
UOJ#454. [UER #8]打雪仗 http://uoj.ac/problem/454 分析: 好玩的通信题~ 把序列分成三块,\(bob\)先发出这三块中询问点最多的一块给\(alice\). 对于这一块,显然点数大于等于\(\frac{n}{3}\),全部由\(alice\)输出. 对于剩下的两块,先由\(bob\)告诉是否应该输出,\(alice\)再决定是否输出. 这样,\(alice\)的次数是\(667+\frac{2n}{3}\),\(bob\)的次数是\(2+\frac{4…
#210. [UER #6]寻找罪犯 链接:http://uoj.ac/problem/210 想法:2-sat模型.每个人拆点,分别表示为犯人.非犯人.每个句供词拆点,分别表示真话.假话.供词与对应人的点连双向边.假如$x_i$非犯人,那么连向他的所有真供词.一个假供词意味着至少一个犯人以及这个人的其他供词为真.于是连边.优化连边就可以用前缀,后缀的方式优化. 方案的输出参见:论文 博客 复杂度$O(n+m)$,常数有点大... #include< algorithm > #include&…
UOJ j19 寻找道路 在有向图G中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的最短路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. *解法:反着建图,从终点bfs找能到达的点标记 在找一遍所有点中 如果某个点的入度点没做过标记 那么这个点就要被刨除 剩下的点中找最短路 #include <iostream> #include <cstdio> #include <cstring> #include <…
手动博客搬家: 本文发表于20181208 14:39:01, 原地址https://blog.csdn.net/suncongbo/article/details/84891710 哇它居然显示出图片来了--感动啊w 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4739 http://uoj.ac/problem/277 不难得出一个结论: 两圆之间最短路一定沿着圆的公切线走.然后得到如下算法:每两个圆之间作公切线(4条),如果…
[UOJ#32][UR #2]跳蚤公路(最短路) 题面 UOJ 题解 不难发现要求的就是是否存在负环.也就是我们只需要找到所有的负的简单环,很容易就可以想到维护路径上和\(x\)相关的内容,即维护一下\(u\)到\(v\)路径上,含有\(kx\)的路径的最小的\(b\).这个可以用\(Floyd\)在\(O(n^5)\)的复杂度中求解.这样子我们用\(f[u][u][k]\)就知道了一个包含了\(u\)的,且\(x\)系数为\(k\)的最小的环,求出其负环的值域范围,接着其能够到达的所有点都会收…
http://uoj.ac/contest/35/problem/246 神奇!我这辈子是想不出这样的算法了. 对区间长度分类讨论:题解很好的~ 我已经弱到爆了,看完题解后还想了一晚上. 题解中"利用\(r_y\)进行计算更新答案"的具体方法是记录以当前点为右端点,任意两个数的差值的最小值大于等于j的区间的左端点,记为\(pos_j\). 就这个问题我想了一晚上啊TWT,我不滚粗谁滚粗QAQ #include<cmath> #include<cstdio> #i…
http://uoj.ac/problem/13 建立trie树,然后建立go指针, 和AC自动机里的fail指针差不多, 走到一个快捷方式就从go指针走. 注意在trie树上要保留字符'/',不能用end标记来标识一个字符串的结束. 因为可能出现"/Iam/zz"和"/Iamzz"这两种情况,如果只用end标记,tire树上这两个字符串就会共用一条路径. (总之是蒟蒻才会犯的错误,神犇们勿喷_(:з」∠)_) #include<cstdio> #inc…
http://uoj.ac/problem/14 题解很好的~ 不带路径压缩的并查集能保留树的原本形态. 按秩合并并查集可以不用路径压缩,但是因为此题要删除,如果把深度当为秩的话不好更新秩的值,所以把子树大小当为秩. 合并直接合并,删除直接删除,每条边只会被添加进树一次,至多被删除一次. 离线特殊考虑一下return的情况就可以了QwQ #include<cstdio> #include<cstring> #include<algorithm> using namesp…
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! Description "第七套广播体操,原地踏步--走!" 众所周知,跳蚤们最喜欢每天早起做早操,经常天还没亮就齐刷刷地站在操场做着反复纵跳热热身.跳晚国在研制三星 note7 的时候注意到了这点,于是他们打算让炸弹更快地引爆,这样就可以消灭更多…
题目传送门 官方题解传送门 一句话题意的话就是给定一个序列,从中找出至少$k$个连续的元素形成子序列,使得子序列中任意两个元素差值的最小值于其长度-1的乘积最大. 题目中给出了$ 1 \leq a_i \leq m$,然后再往深处想想可以得到长度大于$m$的子序列答案一定为$0$,所以如果是DP的话就只需要把序列长度枚举到$m$就够了. 然后他们说对于长度为$x$的序列,答案不可能超过$\frac{m}{x-1}$,根据这个性质就可以根据$k$的规模进行分段处理,首先设一个常数$S$,根据本题$…
http://uoj.ac/problem/209 当x!=y时,这个限制条件是确定的,可以枚举总通过数,用组合数计算,当x==y时,这个限制条件表示前x个全部通过或后x个全部通过,只有最大的x有用,可以用容斥计算. #include<bits/stdc++.h> ; ],C[][]; struct pos{ int x,y,t; bool operator<(pos p)const{return x<p.x;} }ps[][]; void ins(pos p){ ;i<;+…
http://uoj.ac/problem/14 由于加入的边权递增,可以直接运行kruskal并支持撤销,但这样如果反复批量删边和撤销,时间复杂度会退化,因此需要对删边操作加上延时处理,只有在删边后下一个操作不是撤销时才执行删边.由于有撤销,并查集需要按秩合并且不路径压缩. #include<bits/stdc++.h> typedef long long i64; ; int _(){ int x; scanf("%d",&x); return x; } int…
传送门 uoj Solution 简单题? 考虑一条路径长什么样子,一定是经过某一个字母环的左上角,那么答案就很简单了. 我们记一个前缀最小值,这样子让他一路走下去一定是最优! 然后扫一遍就好了. 代码实现 /* mail: mleautomaton@foxmail.com author: MLEAutoMaton This Code is made by MLEAutoMaton */ #include<stdio.h> #include<stdlib.h> #include&l…
Description 红包是一个有艺术细胞的男孩子. 红包由于NOI惨挂心情不好,暑假作业又多,于是他开始在作业本上涂鸦. 一开始,他在纸上画了一棵 n 个节点的树.但是他觉得这样的画太简单了,体现不出他高超的绘画功底,于是他又额外画上了 k 条边. 然而他觉得这样画面太复杂,于是想删去一些边使得这个无向图仍然是连通的. 请帮红包求出删边的方案数.两个方案被认为是不同的当且仅当存在一条边在其中一组中被删而另一组中没有.(什么边都不删也算一种方案) Solution 首先发现可能被删除的边一定是…
还需要加强分析题目特殊性质,设计对应特殊算法,少想多写大力dfs剪枝不要管MLETLE直接上的能力 红包是一个有艺术细胞的男孩子. 红包由于NOI惨挂心情不好,暑假作业又多,于是他开始在作业本上涂鸦. 一开始,他在纸上画了一棵 nn 个节点的树.但是他觉得这样的画太简单了,体现不出他高超的绘画功底,于是他又额外画上了 kk 条边. 然而他觉得这样画面太复杂,于是想删去一些边使得这个无向图仍然是连通的. 请帮红包求出删边的方案数.两个方案被认为是不同的当且仅当存在一条边在其中一组中被删而另一组中没…
题目描述 通过一些不可描述的方式,妹滋滋算出了 51% 的得票率,于是就她就把这个公开给了广大用户 —— UOJ 解散已成定局. 几个小时后,UOJ 创始人伏特跳蚤国王宣布辞职,即日起退出 UOJ 团队. 这两个消息在算法竞赛界引起了轩然大波,“UOJ 是什么”“废除UOJ有什么影响” 马上成为了网民们的搜索热点并出现在了各大搜索网站的首页上. 著名的大水群和三连击发源地 —— Universal OJ 用户群随之解散,导致大量 OI 水狗们无处可水.一段时间后,圈子里渐渐传出了恢复 UOJ 的…
题目 做UER的A题涨信心 首先我们注意到这个所谓的至少有一条正确在\(x\)和\(y\)不相等的时候非常弱,当\(x<y\)时,只有可能是后\(y\)位用户有\(x\)个通过:当\(x>y\)时,只有可能是前\(x\)位用户有\(y\)个通过.也就是说这些信息都能被转化成一些用来限制前后缀和的信息. 设\(pre_i\)表示序列的前缀和,对于一条前\(x\)位用户有\(y\)个通过的限制,我们可以拆成\(pre_x=y\):对于一条后\(y\)位用户有\(x\)个通过的信息,可以视为\(pr…
题解: 感觉贪心水平有所提高.. 首先比较显然的事情是我们可以枚举最深进行到哪一层 我们会发现,当且仅当该层是最小值才会使用决策, 并且是从该层的左上,走到右下 另外中间步骤就是(好难描述啊)一个单调下降序列,每个会走最多的向右走的步数,然后中间的点只走一次  (这句话应该正常人是无法理解的) 但是处理起来还是比较简单的,我们考虑从上一层到这一层实际上就是有一个多往右走一格,所以维护前缀最小值 代码: #include <bits/stdc++.h> using namespace std;…
题解: jls的题目还是比较好的 首先比较显然我们可以分析出 当x<y时,显然只能满足前缀条件 针对这一档部分分,是个简单的组合数 考虑一下后缀限制,发现真的不好搞.. 看了题解发现,枚举总共的1的个数,把后缀限制变成前缀限制, 这就很妙了 最后的问题在于x=y这里 我们会发现,如果满足x的最大值,就都满足了 所以这个问题就解决了 代码:…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ53.html 题意 给定一棵有 n 个节点的树. 每一个点有一个权值. 对于每一个 $i$ 给定三个参数 $a_i,b_i,c_i$ ,从第 $i$ 个点出发下一步能到达的点 x 需要满足以下三个要求之一: 1. x 在 $a_i$ 到 $b_i$ 的简单路径上. 2. x 在 $a_i$ 到 $c_i$ 的简单路径上. 3. x 在 $c_i$ 到 $b_i$ 的简单路径上. 问从任意一个点出发,经过…