C129 并查集+01背包 P1455 搭配购买

视频链接:C129 并查集+01背包 P1455 搭配购买_哔哩哔哩_bilibili

 

 

E08【模板】背包DP 01背包_哔哩哔哩_bilibili

P1455 搭配购买 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

复制代码
// 并查集+01背包
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const int N=10005;
int n,m,V;
int p[N];
int v[N],w[N],f[N];

int find(int x){
  return p[x]==x?x:p[x]=find(p[x]);
}
int main(){
  ios::sync_with_stdio(0);
  cin>>n>>m>>V;
  for(int i=1;i<=n;i++){ //n个物品
    cin>>v[i]>>w[i]; //体积和价值
    p[i]=i;
  }
  for(int i=1;i<=m;i++){ //m个搭配
    int x,y;cin>>x>>y;
    x=find(x),y=find(y);
    if(x!=y){
      p[x]=y;
      v[y]+=v[x]; //捆绑的体积
      w[y]+=w[x]; //捆绑的价值
    }
  }
  for(int i=1;i<=n;i++) //物品
    if(p[i]==i) //物品为根
      for(int j=V;j>=v[i];j--) //体积
        f[j]=max(f[j],f[j-v[i]]+w[i]);
  cout<<f[V];
}
复制代码

 

posted @   董晓  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-05-28 E59 四边形不等式优化DP Optimal Binary Search Tree
2022-05-28 D21 网络流 最大流 Dinic 算法
2022-05-28 D20 网络流 最大流 EK 算法
2022-05-28 D19 Tarjan vDCC 缩点
2022-05-28 D18 Tarjan eDCC 缩点
2022-05-28 D17 Tarjan 割边
2022-05-28 D16 Tarjan 割点
点击右上角即可分享
微信分享提示