【五校联考7day2】QYQ的图
Description
给你一个n个点,m条边的无向图,每个点有一个非负的权值ci,现在你需要选择一些点,使得每一个点都满足:
如果这个点没有被选择,则与它有边相连的所有点都必须被选择。
问:满足上述条件的点集中,所有选择的点的权值和最小是多少?
QYQ很快就解决了这个问题,但是他已经回到了左下角……没有留下答案,现在只好请你来解决这个问题啦!
Input
从文件graph.in中输入数据。
输入的第一行包含两个整数n,m
输入的第二行包含n个整数,其中第i个整数代表ci
输入的第三行到第m+2行,每行包含两个整数u,v,代表点u和点v之间有一条边
Output
输出到文件graph.out中。
输出的第一行包含一个整数,代表最小的权值和
Sample Input
3 1
1 2 3
3 1
Sample Output
1
样例说明:
只选择1号点,满足题意
Data Constraint
对于20% 的数据:n<=10
对于40%的数据:n<=20
对于100%的数据:1<=n<=50, 1<=m<=500, 0<=c<=1000
图中可能会有重边,自环。
点的编号为1—n。
.
.
.
.
.
分许
直接搜索就好了,当然不要 O(2^n)那种,每次搜索的时候如果这
个点不选,就直接把与它相连的所有点选上,搜索的时候加入一些剪
枝,比如如果现在的结果已经比现在的最佳答案大了就直接不搜了。
.
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;int n,m,c[51],cnt=1,head[51],ans=2147483647,f[51];struct edge
{int next,to;
} a[1010];inline int read()
{int d=0;char ch=getchar();while (ch<'0'||ch>'9') ch=getchar();while (ch>='0'&&ch<='9')d=(d<<3)+(d<<1)+ch-48,ch=getchar();return d;
}void add(int x,int y)
{a[cnt].next=head[x];a[cnt].to=y;head[x]=cnt++;
}void dfs(int x,int sum)
{if (sum>=ans) return;if (x>n){ans=min(ans,sum);return;}f[x]++;dfs(x+1,sum+c[x]);f[x]--;if (!f[x]){for (register int i=head[x];i;i=a[i].next)f[a[i].to]++;dfs(x+1,sum);for (register int i=head[x];i;i=a[i].next)f[a[i].to]--;}
}int main()
{freopen("graph.in","r",stdin);freopen("graph.out","w",stdout);n=read();m=read();for (register int i=1;i<=n;i++)c[i]=read();for (register int i=1;i<=m;i++){int x,y;x=read();y=read();if (x==y) f[x]++; else{add(x,y);add(y,x);}}dfs(1,0);printf("%d",ans);fclose(stdin);fclose(stdout);return 0;
}
转载于:https://www.cnblogs.com/YYC-0304/p/10458929.html
【五校联考7day2】QYQ的图相关推荐
- 4246. 【五校联考6day2】san (Standard IO)
4246. [五校联考6day2]san (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits D ...
- 湖南长郡2021高考成绩查询时间,2021年湖南新高考六校、长郡十五校联考时间公布...
2021年湖南新高考六校.长郡十五校联考时间公布 导读:距离2021年高考时间仅剩不到一百天,各个省份都的高三学子都进入紧张阶段.开始了各种模拟考试.2021届湖南省炎德英才大联考的考试时间也已经公布 ...
- jzoj4230. 【五校联考4day1】淬炼神体(B组——Day3)
jzoj4230. [五校联考4day1]淬炼神体 题目 Description 王仙女将你提供的答案填在<葵花宝典>上,突然,宝典发出耀眼的白光,一股强大的吸力瞬间将仙女吸入宝典中. 一 ...
- jzoj4240 [五校联考5day2]游行 拓扑排序+倍增lca+线段树优化建图
Description 恶梦是学校里面的学生会主席.他今天非常的兴奋,因为学校一年一度的学生节开始啦!! 在这次节日上总共有N个节目,并且总共也有N个舞台供大家表演.其中第i个节目的表演时间为第i个单 ...
- 【五校联考6day2】san
Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短 ...
- 【五校联考3day2】A
Description 帝国时代3是一款十分刺激的RTS游戏.你需要控制自己的一块殖民地,发展殖民地的经济和军事,最终打败其他殖民地.小L是这个游戏的狂热爱好者.一次小L打算打AI试试身手. 小L发展 ...
- [jzoj 4246] 【五校联考6day2】san {spfa+dfs/spfa+拓扑排序+dp}
题目 Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能 ...
- 4246. 【五校联考6day2】san
Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短 ...
- jzoj 4246【五校联考6day2】san
Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短 ...
最新文章
- 16张思维导图+学习路线图,囊括所有Python基础,可打印
- 树莓派学习——音频视频播放
- 联想计算机BIOS启动顺序boot,如何进入BIOS并更改启动顺序?
- php mysql 验证码代码_PHP_PHP 验证码的实现代码,checkcode.php 生成验证码图片, - phpStudy...
- VS2010中编写x64汇编的具体方法
- Nginx重写规则指南
- php -- 取日期
- HTML5 — 知识总结篇《VIII》【媒体元素】
- C#检测ocx控件是否注册
- w10 计算机配置管理模板,win10老是配置更新,设置这个,让你无处可更...
- java 保留原始顺序的有序map的新思路:List<Map.Entry<?,?>>
- 2022年山东省熔化焊接与热切割作业(特种上岗操作证)模拟试题及答案
- 雷达波形样式_系统工程与电子技术专栏征稿丨雷达抗干扰技术
- Q4财报发布,腾讯音乐高质量增长背后的创新进化论
- ubuntu中使用宋体和雅黑字体
- 计算机软件数据处理,[计算机软件及应用]总帐数据处理.ppt
- JAVA梅森旋转随机算法_伪随机数生成算法-梅森旋转(Mersenne Twister/MT)
- 软考高级,考网规还是考项管?
- HTTP响应码大全详解
- 2012年7月8日13:08:08
热门文章
- 那年的12月,那些悟与思2018-12-23
- 从零开始带你一步一步使用YOLOv3训练自己的数据
- Python pickle模块和joblib模块浅析
- Matconvnet安装:win7+VS2015(pro)+Matlab 2017a+cuda8.0+cudnn 5.1
- [Medical Image Process] 3.4 Morphology Application—Watershed Algorithm 分水岭算法
- 有关软件开发中的一些想法
- C#计算两点间的距离
- BugkuCTF-Misc:这是一张单纯的图片
- STM32开发 -- 信号强度CSQ
- Xposed简介以及小米去桌面广告的简单实现