100078D Domestic Networks
题目大意
有两种染料,给定它们的单价和数量,每染色一米需耗费一个单位的染料,一条边只能用一种燃料,给你一张图,要求你将其中的一些边染色使得在满足图联通的情况下花费最小并输出方案。
分析
首先,要求图联通且花费最小我们不由想到了求最小生成树,在求完之后我们的问题就变成的看每条边要被染成哪种颜色。我们用dpij表示考虑了前i条边,第一种染料(5号染料)用的数量,并用数组记录一下在这种情况下所选的染料种类就可以了,详见代码。
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
#define sp cout<<"---------------------------------------------------"<<endl
const int inf=0x3f3f3f3f;
struct node {
int x,y,z,id;
}d[];
int dp[][],pre[],p5,q5,p6,q6,n,m,wh[],fa[],cnt,tot;
bool ch[][];
struct ans {
int a,b;
}out[];
bool cmp(const node a,const node b){return a.z<b.z;}
bool cmp2(const ans a,const ans b){return a.a<b.a;}
inline int sf(int x){return fa[x]==x?x:fa[x]=sf(fa[x]);}
int main(){
freopen("domestic.in","r",stdin);
freopen("domestic.out","w",stdout);
int i,j,k;
scanf("%d%d",&n,&m);
for(i=;i<=m;i++){
scanf("%d%d%d",&d[i].x,&d[i].y,&d[i].z);
d[i].id=i;
}
scanf("%d%d%d%d",&p5,&q5,&p6,&q6);
sort(d+,d+m+,cmp);
for(i=;i<=n;i++)fa[i]=i;
for(i=;i<=m;i++){
if(sf(d[i].x)!=sf(d[i].y)){
fa[sf(d[i].x)]=sf(d[i].y);
cnt++;
pre[cnt]=pre[cnt-]+d[i].z;
wh[cnt]=i;
}
if(cnt==n-)break;
}
if(cnt<n-){
puts("Impossible");
return ;
}
memset(dp,0x3f,sizeof(dp));
dp[][]=;
for(i=;i<=cnt;i++)
for(j=;j<=min(q5,pre[i]);j++){
if(pre[i]-j>=d[wh[i]].z&&pre[i]-j<=q6)
dp[i][j]=dp[i-][j]+d[wh[i]].z*p6;
if(j>=d[wh[i]].z&&dp[i][j]>dp[i-][j-d[wh[i]].z]+d[wh[i]].z*p5){
dp[i][j]=dp[i-][j-d[wh[i]].z]+d[wh[i]].z*p5;
ch[i][j]=;
}
}
int ans=inf,pl;
for(i=;i<=q5;i++){
if(dp[cnt][i]<ans){
ans=dp[cnt][i];
pl=i;
}
}
if(ans==inf)puts("Impossible");
else {
cout<<ans<<endl;
for(i=cnt;i>;i--)
if(ch[i][pl]){
cout<<d[wh[i]].id<<' '<<<<endl;
pl-=d[wh[i]].z;
}else cout<<d[wh[i]].id<<' '<<<<endl;
}
return ;
}
100078D Domestic Networks的更多相关文章
- POJ - 3538 - Domestic Networks
先上题目: Domestic Networks Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 732 Accepted: ...
- ActiveMQ笔记(3):基于Networks of Brokers的HA方案
上一篇介绍了基于ZK的ActiveMQ HA方案,虽然理解起来比较容易,但是有二个不足: 1) 占用的节点数过多,1个zk集群至少3个节点,1个activemq集群也至少得3个节点,但其实正常运行时 ...
- 【转】Artificial Neurons and Single-Layer Neural Networks
原文:written by Sebastian Raschka on March 14, 2015 中文版译文:伯乐在线 - atmanic 翻译,toolate 校稿 This article of ...
- OpenFlow:Enabling Innovation in Campus Networks
SDN领域,OpenFLow现在已经成为了广泛使用的南向接口协议.若想好好学习SDN,在这个领域有所进步,需要熟悉OpenFlow协议.我最近找了篇有关OpenFLow的论文,发现最早该协议是在Sig ...
- Spatial Transformer Networks(空间变换神经网络)
Reference:Spatial Transformer Networks [Google.DeepMind]Reference:[Theano源码,基于Lasagne] 闲扯:大数据不如小数据 这 ...
- tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real- ...
- 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)
Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...
- VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 这篇论文
由Andrew Zisserman 教授主导的 VGG 的 ILSVRC 的大赛中的卷积神经网络取得了很好的成绩,这篇文章详细说明了网络相关事宜. 文章主要干了点什么事呢?它就是在在用卷积神经网络下, ...
- Deep Learning 26:读论文“Maxout Networks”——ICML 2013
论文Maxout Networks实际上非常简单,只是发现一种新的激活函数(叫maxout)而已,跟relu有点类似,relu使用的max(x,0)是对每个通道的特征图的每一个单元执行的与0比较最大化 ...
随机推荐
- 搭建了一个Apache+Php+MySQL的服务器。要如何通过Apache发布网站使得其他的电脑可以通过局域网访问?
源址: 1.网站的代码放在文件夹“www”下: 2.配置apache允许他人访问网站:在wamp/apache/apache版本/conf的httpd.conf文件修改代码如下: Optio ...
- Agc007_C Pushing Balls
传送门 题目大意 在一条直线上有$N$个球和$N+1$个洞,每两个球之间有一个洞,每两个洞之间有一个球,最左端和最右端都是洞,其中产生的$2N$个间隔满足从左到右是等差数列.你每次随机选择一个未被推进 ...
- THUWC2017
100+20+20=140 还是很菜... T1 在美妙的数学王国中畅游 一棵树每个点有一个函数(sin,exp,一次函数),支持加边,删边,单点修改,查询一条路径在 $x$ 处的点值和 sol: 题 ...
- UVA - 11916 Emoogle Grid (组合计数+离散对数)
假如有这样一道题目:要给一个M行N列的网格涂上K种颜色,其中有B个格子不用涂色,其他每个格子涂一种颜色,同一列中的上下两个相邻格子不能涂相同颜色.给出M,N,K和B个格子的位置,求出涂色方案总数除以1 ...
- HihoCoder1182 欧拉路(Fleury算法)
描述 小Hi和小Ho破解了一道又一道难题,终于来到了最后一关.只要打开眼前的宝箱就可以通关这个游戏了. 宝箱被一种奇怪的机关锁住: 这个机关是一个圆环,一共有2^N个区域,每个区域都可以改变颜色,在黑 ...
- Spring通过XML方式实现定时任务
package com.wisezone.service; import java.text.SimpleDateFormat; import java.util.Date; import org.s ...
- NET Core 2.0利用MassTransit集成RabbitMQ
NET Core 2.0利用MassTransit集成RabbitMQ https://www.cnblogs.com/Andre/p/9579764.html 在ASP.NET Core上利用Mas ...
- Shiro-Session
概述 Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理.会话事件监听.会话存储/持久化.容器无关的 ...
- [转]A记录和CNAME记录的区别
1.什么是域名解析? 域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程.IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址.域名的解 ...
- 非常不错的LTE架构讲解
<LTE系统协议架构---通俗易懂超经典> <3GPP协议导读> <3GPP协议36211-850中文翻译> <LTE全套协议汇总> <NB-IO ...