博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva10859Placing Lampposts
阅读量:6090 次
发布时间:2019-06-20

本文共 1028 字,大约阅读时间需要 3 分钟。

题意:给你一个n个点m条边的无向无环图,在尽量少的节点上放灯,使得所有边都被照亮,每盏灯将照亮以他为一个端点的所有边,在灯的总数最小的前提下,被两盏灯同时照亮的边数应当尽量大。

分析:d(i,j)表示i的父节点放灯的状态为j(1表示放,0不放),以i为根的树的最小x值     x=Ma+c, a表示灯的总数, c表示只有一盏灯照亮此边, 题目转化成求x最小的问题, 把每个节点的x都求出来就好

代码:

View Code
1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 vector
adj[1010]; 7 int vis[1010][2], d[1010][2], n, m; 8 #define DEBUG 9 int dp(int i, int j, int f){10 if(vis[i][j]) return d[i][j];11 vis[i][j]=1;12 int& ans=d[i][j];13 int k;14 15 ans=2000;16 for(k=0; k
=0 && !j) ans++;19 20 if(f<0 || j){21 int sum=0;22 for(k=0; k
=0) sum++;25 if(ans>sum) ans=sum;26 }27 return ans;28 }29 int main(){30 #ifndef DEBUG31 freopen("in.txt", "r", stdin);32 #endif33 int T, a, b;34 scanf("%d", &T);35 while(T--){36 scanf("%d%d", &n, &m);37 int i;38 for(i=0; i

训练指南上的分析表示我是第二遍看才看懂。不过上午交题目发现uva这题是judging error1.  ⊙﹏⊙b汗

转载地址:http://xblwa.baihongyu.com/

你可能感兴趣的文章
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
php中的短标签 太坑人了
查看>>