题目描述 “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”     在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷. 现在,不需要立下契约也可以使用魔法了!你还不来试一试?   比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关键字来查询,会有很多有趣的结果. 例如,我们熟知的Cirno,她的冰冻魔法当然会有对应的 Spell…
传送门 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" "我要将有关魔法和奇迹的一切,封印于卡片之中„„" 在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符 卡)带来的便捷. 现在,不需要立下契约也可以使用魔法了!你还不来试一试? 比如,我们在魔法百科全书(Encyclopedia of Spells)里用"freeze"作为关 键字来查询,会有很多有趣的结…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2662 分层图: 我也不知道我写的是不是 bfs (dijkstra?). 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<queue> using namespace std; ],ct,dis[][]; ][]; struct N{ int to,next,w;…
原文地址:http://www.cnblogs.com/GXZlegend 题目描述 “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷. 现在,不需要立下契约也可以使用魔法了!你还不来试一试? 比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关键字来查询,会有很多有趣的结果. 例如,我们…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2662 这种的都是分层图. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; ,M=; int n,m,K,hd[N],xnt,dis[N][N],ans=0x3f3f3f…
Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷.  现在,不需要立下契约也可以使用魔法了!你还不来试一试?   比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关键字来查询,会有很多有趣的结果. 例如,我们熟知的Cirno,她的冰冻魔法当然…
裸的分层图最短路. #include<cstdio> #include<cstring> #include<queue> #include<algorithm> using namespace std; #define N 51 #define K 51 #define M 2001 struct Point{int u,d;Point(const int &a,const int &b){d=a;u=b;}Point(){}}; bool…
网上的题解都是分层图+spfa或者dijkstra 我觉得dijk太难写了,懒得写,看了一下数据范围$N=50$,这显然是出题人勾引人犯罪 我决定使用floyd的做法,令$f[i][j][t](k)$表示路径$i$到$j$上,最大的节点编号为$k$,且使用了$t$次加速以后的最短路径长度,转移方程显而易见 同时这个时间复杂度是$O(N^5)$,大约在3亿左右,我们知道floyd的常数很小很小,而时限有3秒,显然是可以过的 最后floyd用了500ms,而dijk用了4ms,差不多差不多.jpg…
我都不好意思发题解了,看这篇博吧.(飞行路线的,基本一样) http://blog.csdn.net/vmurder/article/details/40075989 同学做了好久.我害怕题里有坑,又重写了一遍~~~ 7分钟.都不乐意測例子測点就A了啊哈. #include <queue> #include <cstdio> #include <cstring> #include <algorithm> #define N 55 #define M 1010…
好久没有1A题啦♪(^∇^*) 一个sb建图,我居然调样例调了10min 看起来是双向边,其实在建图的时候要当成有向图, 否则他会时间倒流(233) 把每个点裂成k个点,然后把每条边裂成4条边(正向反向&膜不膜) (话说我好像不会用openlivewriter贴代码,尴尬了) #include <bits/stdc++.h> #define poi(x,y) ((x)*(k+1)+(y)) #define st poi(1,0) #define INF 2000000000 using…
“我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷.  现在,不需要立下契约也可以使用魔法了!你还不来试一试?   比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关键字来查询,会有很多有趣的结果. 例如,我们熟知的Cirno,她的冰冻魔法当然会有对应的 SpellCard…
分层图最短路[bzoj2662][BeiJing wc2012]冻结 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" "我要将有关魔法和奇迹的一切,封印于卡片之中„„" 在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符 卡)带来的便捷. 现在,不需要立下契约也可以使用魔法了!你还不来试一试? 比如,我们在魔法百科全书(Encyclopedia of Spells)里用"…
BZOJ_2662_[BeiJing wc2012]冻结_分层图最短路 Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符 卡)带来的便捷.   现在,不需要立下契约也可以使用魔法了!你还不来试一试?   比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关…
2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 647  Solved: 348[Submit][Status][Discuss] Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷.  现在,不需要…
这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. -------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #inclu…
死活想不到分层图emmm 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为val/2,表示免了这条边的边权,然后答案就是第0层的s到k层的t的最短路,因为0权边总是从上一层连到下一层,所以到达k层就表示走了k条0权边 然后仔细观察这张图的特性,发现不同层之间的更新只有上一层通过val/2权边更新下一层,所以考虑单层更新,每一层都做一次spfa,然后跨层的时候用上一层跑过的最短路和0权边更新下一层 然后再给spfa加一个SLF优化即可…
Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符 卡)带来的便捷.   现在,不需要立下契约也可以使用魔法了!你还不来试一试?   比如,我们在魔法百科全书(Encyclopedia  of  Spells)里用“freeze”作为关 键字来查询,会有很多有趣的结果. 例如,我们熟知的Cirno,她的冰冻魔…
https://www.lydsy.com/JudgeOnline/problem.php?id=2662 第一次写分层图(捂脸) 一开始真的naive地建图了,T到飞起.. 可以省下建图的空间,直接在dis数组上拓展一维,同时维护点的编号和高度. #include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespace std; inline int rd()…
昨晚飞行路线之后,这道题就应该能一眼切了 题目当然也不难,跑一遍分层图最短路即可 Code: #include<cstring> #include<algorithm> #include<queue> #include<string> #include<cstdio> using namespace std; void setIO(string a){ freopen((a+".in").c_str(),"r&quo…
HYSBZ - 2662 这个题如果我们先想用平常的方法来建图,因为我们无法确定是否使用卡片,如果我们每个点每个边都建图,那么非常耗时占空间:注意到k是比较小的,所以我们可以把k拆开,把一个点分为k个,分别表示用k张卡片所走的最短路,我们可以理解为走了k个图,相邻图之间的路变为原来所走的路的一半,所以这样建图:各层内部正常连边,各层之间权值为一半的边.每跑一层,就相当于使用一次卡片.跑一遍从s到t+n*k的最短路即可,第i层和第i+1层之间路权值变为原来的一半:相当于用了一次卡,这里我用了dij…
题意翻译 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 速公路.在高速公路上的通行几乎是瞬间完成的,所以高速公路的通行时间为0. 请帮助约翰决定对哪些小径进行升级,使他每天从1号牧场到第N号牧场所花的时间最短 解析 提高练习场看到这题,瞄一眼,诶,这不是分层图裸题吗??? [啥是分层图] 分层图,简单来说,就是把一张图复制多次,分为多份,每层图代表一种…
Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" "我要将有关魔法和奇迹的一切,封印于卡片之中„„" 在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷. 现在,不需要立下契约也可以使用魔法了!你还不来试一试? 比如,我们在魔法百科全书(Encyclopedia of Spells)里用"freeze"作为关键字来查询,会有很多有趣的结果. 例如,…
因为最近测试遇到了分层图的题目,所以稍微学了一下==. 这种题目一般是来解决最短路边权有变化/有k条免费路的问题的.他们基本都一般有两种实现方式:dp+最短路/分层图+最短路 当然你如果非要说他们是一样的我也没Fa♂反驳qwq 一.dp+最短路(以dij为例) 我们一般的球最短路都是在一维上进行的.设$dis[k]$为从起点到$k$的最短路.但是如果多了条件,比如有$k$条道路可以选择边权变化,那么就可以使用这种方法. 以P4822 [BJWC2012]冻结 这道题为例,它给出的条件是有$k$条…
Description 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 速公路.在高速公路上的通行几乎是瞬间完成的,所以高速公路的通行时间为0. 请帮助约翰决定对哪些小径进行升级,使他每天从1号牧场到第N号牧场所花的时间最短 分层图最短路的裸题.. 就不多BB了. 代码 #include<cstdio> #include<queue> #i…
Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在nn个城市设有业务,设这些城市分别标记为\(0\)到\(n−1\),一共有\(m\)种航线,每种航线连接两个城市,并且航线有一定的价格. Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机.航空公司对他们这次旅行也推出优惠,他们可以免费在最多\(k\)种航线上搭乘飞机.那么Alice和Bob这次出行最少花费多少? Input 数据的第一行有三个整数,\(n,m,k…
题目: Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格.Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机.航空公司对他们这次旅行也推出优惠,他们可以免费在最多k种航线上搭乘飞机.那么Alice和Bob这次出行最少花费多少? 思路: 典型的分层图求最短路问题,这类问题一般适用于我们要对图中的某些边的权进行变换的情况,当然变换的…
这道题其实是分层图,但和裸的分层图不太一样.因为它只要求路径总权值为路径上最大一条路径的权值,但仔细考虑,这同时也满足一个贪心的性质,那就是当你每次用路径总权值小的方案来更新,那么可以保证新的路径权值尽量小. 所以这道题在不删边的情况下可以使用Dij来跑,而删边权的情况就是分层图. 所以就拿分层图来搞好了^_^. 由于这个数据p和k都比较大,所以直接建k+1层图是要爆的,而k+1层图边都一样,我们就用dis[层数(0-k)]来表示. 具体的就是每次Dij转移是要分两种情况: 1.在原层跑,也就是…
思路:裸的分层图最短路 提交:1次 题解: 如思路 代码: #include<cstdio> #include<iostream> #include<cstring> #include<queue> #define R register int using namespace std; #define ull unsigned long long #define ll long long #define pause (for(R i=1;i<=1000…
3627: [JLOI2014]路径规划 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 186  Solved: 70[Submit][Status][Discuss] Description 相信大家都用过地图上的路径规划功能,只要输入起点终点就能找出一条最优路线.现在告诉你一张地图的信息,请你找出最优路径(即最短路径).考虑到实际情况,一辆车加满油能开的时间有限,所以在地图上增加了几个加油站. 地图由点和双向边构成,每个点代表一个路口,也有可…
/* 大连热身C题 不要低头,不要放弃,不要气馁,不要慌张 题意: 给一个城市路线图,给定起点给定终点.有n个货物从起点运送到终点.城市的边是无向边. 每个货物每天如果通过某条路,那么这天这条路只能运送这一个货物,另外一个方向也不得运送货物. 问最少需要多少天,使得起点的货物全部运送到终点. 思路: 按照天数将城市节点裂点.即第i天的某个节点. 枚举天数,不断重新构建网络,跑最大流.找到最小的天数使得最大流大于等于n. 看了大神的博客,知道这个东西实际上叫做分层图. */ #include<bi…