poj1860http://poj.org/problem?id=1860
注意:
1、所开数组e的大小
2、bellman算法不再能松弛时结束
3、v[e[j].end]-(v[e[j].start]-e[j].c)*e[j].r<-ADJUST,ADJUST用负号
4、数据类型不要搞错
#include <iostream> #include <fstream> #define ADJUST 0.00000001 using namespace std; struct E { int start; int end; double r; double c; }e[108*108*2]; double v[108]; int m,n,s; double origin; void solved() { int j; origin=v[s]; bool flag; while(v[s]-origin<=ADJUST) { flag=false; for(j=1;j<=m*2;j++) { if(v[e[j].end]-(v[e[j].start]-e[j].c)*e[j].r<-ADJUST) { v[e[j].end]=(v[e[j].start]-e[j].c)*e[j].r; flag=true; } } if(!flag) { if(v[s]-origin>ADJUST) { cout<<"YES"<<endl; return; } else { cout<<"NO"<<endl; return; } } } cout<<"YES"<<endl; } int main() { //ifstream cin("1.txt"); int i,j; for(i=0;i<108;i++) v[i]=0.0; cin>>n>>m>>s; cin>>v[s]; for(i=0,j=1;i<m;i++,j+=2) { int a,b; double rab,rba,cab,cba; cin>>a>>b>>rab>>cab>>rba>>cba; e[j].start=a; e[j].end=b; e[j].r=rab; e[j].c=cab; e[j+1].start=b; e[j+1].end=a; e[j+1].r=rba; e[j+1].c=cba; } solved(); return 0; }
注意:
1、所开数组e的大小
2、bellman算法不再能松弛时结束
3、v[e[j].end]-(v[e[j].start]-e[j].c)*e[j].r<-ADJUST,ADJUST用负号
4、数据类型不要搞错
发表评论
-
2011清华考研机试题2
2011-08-09 14:56 935http://ac.jobdu.com/problem.php ... -
2011清华考研机试题1
2011-08-09 14:40 674题目描述 http://ac.jobdu.com/proble ... -
考研清华2011复试机考第三题
2011-08-09 13:51 1534题目描述 在某条线路上有N个火车站,有三种距离的路程,L1, ... -
poj3259 spfa解法
2011-08-08 19:59 1390同上题,不过改的spfa算法,注意每个节点进入队列的次数至多为 ... -
poj3259 bellman水题
2011-08-08 17:04 995poj3259http://poj.org/problem?i ... -
acm题目常用的预处理
2011-08-08 15:26 1201#include<iostream> #in ... -
water~9
2011-08-06 18:01 460poj2109http://poj.org/problem?i ... -
water~8
2011-08-06 17:22 647poj2027http://poj.org/problem?i ... -
water~7
2011-08-06 17:15 601poj1328http://poj.org/problem?i ... -
water~6
2011-08-06 14:27 757poj1088http://poj.org/problem?i ... -
water~5
2011-08-06 14:24 661poj1003http://poj.org/problem?i ... -
water~4
2011-08-06 14:09 698poj1004http://poj.org/problem?i ... -
water~3
2011-08-06 13:59 564poj2159http://poj.org/problem?i ... -
water~2
2011-08-06 12:10 564poj3299http://poj.org/problem?i ... -
water~1
2011-08-06 10:35 670poj1503http://poj.org/problem?i ... -
POJ3280 简单DP
2011-08-05 14:48 923poj3280:http://poj.org/problem? ... -
POJ3253
2011-08-04 13:36 809poj3253:http://poj.org/problem? ...
相关推荐
【标题】"POJ1860-Currency Exchange【Bellman】"是一个编程问题,源自北京大学的在线评测系统POJ(Problem Online Judge),主要考察的是动态规划中的贝尔曼(Bellman)算法。这类问题通常涉及最优化问题的解决,...
* 最短路径算法:例如 Dijkstra、Bellman-Ford、Floyd、Heap+Dijkstra,例如 poj1860、poj3259、poj1062、poj2253、poj1125、poj2240。 * 最小生成树算法:例如 Prim、Kruskal,例如 poj1789、poj2485、poj1258、...
* 图的深度优先遍历和广度优先遍历:图的深度优先遍历和广度优先遍历是指遍历图的两种方式,如 poj1860、poj3259、poj1062、poj2253、poj1125、poj2240。 * 最短路径算法:最短路径算法是指计算图中两点之间的最短...
- 图的深度优先遍历和广度优先遍历:用于探索图的所有节点,如`poj1860, poj3259`。 - 最短路径算法:如Dijkstra算法和Bellman-Ford算法,用于找到两点间的最短路径,如`poj1062, poj2253`。 - 最小生成树算法:...
- **例题**:poj1860, poj3259, poj1062, poj2253, poj1125, poj2240 - **解释**:最短路径算法包括Dijkstra算法、Bellman-Ford算法、Floyd算法以及堆优化的Dijkstra算法等。 ##### (3) 最小生成树算法 - **例题**...
包括深度优先遍历(DFS)和广度优先遍历(BFS),用于探索图的所有节点,是解决许多图问题的基础,如poj1860和poj3259所示。 #### 最短路径算法 Dijkstra算法、Bellman-Ford算法和Floyd算法分别适用于无负权边、有...
- **最短路径算法**:包括dijkstra、bellman-ford、floyd和heap+dijkstra,如poj1860等,用于找到节点间的最短距离。 - **最小生成树算法**:prim和kruskal算法,如poj1789,用于找到图的最小成本连接。 - **拓扑...
- (poj1860, poj3259, poj1062, poj2253, poj1125, poj2240):介绍迪杰斯特拉算法(Dijkstra)、贝尔曼-福特算法(Bellman-Ford)、弗洛伊德算法(Floyd)等。 - 使用堆优化的迪杰斯特拉算法。 3. **最小生成树...
例如,题目poj1860和poj3259就是典型的最短路径问题。 ### 3. 数据结构 数据结构部分包括数组、链表、栈、队列、树、堆、哈希表等,它们在存储和访问数据时提供不同的效率和特性。哈希表(Hash)是一种高效的数据...
如poj3278、poj2049、poj3083是图遍历的例子,poj1860、poj3259等则是最短路径问题,poj1789、poj2485等则涉及最小生成树。 3. **数据结构**:包括串、排序、简单并查集、哈希表、二分查找、哈夫曼树和堆。poj1035、...
- POJ 1860、POJ 3259:利用Dijkstra算法解决最短路径问题。 - POJ 1062、POJ 2253:涉及Bellman-Ford算法的应用场景。 - POJ 1125、POJ 2240:Floyd算法的典型实例。 ##### 最小生成树 - **算法**: - Prim...
### ACM新手刷题攻略之POJ ... - 推荐题目:[poj1860](https://vjudge.net/problem/POJ-1860)、[poj3259](https://vjudge.net/problem/POJ-3259)、[poj1062](https://vjudge.net/problem/POJ-1062)、[poj2253]...
1. **最短路径**:Dijkstra算法、Bellman-Ford算法、Floyd算法等,用于寻找两点间最短路径(poj1860, poj3259, poj1062, poj2253, poj1125, poj2240)。 2. **最小生成树**:Prim算法和Kruskal算法,用于构建图的...
- poj1860 - poj3259 - poj1062 - poj2253 - poj1125 - poj2240 - **应用场景**:适用于寻找两点之间的最短路径问题。 **3. 最小生成树算法** - **定义**:包括 Prim 算法和 Kruskal 算法。 - **示例题目**:...
2. **最短路径算法**:包括Dijkstra、Bellman-Ford、Floyd和堆优化的Dijkstra,如POJ1860、3259、1062、2253、1125和2240。 3. **最小生成树算法**:Prim和Kruskal方法,用于找到图中权重最小的连接所有节点的子树,...
- **示例题目**: poj1860, poj3259, poj1062, poj2253, poj1125, poj2240 - **知识点**: - **Dijkstra算法**:适用于带非负权重的有向图和无向图,可以求出图中某一个顶点到其他所有顶点的最短路径。 - **Bellman-...
+ poj1860, poj3259, poj1062, poj2253, poj1125, poj2240 * 最小生成树算法:prim, kruskal + poj1789, poj2485, poj1258, poj3026 * 拓扑排序:poj1094 * 二分图的最大匹配:匈牙利算法 + poj3041, poj3020 * ...
例如,POJ1860和POJ3259是最短路径算法的典型例题,而POJ1789和POJ2485则是最小生成树算法的经典例题。 数据结构部分涵盖了串、排序、简单并查集、哈希表和二分查找、哈夫曼树、堆和trie树八个方面。例如,POJ1035...
1. 图的深度优先遍历(DFS)和广度优先遍历(BFS):用于探索图的所有节点,如poj1860和poj3259。 2. 最短路径算法:包括Dijkstra算法、Bellman-Ford算法、Floyd算法和堆优化的Dijkstra算法,用于寻找图中两点间最短...