上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页
摘要: J. Factorial Products 思路:根据对数性质:log(a*b) = log(a) + log(b),使得阶乘相乘转变为前缀和累加,处理了数据过大无法存储的问题。 #include <iostream> #include <cstdio> #include <algorithm> # 阅读全文
posted @ 2020-06-04 22:57 SummerMingQAQ 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 边双联通分量:在一个无向图中,存在一个极大子图,删除任意一条边之后仍然是一个无向图。 桥:在无向图中,存在某条边,删除该边之后,该无向图将会被分割成两个无向图。 1 #include <iostream> 2 #include <vector> 3 #include <cstdio> 4 #incl 阅读全文
posted @ 2020-06-03 20:01 SummerMingQAQ 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 点双连通分量:在一个无向图中,存在一个极大子图,删除任意一个节点之后该图仍然是一个连通图。 割点:在一个无向图中,存在一个节点,删除这个节点之后,该无向图会被分为若干个连通图(个数大于一),则该点为割点。 #include <iostream> #include <vector> #include 阅读全文
posted @ 2020-06-02 18:02 SummerMingQAQ 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 强连通:在有向图中,如果Vx能到达Vy,且Vy也能到达Vx,说明它们两个点强连通。 强连通分量:在有向图中,存在一个极大子图,该子图中任意两点都是强连通。 #include <iostream> #include <vector> #include <cstdio> #include <cstrin 阅读全文
posted @ 2020-06-02 10:55 SummerMingQAQ 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 匈牙利算法 #include <iostream> #include <vector> #include <cstdio> #include <cstring> #include <queue> using namespace std; #define ll long long #define pb 阅读全文
posted @ 2020-05-29 22:21 SummerMingQAQ 阅读(184) 评论(0) 推荐(0) 编辑
摘要: ROADS 思路:K = 10000,dijkstra复杂度O(nlogn),如果我们把不同点的不同花费拆点,即d[花费][点] = 距离,则被拆为 N*K个点,分成K层,则dijkstra复杂度O(k * (n *logn + m)),复杂度在超时边缘徘徊... #include <iostrea 阅读全文
posted @ 2020-05-29 17:19 SummerMingQAQ 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 拯救大兵瑞恩 思路:钥匙种类p = 10,我们可以拥有不同种类钥匙,通过这个我们可以把图分成2^p层,表示拥有不同种类钥匙的情况。 #include <iostream> #include <vector> #include <cstdio> #include <cstring> #include 阅读全文
posted @ 2020-05-29 12:45 SummerMingQAQ 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Equidistant 思路:我们首先可以想到,如果存在点x使得其他队伍到达这个城市距离相同,可以看作一个四面八方往上走楼梯的方式,通过走楼梯,他们慢慢汇聚到一起,直到汇聚到x点,则我们可以通过bfs来进行分层,从队伍点出发bfs,之后我们只需要模拟汇聚的方式,当然,我们只能走上一层的点,不能退,不 阅读全文
posted @ 2020-05-25 11:31 SummerMingQAQ 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 双调路径 思路:我们可以容易想到,通过不同的边到达某个点的时间和金钱是不一样的,这是难点。我们发现点数n = 100,权值t,c = 100,如果我们分别维护时间权值为x时,到达该城市的最少金钱是多少,即d[城市][时间] = 金钱,因为 n = 100, t,c = 100,说明我们需要维护 n* 阅读全文
posted @ 2020-05-23 21:07 SummerMingQAQ 阅读(330) 评论(0) 推荐(0) 编辑
摘要: Manacher(马拉车) 1 #include<iostream> 2 #include<string.h> 3 #include<algorithm> 4 #include <cstdio> 5 using namespace std; 6 7 const int N = 1e7 + 1e6 + 阅读全文
posted @ 2020-05-21 20:13 SummerMingQAQ 阅读(199) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 21 下一页