【UR #2】跳蚤公路】的更多相关文章

[UOJ#32][UR #2]跳蚤公路(最短路) 题面 UOJ 题解 不难发现要求的就是是否存在负环.也就是我们只需要找到所有的负的简单环,很容易就可以想到维护路径上和\(x\)相关的内容,即维护一下\(u\)到\(v\)路径上,含有\(kx\)的路径的最小的\(b\).这个可以用\(Floyd\)在\(O(n^5)\)的复杂度中求解.这样子我们用\(f[u][u][k]\)就知道了一个包含了\(u\)的,且\(x\)系数为\(k\)的最小的环,求出其负环的值域范围,接着其能够到达的所有点都会收…
[UR #2]跳蚤公路 参照yjc方法.也就是地铁环线那个题. 求每个点不在负环内的x的取值范围.然后所有1到j能到i的j的范围取交.得到答案. 每个边形如kx+b的直线,每个环也是 每个点不在负环内的x取值范围是区间, 两次二分, 第一次二分区间左端点,第二次右端点. 如果没有负环,左端点往左偏,右端点往右偏 否则,记录负环的构成:k*mid+b的k的正负,可以得到mid应该往哪里偏. 注意SPFA找负环: 记录has[x]表示到x的最短路已经经过了多少个点, dis[x]最短路,fr[x]是…
首先看这个范围很夸张但是其实有限制的也就在1e18*n范围里(走完一圈的边权),然后限制一定是有负环 用Floyd传递闭包,然后设f[i][j][k]为从1走了i步到j并且有k个x的最短路,用B-F处理,然后有负环就是kx+f[n][i][k]<jx+f[n-1][i][j] 对每个点求出x的限制 如果1到v的路径上有负环就不合法,所以用传递闭包出来的连通性把对当前v有限制的区间放到一起,求补集即可 判-1就是如果最后剩下的个数比1e18/100大就说明有一边是没限制的 #include<io…
\(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的带权有向图,每条边还有属性 \(s\in\{-1,0,1\}\).对于每个 \(u\in[1,n]\),求有多少个 \(x\in\mathbb Z\),使得图上所有属性为 \(-1\) 的边权 \(-x\),为 \(0\) 的不变,为 \(1\) 的 \(+x\) 后,从 \(1\) 走到 \(u\) 的任意路径不经过负环.若存在无穷个 \(x\),输出 \(-1\).   \(…
#22. [UR #1]外星人 一开始随便搞出第一问答案,很显然的性质对$x$有变化的$a$一定是递减的,就拿一个桶直接记录可以达到的值 然后我开始想第二问,一开始想直接在这个桶上统计答案,然后发现不行,之后再想,如果利用上面的性质,在选取了一个$a_i \leq x$时,会有一段区间的$a$可以随便插入到$a_i$之后,然后就被一些组合数学的细节绕晕,没有想清楚,这一段区间是$(x \mod a_i,x]$,并且要在$a_i$中挑一个出来放在最前面,然后会发现$x \mod a_i$是一个子问…
题目链接:最强跳蚤 这道题本来不想写博客的--但是鉴于自己犯了低级错误,还是写篇博客记载一下. 一开始我的想法和题解里面的算法而比较类似,也是先分解质因数,然后用质因子是否出现偶数次来判断当前这个数是否是完全平方数-- 然而这样并不能AC,于是我去翻了题解--\(get\)了一个新做法,就是给每个出现过的质因子赋一个\([0,2^{64})\)的随机值,那么判断一个质因子是否出现偶数次就只需要判断异或和是否为零了.算一算可以发现冲突的概率非常小(但是我不会算). 然后--我就愉快的写了一发树分治…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ23.html 题目传送门 - UOJ#23 题意 给定一个有 n 个节点的仙人掌(可能有重边). 对于所有的 $L(1\leq L\leq n-1)$ ,求出有多少不同的从节点 1 出发的包含 L 条边的简单路径.简单路径是指不重复经过任意一点. $n\leq 10^5$ 题解 首先我们把走一条边看作多项式 $x^1$ ,那么一条长度为 L 的路径就是其路径上的多项式的乘积. 接下来称“环根”为距离节点…
(开头先Orz myh) 原题目: 在人类和跳蚤的战争初期,人们凭借着地理优势占据了上风——即使是最强壮的跳蚤,也无法一下越过那一堵坚固的城墙. 在经历了惨痛的牺牲后,跳蚤国王意识到再这样下去,跳蚤国必败无疑.然而为了震慑跳蚤国的老冤家——猴族,跳蚤国那世界上最跳的坦克只能留在跳蚤国本土,无法派上用场. 于是跳蚤国王决定利用跳蚤国最尖端的技术,创造出最强的跳蚤来挽回败局. 为了避免这样的低级失误,跳蚤国王决定使用机器来帮助他创造跳蚤.他把它拥有的 n 种属性放在了 n 个容器中,然后他使用了n−…
题目链接 http://uoj.ac/problem/192 暑期课第二天 树上问题进阶 具体内容看笔记博客吧 题意 n个节点的树T 边有边权w 求满足(u, v)上所有边权乘积为完全平方数的路径有多少条 看到“所有边权乘积为完全平方数” 想到完全平方数的特殊性 就是分解质因数后 质因数指数都为偶数 然后就想到分解边权质因数+判质路径边权奇偶性 后者由于奇数偶数的和的规律 可以使用抑或 偶就表示为0 奇就表示为一 那么如何存储呢? 状压? 空间之大 状压压不下 所以hash 对每一个要用的质数…
题目描述 给定一棵 $n$ 个点的树,边有边权.求简单路径上的边的乘积为完全平方数的点对 $(x,y)\ ,\ x\ne y$ 的数目. 题解 Hash 一个数是完全平方数,当且仅当每个质因子出现次数都是偶数. 因此给每一个质因子赋一个随机权值,一个数的权值等于它所有出现次数为奇数的质因子权值的异或.那么边权乘积的权值就是边权权值的异或.问题转化为求有多少条路径异或值为0. 显然, $x$ 到 $y$ 异或和为0,等价于 $x$ 到根和 $y$ 到根异或和为0.因此求出一个点到根节点的路径的权值…