首页 > 追债之旅
头像 lifehappy
发表于 2020-08-05 12:11:02
追债之旅 思路 最短路问题,考虑,用一个二维数组,表示第天到达号点的最小花费,数组的更新方式改为则更新数组,所以我们最后只要遍历天到达号节点,也就是数组,最后取其最小值就行。 的关键就是一个有能够记录当前天数,这个状态的最小值,当前位置,这样的结构体,然后重载一下小于号运算符就可以跑个板子了。 代码 展开全文
头像 苟且的狮子
发表于 2020-07-29 12:44:48
松弛操作,循环dp 题意: 分析: 又是这种题,很好,对于已经明白松弛操作与循环dp的我来说已经不成问题了。给出dp状态dp[i][j] 指在第j步到达节点i的最短路径d[i][j] = min(d[k][j-1] + edge(i,k) + cost[j] k为i相邻节点)这是个无限 展开全文
头像 梨小畅
发表于 2021-07-14 16:14:54
有边数限制的最短路 —— bellman_ford 模板题 时间复杂度 O(nm) #include <bits/stdc++.h> using namespace std; const int N = 1010, M = 20010; struct node{ int a 展开全文
头像 Kur1su
发表于 2020-08-06 16:45:09
Description 小明现在要追讨一笔债务,已知有n座城市,每个城市都有编号,城市与城市之间存在道路相连(每条道路都是双向的),经过任意一条道路需要支付费用。小明一开始位于编号为1的城市,欠债人位于编号为n的城市。小明每次从一个城市到达另一个城市需要耗时1天,而欠债人每天都会挥霍一定的钱,等到第 展开全文
头像 horz
发表于 2020-08-07 18:08:54
分析 简简单单最短路。 只是要记录一下走了几天罢了,定义为从 1 到 i 走了 j 天的行程花费和欠债人挥霍的钱的最小总和。 。 #include <bits/stdc++.h> using namespace std; #define mem(a,b) memset(a,b,sizeo 展开全文
头像 zzugzx
发表于 2020-08-05 12:17:56
题目链接 题意:题解: AC代码 /* Author:zzugzx Lang:C++ Blog:blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #define fi 展开全文
头像 sunrise__sunrise
发表于 2020-07-13 20:56:08
题目描述 小明现在要追讨一笔债务,已知有n座城市,每个城市都有编号,城市与城市之间存在道路相连(每条道路都是双向的),经过任意一条道路需要支付费用。小明一开始位于编号为1的城市,欠债人位于编号为n的城市。小明每次从一个城市到达另一个城市需要耗时1天,而欠债人每天都会挥霍一定的钱,等到第k天后(即第 展开全文
头像 hnust_yangyanjun
发表于 2020-08-13 17:09:36
题意:有n个城市,小明再1号城市,它的欠债人在n号城市,城市之间有道路连接,不过需要交路费,而且欠债人每天都会花费一些钱,每天你只能走一条道路从一个城市到另一个城市,求你最少的花费(路费+欠债人花费)为多少? 思路:最短路的变形题,多了个欠债人每天的花费。用val[i][j]表示第i天在第j个城市的 展开全文
头像 blowhail
发表于 2020-08-12 17:17:21
在最短路上进行一些改变将原本的dis[n] 改为dis[n][i] (i为天数然后用dijkstra,在计算的时候把天数算上去 #include <cstdio> #include <iostream> #include <algorithm> #include 展开全文
头像 zqy1018_
发表于 2020-08-05 12:21:29
题目大意 给定一张无向图,每条边有费用,每走 条边会有额外费用 ,至多走 条边。问从点 到点 的最小费用路。 题解 把每一个点拆成 个点,相当于对点记录一下时间即可直接套用 Dijkstra 算法。 #include <bits/stdc++.h> #define REP(te 展开全文