From 2e46b8c04bf545bf98f08264949abe70ba836212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 3 Jan 2024 14:17:15 +0800 Subject: [PATCH] 'commit' --- TangDou/AcWing_TiGao/T3/Floyd/343.eddx | Bin 0 -> 16971 bytes TangDou/AcWing_TiGao/T3/Floyd/343.md | 94 +++++++++++++++++++++++- TangDou/AcWing_TiGao/T3/Floyd/343_2.cpp | 13 ++-- 3 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 TangDou/AcWing_TiGao/T3/Floyd/343.eddx diff --git a/TangDou/AcWing_TiGao/T3/Floyd/343.eddx b/TangDou/AcWing_TiGao/T3/Floyd/343.eddx new file mode 100644 index 0000000000000000000000000000000000000000..303043a76f25ffb84efb1f462212def41f0e2842 GIT binary patch literal 16971 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 M^EY **解释**:确定所有元素次序后如何判断元素`i`在第几个位置呢?`f[i][j] = 1`表示`i < j`,因此计算下`i`小于元素的个数`cnt`,就可以判定`i`是第`cnt + 1`大的元素了 -#### $Code$ +#### $Code$ $O(N^3)$ ```cpp {.line-numbers} #include using namespace std; @@ -245,4 +245,96 @@ int main() { } return 0; } +``` + +### 三、优化版本 +$O(N^2)$ + +其实,由于每次新增加的一对$(a,b)$,只会更新与$a,b$有边连接的点,其它的无关点是没有影响的,如果加上一对$(a,b)$就去全新计算,无疑是存在浪费的,可以优化的。 + +怎么优化呢?核心思路就是$(a,b)$做为$floyd$算法的中继点即可,其它点不再被遍历做为中继点。 + +说人话就是: +① 遍历所有节点,找出所有小于$a$的节点$x$,那么$x$一定小于$b$。 +② 遍历所有节点,找出所有大于$b$的节点$x$,那么$a$一定小于$x$。 +③ 遍历所有节点,如果$x +using namespace std; + +const int N = 26; + +int n, m; +bool g[N][N]; +bool st[N]; + +int check() { + for (int i = 0; i < n; i++) + if (g[i][i]) return 2; // 矛盾 + + for (int i = 0; i < n; i++) + for (int j = 0; j < i; j++) + if (!g[i][j] && !g[j][i]) // 待继续 + return 0; + + return 1; // 找到顺序 +} +string getorder() { // 升序输出所有变量 + char s[26]; + for (int i = 0; i < n; i++) { + int cnt = 0; + // f[i][j] = 1表示i可以到达j (i< j) + for (int j = 0; j < n; j++) cnt += g[i][j]; // 比i大的有多少个 + // 举个栗子:i=0,表示字符A + // 比如比i大的有5个,共6个字符:ABCDEF + // n - cnt - 1 = 6-5-1 = 0,也就是A放在第一个输出的位置上, 之所以再-1,是因为下标从0开始 + s[n - cnt - 1] = i + 'A'; + } + + // 转s字符数组为字符串 + string res; + for (int i = 0; i < n; i++) res = res + s[i]; + return res; +} + +int main() { + while (cin >> n >> m, n || m) { + memset(g, 0, sizeof g); + + int type = 0, t; + for (int i = 1; i <= m; i++) { + char str[5]; + cin >> str; + int a = str[0] - 'A', b = str[2] - 'A'; + + // a> str; int a = str[0] - 'A', b = str[2] - 'A'; + // a