CodePlus #4 最短路】的更多相关文章

题目传送门 北极为什么会有企鹅啊,而且北纬91°在哪啊? 关键在建图 因为任意两个城市间都可以互相到达,再加上还有"快捷通道",光是建图就已经\(\rm{T}\)了-- 但这题给了一个提示:除去快捷通道,边权只与两个城市的异或值有关 根据这个性质,我们可以发现,直接建图时,有很多边是多余的,我们只要将异或值的二进制中只含有一个\('1'\)的边加入图中就好了,其他的边都是不必要的 因为假如一条边中有多个\('1'\),我们完全可以通过走其他的只有一个\('1'\)的边来将它"…
[题目]#6354. 「CodePlus 2018 4 月赛」最短路 [题意]给定n个点,m条带权有向边,任意两个点i和j还可以花费(i xor j)*C到达(C是给定的常数),求A到B的最短距离.\(n \leq 10^5,m \leq 5*10^5\). [算法]异或优化建图+Dijkstra 正常建边O(n^2),与其考虑特殊边的处理不如考虑优化n^2的建边方案.一个点x到另一个点y的代价是由每个改变的数位得到的,所以枚举所有点x的每个数位j,从x向\(x \ \ xor \ \ 2^j\…
[BZOJ5109][CodePlus 2017]大吉大利,晚上吃鸡! Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏中,皮皮和毛毛最喜欢做的事情就是堵桥,每每有一个好时机都能收到不少的快递.当然,有些时候并不能堵桥,皮皮和毛毛会选择在其他的必经之路上蹲点.K博士作为一个老年人,外加有心脏病,自然是不能玩这款游戏的,但是这并不能妨碍他对这款游戏进行一些理论分析,比如最近他就对皮皮和毛毛的战士很感兴趣.[题目描述]游戏的地图可…
5109: [CodePlus 2017]大吉大利,晚上吃鸡! Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 107  Solved: 57[Submit][Status][Discuss] Description 最近<绝地求生:大逃杀>风靡全球,皮皮和毛毛也迷上了这款游戏,他们经常组队玩这款游戏.在游戏中,皮皮 和毛毛最喜欢做的事情就是堵桥,每每有一个好时机都能收到不少的快递.当然,有些时候并不能堵桥,皮皮和毛 毛会选择在其他的必经之路上…
题意 一个 \(n\) 个点的完全图,两点之间的边权为 \((i\ xor\ j)*C\) ,同时有 \(m\) 条额外单向路径,问从 \(S\) 到 \(T\) 的最短路. \(n\leq 10^5,\ m\leq 5\times 10^5,C\leq 100\). 分析 如果没有额外的边,会直接从 \(S\) 到 \(T\) ,因为如果每个二进制位 \(i\) 不同那么一定会有一步走 \((1<< i)*C\), 如果相同也没有必要多走几个点而可能多一部分路程. 如果多了一些特殊边,最后的…
首先跑正反两遍dij求由起点/终点到某点的最短路条数,这样条件一就转化为f(S,A)*f(T,A)+f(S,B)*f(T,B)=f(S,T).同时建出最短路DAG,这样图中任何一条S到T的路径都是最短路径,对于条件二就只需要判断A是否能走到B.注意到空间开的非常大.那么对于条件二的可达性显然是可以bitset优化的.对于条件一可以map套bitset.两者and再count一下就可以了.bzoj的空间限制开小了于是这种做法就直接MLE了. #include<iostream> #include…
$n \leq 100000$,$m \leq 500000$的有向图,两点之间还可以以$a \ \ xor \ \ b$的代价从$a$到$b$,问$s$到$t$的最短路. 被自己蠢哭QAQ 首先两个点之间不走给定的边,最短路一定是直接$s$到$t$,因为一个二进制的差异至少要被算一次.观察$s$到$t$的过程,可以把这个过程完全等价地变成:一次只改一个二进制位,代价完全不变.因此$xor$的边只用连$nlog_2(n)$条,然后就无脑最短路了. #include<stdio.h> #incl…
题目传送门 https://loj.ac/problem/6252 https://lydsy.com/JudgeOnline/problem.php?id=5109 题解 首先跑最短路,只保留 \(dis[v] = dis[u] + w\) 的边,形成一个 DAG. 如果只有一个点的话,如何判断这个点是否是必经之点.一个很简单的方式是判断 \(S\to A \to T\) 的方案数是否等于 \(S\to T\) 的方案数. 但是这里的要求是两个点,那么就是 \(S\to A \to T\) 的…
题意:理论上是给定一张完全图,有边权,在给一些单向边求最短路. 思路: 我充分体会到了我图论的菜. 理论上建图肯定是不能\(n^2\)的,考虑如何优化呢? 将边权异或值二进制替换,最后一遍最短路就行,记得把\(n\)开到\(2^k\) // luogu-judger-enable-o2 #include<bits/stdc++.h> #define mp make_pair #define pa pair<long long,int> using namespace std; co…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 企鹅国中有 N 座城市,编号从 1 到 N . 对于任意的两座城市 i 和 j ,企鹅们可以花费 (i xor j) * C 的时间从城市 i 走到城市 j ,这里 C 为一个给定的常数. 当然除此之外还有 M 条单向的快捷通道,第 i 条快捷通道从第 Fi 个城市通向第 Ti 个城市,走这条通道需要消耗 Vi 的时间. 现在来自 Penguin Kingdom…