- 博客(6)
- 收藏
- 关注
原创 暑假组队训练——最小生成树
分析:判断最小生成树的唯一性,即如果存在其他最小生成树,说明至少有两条边存在相同权值且连接的点至少有一个相同,在kruskal建立最小生成树时,标记已经使用的边,并记录连接两点的边的权值,建完树后,遍历一遍没有被选用的边,若找到这样的边,说明非唯一。分析:二分+最小生成树kruskal,对D值二分,建立最小生成树时,在每次加边时额外判断距离是否大于D,最后在判断是否连接了所有点时,在已连接的边数加上k,表示未连接的边使用卫星频道联系,若判断完全连接,即得到最小D值。
2023-06-30 21:53:37
46
1
原创 简单的贪心问题(区间问题)
一、求最大不相交区间的数目 #include <bits/stdc++.h> using namespace std; const int N=1e5+10; struct node{ int l,r; bool operator< (const node &n)const{ return r<n.r; } }; int main(){ int n; scanf("%d",&n); node a[N]; for(int i=0;i<n
2022-05-26 17:19:55
112
原创 背包问题()
一、采药 (01背包) #include <bits/stdc++.h> using namespace std; const int N=1010; int f[N][N]; int w[N],v[N]; int main(){ int t,m; cin>>t>>m; for(int i=1;i<=m;i++) cin>>v[i]>>w[i]; for(int i=1;i<=m;i++){ for(int j=0;
2022-05-10 21:17:22
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人