题意: 给两个字符串,以及m个从字符a变换到b的代价,问把两个字符串变得相同的最小代价 思路: 将字符串变换的代价当做一条有向边建图,之后跑floyd,得到从字符i变成j的最小代价dis[i][j] 之后遍历两个字符串的每一位,不相同的话枚举变成什么字符所需要的代价最小,如果找不到这样一个中间点使得 ...
分类:
其他好文 时间:
2020-02-06 23:23:18
阅读次数:
69
Floyd() 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 const int N = ???; 5 const int INF = 0x3f3f3f3f; 6 int n, m; 7 int a, b, x; 8 int dis[N][ ...
分类:
其他好文 时间:
2020-02-05 11:44:17
阅读次数:
47
题目链接 1 #include <bits/stdc++.h> 2 # define LL long long 3 using namespace std; 4 5 const int maxn=5000+10; 6 int n; 7 LL dis[maxn]; 8 int complete[max ...
分类:
其他好文 时间:
2020-02-04 11:02:51
阅读次数:
120
题目 题目链接:https://gmoj.net/senior/ main/show/3500 给定一张无向图,其中一条边的边权是不定的。接下来$q$组询问,每次给出这条边的边权,输出此时$1\to n$的最短路。 思路 从$1$和$n$开始分别跑一边$dij$。 最终在$dis[1][n],dis ...
分类:
其他好文 时间:
2020-02-03 22:52:56
阅读次数:
145
A 旅行 题面: "bzoj" 题解:神奇的$dp$ 先按长度把边排序 指定必须走前$l$条边,枚举$l$ 设$dis[i][j][k]$表示当前到了$i$节点,已走过了$j$条前$l$条边,用了$k$次交换次数 "code" B 找零钱的洁癖 题面: "bzoj" 题解:更为神奇 首先直接bfs, ...
分类:
Web程序 时间:
2020-02-01 23:40:49
阅读次数:
143
Floyd算法求的是图的任意两点之间的最短距离 下面是Floyd算法的代码实现模板: const int INF = 10000000; const int maxv = 200; // maxv为最大顶点数 int n, m; // n 为顶点数,m为边数 int dis[maxv][maxv]; ...
分类:
编程语言 时间:
2020-01-31 12:30:24
阅读次数:
84
找规律题 1.螺旋折线 如下图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点 (X,Y),我们定义它到原点的距离 dis(X,Y) 是从原点到 (X,Y) 的螺旋折线段的长度。 例如 dis(0,1)=3,dis(?2,?1)=9 给出整点坐标 (X,Y),你能计算出 dis(X,Y)吗? 输 ...
分类:
编程语言 时间:
2020-01-29 14:34:37
阅读次数:
67
题目描述: 题解:二维动态规划,状态为天数以及依次完成的任务数。注意题目给出的限制,任务需要依次执行,这为构造状态转移方程提供了先决条件。 定义dp[i][j]表示i天完成前j个任务的最小难度。状态转移的时候,遍历第i个可能完成的所有工作并取最小值就可以了,记dis[i][j]为第i个job至第j个 ...
分类:
其他好文 时间:
2020-01-28 18:58:09
阅读次数:
82
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 const int N = ???; 5 const int INF = 0x3f3f3f3f; 6 int n, m; 7 int a, b, x; 8 int dis[N][N]; 9 10 ...
分类:
其他好文 时间:
2020-01-28 12:14:27
阅读次数:
58
把问题转化成一堆不等式,然后用最短路求解 POJ3169 Layout 最后要求1和n之间最大dis是多少 -> 转化为得到一堆 d[n] - d[1] <= xi 然后求xi的最小值 对于给出的是d[u] - d[v] >= xi 同乘-1转化为 d[v] - d[u] <= -xi 即可 然后用 ...
分类:
其他好文 时间:
2020-01-27 15:34:10
阅读次数:
68