bzoj2662: [BeiJing wc2012]冻结 最短路 建图
好久没有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 namespace std;
int n,m,k,E;
int from[],to[],nex[];
int fir[],d[],w[];
void add(int x,int y,int z)
{
from[++E]=x;to[E]=y;w[E]=z;nex[E]=fir[x];fir[x]=E;
}
int work()
{
for(int i=;i<=poi(n,k);i++)
d[i]=INF;
d[st]=;
priority_queue<pair<int,int> > q;
for(int i=fir[st];i;i=nex[i])
q.push(make_pair(-w[i],i));
while(!q.empty())
{
int tem=q.top().second;q.pop();
if(to[tem]>=poi(n,))
int e=;
if(d[from[tem]]!=INF && d[from[tem]]+w[tem]<d[to[tem]])
{
d[to[tem]]=d[from[tem]]+w[tem];
for(int i=fir[to[tem]];i;i=nex[i])
q.push(make_pair(-w[i],i));
}
}
return d[poi(n,k)];
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
for(int i=;i<=m;i++)
{
int from,to,wei;
scanf("%d%d%d",&from,&to,&wei);
for(int j=;j<k;j++)
add(poi(from,j),poi(to,j+),wei/),
add(poi(to,j),poi(from,j+),wei/);
for(int j=;j<=k;j++)
add(poi(from,j),poi(to,j),wei),
add(poi(to,j),poi(from,j),wei);
}
for(int i=;i<k;i++)
add(poi(n,i),poi(n,k),);
printf("%d\n",work());
return ;
}
bzoj2662: [BeiJing wc2012]冻结 最短路 建图的更多相关文章
- Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路
2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 647 Solved: 348[Submit][Sta ...
- BZOJ 2662: [BeiJing wc2012]冻结(最短路)
这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. ---------------------------------------- ...
- [bzoj2662 BeiJing wc2012] 冻结 (分层图+最短路)
传送门 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" "我要将有关魔法和奇迹的一切,封印于卡片之中„„&q ...
- BZOJ2662[BeiJing wc2012]冻结——分层图最短路
题目描述 “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享受着魔法卡片(Spe ...
- 【最短路】【Heap-Dijkstra】【分层图】bzoj2662 [BeiJing wc2012]冻结
裸的分层图最短路. #include<cstdio> #include<cstring> #include<queue> #include<algorithm ...
- BZOJ2662: [BeiJing wc2012]冻结 spfa+分层图
Description “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享 ...
- bzoj2662 [BeiJing wc2012]冻结 ——分层图
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2662 分层图: 我也不知道我写的是不是 bfs (dijkstra?). 代码如下: #in ...
- BZOJ2662[BeiJing wc2012]冻结【SPFA】
“我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard ...
- BZOJ2662 [BeiJing wc2012]冻结
网上的题解都是分层图+spfa或者dijkstra 我觉得dijk太难写了,懒得写,看了一下数据范围$N=50$,这显然是出题人勾引人犯罪 我决定使用floyd的做法,令$f[i][j][t](k)$ ...
随机推荐
- tkinter之button
Button按钮,直接上代码: from tkinter import * def gs(): global read s=Label(read,text='昨夜西风凋敝树,堵上高楼,望尽天涯路!', ...
- X-Forward-For ip
用 Firefox 的Moify Headers 插件 服务器重新配置X-Forward-For 为正确的值. 如对典型的nginx + php fastcgi 环境( nginx 与 php fas ...
- windows与Linux操作系统的差别
用户需要记住:Linux和Windows在设计上就存在哲学性的区别.Windows操作系统 倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合:而Linux不同 于Windows,它的内核空间 ...
- ACM学习历程—HDU1028 Ignatius and the Princess(组合数学)
Ignatius and the Princess Description "Well, it seems the first problem is too easy. I w ...
- CF1076E:Vasya and a Tree
浅谈树状数组与线段树:https://www.cnblogs.com/AKMer/p/9946944.html 题目传送门:https://codeforces.com/problemset/prob ...
- WPF 后台触发 Validate UI‘s Element
wpf中有validateRule类, 用于界面元素的验证, 如何后台去控制validateRule呢? 1. UI层要binding写好的ValidateRule,分为Binding和MultiBi ...
- webAPP meta 标签大全
1.先说说mate标签里的viewport: viewport即可视区域,对于桌面浏览器而言,viewport指的就是除去所有工具栏.状态栏.滚动条等等之后用于看网页的区域.对于传统WEB页面来说,9 ...
- Lagom学习 五 Hello world工程
用Maven创建一个Hello world的Lagom工程: 1: 在想创建工程的目下下,打开CMD 2: mvn archetype:generate -Dfilter=com.lightbend ...
- [golang] Glide 包管理工具,在windows10 64位系统上的bug修复方案
bug重现 [ERROR] Unable to export dependencies to vendor directory: Error moving files: exit status 1. ...
- 洛谷P3379 【模板】最近公共祖先(LCA)(dfs序+倍增)
P3379 [模板]最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点个数.询 ...