P1194买礼物P1194买礼物
简单的说 这是一道最小生成树的模板题(
背板子就行了)
然而刚看到这题 还不知道什么意思。
所以的话 考虑建边
怎么建边呢? 看到这题毫无头绪
第 ii 件物品对 jj 有优惠的话就建边 然后从 00 向各点连边权为 aa 的边
inline void Add(int u,int v,int w) {
cnt ++ ;
edge[cnt] = node{u,v,w};
return ;
}
for(register int i=1;i<=b;i++)
for(register int j=1;j<=b;j++) {
int x = In() ;
if(i<j and x) Add(i,j,x) ;
}
for(register int i=1;i<=b;i++) Add(0,i,a) ;
建完边按权值排序跑kruskalkruskal。这就ACAC了。
完整代码
#ifdef Dubug
#endif
#include <bits/stdc++.h>
using namespace std;
typedef long long LL ;
inline LL In() { LL res(0),f(1); register char c ;
while(isspace(c=getchar())) ; c == '-'? f = -1 , c = getchar() : 0 ;
while(res = (res << 1) + (res << 3) + (c & 15) , isdigit(c=getchar())) ;
return res * f ;
}
int a,b;
struct node{
int u,v,w;
};
const int N = 1 << 9;
node edge[N*N] ;
int fa[N<<1] ;
bool cmp (node x,node y) {
return x.w < y.w ;
}
int cnt (0) ;
inline void Add(int u,int v,int w) {
cnt ++ ;
edge[cnt] = node{u,v,w};
return ;
}
inline int find(int x) {
return fa[x] == x ? fa[x] : fa[x] = find(fa[x]) ;
}
inline void merge(int x,int y) {
fa[x] = fa[y] ;
return ;
}
inline void kruskal() {
LL ans (0) , v (0) ;
sort(edge+1,edge+cnt+1,cmp) ;
for(register int i=1;i<=cnt;i++) {
int x = find(edge[i].u) , y = find(edge[i].v) ;
if(x == y) continue ;
ans += edge[i].w ;
merge(x,y) ;
if(++v == b) break ;
}
cout << ans << endl ;
return ;
}
signed main() {
a = In() , b = In() ;
for(register int i=0;i<=b;i++) fa[i] = i ;
for(register int i=1;i<=b;i++)
for(register int j=1;j<=b;j++) {
int x = In() ;
if(i<j and x) Add(i,j,x) ;
}
for(register int i=1;i<=b;i++) Add(0,i,a) ;
return kruskal() , 0 ;
}
不存在十全十美的文章 如同不存在彻头彻尾的绝望
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析