解题报告:luogu P2299
题目链接:P2299 Mzc和体委的争夺战
单源最短路板子题吗,体面晦涩难懂(语文不好),以为是有向图,只有\(30pts\),其实是无向的,我使用了刚学来的\(SPFA\),通过了此题:
\(Code\):
#include<iostream>
#include<cstdio>
#include<queue>
using namespace std;
const int inf=2147483647;
queue<int> q;
struct node
{
int to,nxt,w;
}e[200005];
int head[200005],cnt=0;
void add(int u,int v,int c)
{
e[++cnt].to=v;
e[cnt].nxt=head[u];
e[cnt].w=c;
head[u]=cnt;
}
int dis[200005],vis[200005];
void SPFA()
{
while(!(q.empty()))
{
int k=q.front();
q.pop();
vis[k]=0;
for(int i=head[k];i;i=e[i].nxt)
{
int j=e[i].to;
if(dis[j]>dis[k]+e[i].w)
{
dis[j]=dis[k]+e[i].w;
if(!vis[j]) q.push(j),vis[j]=1;
}
}
}
}
void init(int n)
{
for(int i=1;i<=n;i++) dis[i]=inf,vis[i]=0;
}
int n,m;
int l,r,p;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&l,&r,&p);
add(l,r,p);
}
init(n);
dis[1]=0;
vis[1]=1;
q.push(1);
SPFA();
cout<<dis[n]<<"\n";
//for(int i=1;i<=n;i++) printf("%d ",dis[i]);
return 0;
}
可以说是\(SPFA\)板子,背一下。
解题报告:luogu P2299的更多相关文章
- 【解题报告】洛谷 P2571 [SCOI2010]传送带
[解题报告]洛谷 P2571 [SCOI2010]传送带今天无聊,很久没有做过题目了,但是又不想做什么太难的题目,所以就用洛谷随机跳题,跳到了一道题目,感觉好像不是太难. [CSDN链接](https ...
- NOIP 2018 普及组 解题报告
目录 标题统计 题目链接 思路 代码 龙虎斗 题目链接: 思路 代码 摆渡车 题目链接: 思路 对称二叉树 题目链接 思路: 先来解释一下为毛现在才来发解题报告: 其实博主是参加过NOIP 2018普 ...
- CH Round #56 - 国庆节欢乐赛解题报告
最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- BZOJ 1051 最受欢迎的牛 解题报告
题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4438 Solved: 2353[S ...
- 习题:codevs 2822 爱在心中 解题报告
这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...
- 习题:codevs 1035 火车停留解题报告
本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...
- 习题: codevs 2492 上帝造题的七分钟2 解题报告
这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...
- 习题:codevs 1519 过路费 解题报告
今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...
- NOIP2016提高组解题报告
NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合
随机推荐
- uniGUI学习汇总
UniGUI之UniLabel(31) uniGUI之自定义JS事件动作ClientEvents(30) uniGUI之文件下载(29) uniGUI之FDQuery(28) uniGUI之UniPo ...
- MVC 拦截器
https://www.cnblogs.com/blosaa/archive/2011/06/02/2067632.html
- bootstrap帮助文档
概览 深入了解 Bootstrap 底层结构的关键部分,包括我们让 web 开发变得更好.更快.更强壮的最佳实践. HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS 属 ...
- Java基础 -4.2
Switch分支语句 switch是一个开关语句,它主要是根据内容来进行判断的,需要注意的是switch中可以判断的只能够是数据(int.char.枚举.String)而不能够使用逻辑判断 publi ...
- [aac @ ...] more samples than frame size (avcodec_encode_audio2)
在用FFmpeg对音频进行编码的时候报如下错误: [aac @ 000001cfc2717200] more samples than frame size (avcodec_encode_audio ...
- 新增6 n个骰子的点数
/* * * 面试题43:n个骰子的点数 * 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s. * 输入n,打印出s的所有可能的值出现的概率. * */ #include <iostream ...
- 在ubuntu中,通过代理服务器访问网络
一.临时设置代理服务的方式 export http_proxy=http://yourproxyaddress:proxyport 这种方式在你退出当前的shell之前,会影响到所有网络命令,包括wg ...
- [Linux] day05——命令行
--------------------linux命令 实现某一功能指令或程序 命令行执行依赖于解释器linux命令的分类 内部命令 属于shell解释器一部分 /bin/bash 外部命令 独立与s ...
- 绕过waf
WAF:有硬件和软件类型. 常见的软WAF,常见:安全狗.云锁.云盾.护卫神. SQL注入的绕过: WAF核心机制就是正则匹配. 通过正则匹配,如果符合规则,就拦截. 比如sql注入中and 1=1 ...
- jmeter分布式linux负载机,windows主控机
1.将参数化文件上传到linux服务器,放在linux上jmeter的bin路径下 2.设置server.rmi.ssl.disable=true 分别修改主控机和负载机的jmeter.propert ...