当前位置: 首页 > news >正文

东莞网站制作企业网站设计官网入口

东莞网站制作企业网站,设计官网入口,网站怎样免费推广,win10建设本地网站Joe觉得云朵很美,决定去山上的商店买一些云朵。 商店里有 n 朵云,云朵被编号为 1,2,…,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有…

Joe觉得云朵很美,决定去山上的商店买一些云朵。
商店里有 n 朵云,云朵被编号为 1,2,…,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。

输入格式
第 1 行包含三个整数 n,m,w,表示有 n 朵云,m 个搭配,Joe有 w 的钱。
第 2∼n+1 行,每行两个整数 ci,di 表示 i 朵云的价钱和价值。
第 n+2∼n+1+m 行,每行两个整数 ui,vi,表示买 ui 就必须买 vi,同理,如果买 vi 就必须买 ui。

输出格式
一行,表示可以获得的最大价值。

数据范围
1≤n≤10000,0≤m≤5000,1≤w≤10000,1≤ci≤5000,1≤di≤100,1≤ui,vi≤n

输入样例:
5 3 10
3 10
3 10
3 10
5 100
10 1
1 3
3 2
4 2

输出样例:
1

解析:

搭配的都要买,可以理解成将有关系的都放在一起,相当一个物品,要买一起买。

这样就可以转换成01背包问题,每个物品只能购买一次,在有限的钱的情况下,让买的物品的价值尽可能的大。

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e6+10;
int p[N];
int v[N],w[N];
int v1[N],w1[N];
int f[N];
bool vis[N];
int find(int x)
{if (x!=p[x]) p[x]=find(p[x]);return p[x];
}
signed main()
{int n,m,k;cin>>n>>m>>k;for (int i=1;i<=n;i++) p[i]=i;for (int i=1;i<=n;i++) cin>>v[i]>>w[i];for (int i=0;i<m;i++){int a,b;cin>>a>>b;int x=find(a),y=find(b);if (x!=y){v[y] +=v[x];w[y] +=w[x];p[x]=y;}}int cnt=0;for (int i=1;i<=n;i++){int x=find(i);if (!vis[x]){cnt++;v1[cnt]=v[x];w1[cnt]=w[x];vis[x]=1;}}for (int i=1;i<=cnt;i++)       //01背包最简化  //模板for (int j=k;j>=v1[i];j--)f[j]=max(f[j],f[j-v1[i]]+w1[i]);cout<<f[k];return 0;
}//发现可以简化一下代码,不需要开新的数组记录每个“新的物品”的价值和代价。#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e6+10;
int p[N];
int v[N],w[N];
int f[N];
int find(int x)
{if (x!=p[x]) p[x]=find(p[x]);return p[x];
}
signed main()
{int n,m,k;cin>>n>>m>>k;for (int i=1;i<=n;i++) p[i]=i;for (int i=1;i<=n;i++) cin>>v[i]>>w[i];for (int i=0;i<m;i++){int a,b;cin>>a>>b;int x=find(a),y=find(b);if (x!=y){v[y] +=v[x];w[y] +=w[x];p[x]=y;}}for (int i=1;i<=n;i++)       //01背包最简化  //模板if (p[i]==i)                 //每个集合的根节点{for (int j=k;j>=v[i];j--)f[j]=max(f[j],f[j-v[i]]+w[i]);}cout<<f[k];return 0;
}

http://www.15wanjia.com/news/174020.html

相关文章:

  • 域名注册了如何做网站网站开发的后端
  • 做网站水印大连零基础网站建设培训班
  • 免费网站建设免代码广告免费发布信息平台
  • php网站安装图解能进入各种网站的浏览器
  • 门户网站改造方案互联网项目推广
  • 新网站推广方法宁波关键词排名优化平台
  • 网站建设公司推荐时代创信怎么自己创建小程序
  • 网站建设前的市场分析做一个简单网站
  • 企业网站的特点建立网站的方式
  • 快速搭建网站 优帮云网站开发 公司 深圳
  • 佳木斯建设工程交易中心网站做标签网站邀请码
  • 杭州低价做网站手机网站搭建教程
  • 微网站php源码重庆做网站推广公司
  • 重庆秀山网站建设报价django 开发一个公司网站
  • 怎么样学做网站旅游网站论文
  • 小程序有做门户网站关键词搜索查找工具
  • 建立网站的关键是定位网站建设策划案模板
  • 沈阳网站建设tlmh锡林郭勒盟建设局网站
  • 如何破解网站后台账号和密码分类网站有哪些
  • 已有网站开发安卓app虚拟主机推荐
  • 公司的论坛与网站绑定网络营销平台都有哪些
  • 曹妃甸网站建设潍坊网站制作 熊掌号
  • 外贸网站架构xampp配置多网站
  • 老板让我做网站负责人好学校平台网站模板下载
  • 马云为什么做网站html表单的完整代码
  • 企业网站建设很有必要网站数据库维护都是做什么
  • 个人做的好的淘宝客网站2019网页游戏排行榜
  • 可以做关键词优化的免费网站比较好网站设计公司
  • 公司建设网站的必要性广州住房建设部网站
  • 北京互联网公司前10强有哪些seo综合查询怎么用的