「 Luogu P2196 」 挖地雷
2024-09-08 07:51:18
# 解题思路
跑 $\text{n}$ 遍 $\text{spfa}$ 并记录路径,找到比当前最长路长的就更新答案,并且将路径也更新,注意起点的处理。
# 附上代码
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
#define INF 123456789
using namespace std;
int n, a[], head[], cnt, pre[], Ans, ans[], dis[], TANS[], t;
bool vis[];
queue<int> Q;
struct edge {
int nxt, u, v, w;
}ed[*];
inline void addedge(int x, int y, int z) {
ed[++cnt].nxt = head[x];
head[x] = cnt;
ed[cnt].u = x, ed[cnt].v = y, ed[cnt].w = z;
}
inline int spfa(int s) {
while (!Q.empty()) Q.pop();
memset(vis, , sizeof(vis));
for(int i=; i<=n; i++) dis[i] = -INF;
Q.push(s), dis[s] = a[s], vis[s] = , pre[s] = ;
while (!Q.empty()) {
int u = Q.front(); Q.pop();
for(int i=head[u]; i; i=ed[i].nxt) {
if(dis[ed[i].v] < dis[u] + ed[i].w) {
dis[ed[i].v] = dis[u] + ed[i].w;
pre[ed[i].v] = u;
if(!vis[ed[i].v])
vis[ed[i].v] = , Q.push(ed[i].v);
}
}
vis[u] = ;
}
for(int i=; i<=n; i++) {
if(dis[i] > Ans) {
Ans = dis[i];
for(int j=; j<=n; j++) ans[j] = pre[j];
t = i;
}
}
}
int main() {
scanf("%d", &n);
int x;
for(int i=; i<=n; i++) scanf("%d", &a[i]);
for(int i=; i<=n; i++) {
for(int j=i+; j<=n; j++) {
scanf("%d", &x);
if(x == ) addedge(i, j, a[j]);
}
}
for(int i=; i<=n; i++)
spfa(i);
cnt = ;
for(int i=t; i; i=ans[i]) TANS[++cnt] = i;
for(int i=cnt; i>=; i--) printf("%d ", TANS[i]);
printf("\n%d", Ans);
}
最新文章
- Git命令参考手册(文本版)
- 本人第一个开源代码,NETSpider 网络蜘蛛采集工具
- 关于JS判断图片是否加载完成且获取图片宽度的方法
- openssl HeartBlood
- Python语言及其应用 - 知识点遍历
- Log4j的常见用法
- nagios插件之监控if8接口日志(新接口)
- 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解
- Infinite Fraction Path HDU 6223 2017沈阳区域赛G题题解
- 斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合、最正确的方法)
- nginx并发模型与traffic_server并发模型简单比较
- android:View的setTag和getTag
- mui---开发直播APP
- AEC、AGC、ANS在视音频会议中的作用?
- flume 前世今生
- SQL SERVER 数据库字段简单加密解密
- 图片轮滚形式A
- 高通RFC适配RFFE-添加MIPI设备【转】
- 让screen帮助你协同工作
- 020.2.5 Calender对象
热门文章
- Orchard 相关
- CodeForces 722B Verse Pattern (水题)
- 洛谷P2221 [HAOI2012]高速公路(线段树+概率期望)
- Spring boot下,集成任务调度中心(XXL-JOB)
- Django中的cookie和session实现
- 51Nod 1315 合法整数集
- ACM输入外挂
- 题解报告:poj 3320 Jessica&#39;s Reading Problem(尺取法)
- 题解报告:hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- D. Green and Black Tea 贪心 + 构造