【HDOJ】4109 Instrction Arrangement
差分约束。
/* 4109 */
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <climits>
using namespace std; #define MAXV 1005
#define MAXE 41005
#define INF 0x3f typedef struct {
int v, w, next;
} Edge_t; Edge_t E[MAXE];
int head[MAXV], L;
int dis[MAXV];
bool visit[MAXV];
int n, m; void init() {
for (int i=; i<=n; ++i)
dis[i] = INT_MIN;
memset(head, -, sizeof(int)*(n+));
memset(visit, false, sizeof(bool)*(n+));
L = ;
} void addEdge(int u, int v, int w) {
E[L].v = v;
E[L].w = w;
E[L].next = head[u];
head[u] = L++;
} void spfa() {
int i, j, k;
int u, v, w;
queue<int> Q; visit[n] = true;
dis[n] = ;
Q.push(n); while (!Q.empty()) {
u = Q.front();
Q.pop();
visit[u] = false;
for (i=head[u]; i!=-; i=E[i].next) {
v = E[i].v;
w = E[i].w;
if (dis[v] < dis[u]+w) {
dis[v] = dis[u] + w;
if (!visit[v]) {
visit[v] = true;
Q.push(v);
}
}
}
}
} int main() {
int i, j, k; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif while (scanf("%d %d",&n,&m) != EOF) {
init();
while (m--) {
scanf("%d%d%d", &i, &j, &k);
addEdge(j, i, k);
}
for (i=; i<n; ++i)
addEdge(n, i, );
spfa();
k = INT_MIN;
for (i=; i<=n; ++i)
k = max(k, dis[i]);
printf("%d\n", k+);
} return ;
}
【HDOJ】4109 Instrction Arrangement的更多相关文章
- 图论--差分约束--HDU\HDOJ 4109 Instrction Arrangement
Problem Description Ali has taken the Computer Organization and Architecture course this term. He le ...
- 【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
- 【HDOJ】【3506】Monkey Party
DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...
- 【HDOJ】【3516】Tree Construction
DP/四边形不等式 这题跟石子合并有点像…… dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价. 易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[ ...
- 【HDOJ】【3480】Division
DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明 ...
- 【HDOJ】【2829】Lawrence
DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l, ...
- 【HDOJ】【3415】Max Sum of Max-K-sub-sequence
DP/单调队列优化 呃……环形链求最大k子段和. 首先拆环为链求前缀和…… 然后单调队列吧<_<,裸题没啥好说的…… WA:为毛手写队列就会挂,必须用STL的deque?(写挂自己弱……s ...
- 【HDOJ】【3530】Subsequence
DP/单调队列优化 题解:http://www.cnblogs.com/yymore/archive/2011/06/22/2087553.html 引用: 首先我们要明确几件事情 1.假设我们现在知 ...
- 【HDOJ】【3068】最长回文
Manacher算法 Manacher模板题…… //HDOJ 3068 #include<cstdio> #include<cstring> #include<cstd ...
随机推荐
- mac os 终端提示 you have new mail
这里的信息可能是由于所做的什么操作触发了发邮件的事件, 系统发送的邮件提醒. 我遇到的原因是由于运行 cron , 由于权限所导致了发邮件的事件提醒. Last login: Tue Apr 26 0 ...
- Nginx Resource
Nginx中URL转换成小写首先编译安装nginx_lua_module模块server节: location / { if($uri ~ [A-Z]){ rewrite_by_lua 'return ...
- 删除mysql重复记录的办法
网上有很多的办法,但是大多数都是通过临时表的办法,其实你是可以用一句简单的sql就可以做到: alter ignore table SOMETABLE add primary key(fields n ...
- ( 转 )Github配置
以下转自 http://liuzhijun.iteye.com/blog/1457207 有问题请联系我删除. -----———————————————————————— 如果你的代码不知道放哪里好, ...
- 浅谈href 和 src的区别
href 表示超文本引用(hypertext reference),在 link.a 等元素上.src 表示来源地址,在 img.script.iframe 等元素上.src 的内容,是页面必不可少的 ...
- ORACLE如何停止一个JOB
ORACLE如何停止一个JOB1 相关表.视图2 问题描述为同事解决一个因为网络连接情况不佳时,执行一个超长时间的SQL插入操作.既然网络状况不好,就选择了使用一次性使用JOB来完成该插入操作.在JO ...
- MVC初学1
MVC - Model ,View, Control 主要的程序思想:约定优于配置 百度下载程序:百度一下 密码:654321 百度视频地址:百度一下
- npm 好用工具 for 前端
1. caniuse npm install -g caniuse-cmd
- createjs 下雪 实例
demo: http://output.jsbin.com/davixatona <!DOCTYPE html> <html> <head> <meta c ...
- cmd 进入不同的驱动盘及上下级目录
“开始”=>“运行”,输入”cmd“,此时进入的是系统管理员的等待命令 如果想进入相应的盘符,如 d 盘,则输入 cd d:\,然后再次输入 d: 即可进入 d: 盘,输入两次相当于第二在是询问 ...