# 解题思路

跑 $\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);
}

最新文章

  1. Git命令参考手册(文本版)
  2. 本人第一个开源代码,NETSpider 网络蜘蛛采集工具
  3. 关于JS判断图片是否加载完成且获取图片宽度的方法
  4. openssl HeartBlood
  5. Python语言及其应用 - 知识点遍历
  6. Log4j的常见用法
  7. nagios插件之监控if8接口日志(新接口)
  8. 一.ubuntu14.04安装、亮度设置、显卡设置等一体化讲解
  9. Infinite Fraction Path HDU 6223 2017沈阳区域赛G题题解
  10. 斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合、最正确的方法)
  11. nginx并发模型与traffic_server并发模型简单比较
  12. android:View的setTag和getTag
  13. mui---开发直播APP
  14. AEC、AGC、ANS在视音频会议中的作用?
  15. flume 前世今生
  16. SQL SERVER 数据库字段简单加密解密
  17. 图片轮滚形式A
  18. 高通RFC适配RFFE-添加MIPI设备【转】
  19. 让screen帮助你协同工作
  20. 020.2.5 Calender对象

热门文章

  1. Orchard 相关
  2. CodeForces 722B Verse Pattern (水题)
  3. 洛谷P2221 [HAOI2012]高速公路(线段树+概率期望)
  4. Spring boot下,集成任务调度中心(XXL-JOB)
  5. Django中的cookie和session实现
  6. 51Nod 1315 合法整数集
  7. ACM输入外挂
  8. 题解报告:poj 3320 Jessica&#39;s Reading Problem(尺取法)
  9. 题解报告:hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
  10. D. Green and Black Tea 贪心 + 构造