#sPFAybttg030302. 1504:【例 1】Word Rings
1504:【例 1】Word Rings

1505:【例 2】双调路径
题目描述
如今的道路收费发展很快。道路的密度越来越大,因此选择最佳路径是很现实的问题。城市的道路是双向的,每条道路有固定的旅行时间以及需要支付的费用。
路径是连续经过的道路组成的。总时间是各条道路旅行时间的和,总费用是各条道路所支付费用的总和。一条路径越快,或者费用越低,该路径就越好。严格地说,如果一条路径比别的路径更快,而且不需要支付更多费用,它就比较好。反过来也如此理解。如果没有一条路径比某路径更好,则该路径被称为最小路径。
这样的最小的路径有可能不止一条,或者根本不存在路径。
问题:读入网络,计算最小路径的总数。费用时间都相同的两条最小路径只算作一条。你只要输出不同种类的最小路径数即可。
输入格式
第一行有四个整数,城市总数 ,道路总数 ,起点 和终点 ;
接下来的 行每行描述了一条道路的信息,包括四个整数,两个端点 ,费用 ,以及时间 ;
两个城市之间可能有多条路径连接。
输出格式
输出一个整数,表示最小路径的总数。
样例
样例输入 #1
4 5 1 4
2 1 2 1
3 4 3 1
2 3 1 2
3 1 1 4
2 4 2 4
样例输出 #1
2
样例解释 #1
-
城市数 ,道路数 ,起点 ,终点 。
-
道路信息:
- (双向),费用 ,时间
- (双向),费用 ,时间
- (双向),费用 ,时间
- (双向),费用 ,时间
- (双向),费用 ,时间
-
从 到 的可能路径:
- :费用 ,时间
- :费用 ,时间
- :费用 ,时间
- :费用 ,时间
-
最小路径的定义:没有其他路径在 费用和时间两个维度都严格优于 它。
-
比较路径:
- 路径 和 :费用 ,时间
- 路径 :费用 ,时间
- 路径 :费用 ,时间
-
路径 比路径 和 差(时间更长,费用相同),比路径 差(费用相同但时间更长)。
-
路径 和 与路径 无法比较:路径 时间更短但费用更高,路径 和 费用更低但时间更长。
-
因此最小路径有 类:
- 费用 ,时间 (包含路径 和 ,但费用时间相同,只算一种)
- 费用 ,时间 (路径 )
-
输出 。
-
数据范围
- 保证 ,
时空限制
- 时间限制:1000 ms
- 内存限制:65536 KB
注意:本题是双权值最短路径问题,需要找到所有 Pareto 最优解(非支配解)。可以使用动态规划或搜索,状态设计为 dp[u][cost] 表示到达节点 且总费用为 时的最小时间,然后统计所有 Pareto 最优的 (cost, time) 对。由于费用和时间的范围较小(),状态数可行。