摘要: 题意:在一个n*m的格子里有b个障碍物,每个障碍物都有一个标记表示他的周围(上下左右)必须有且只有几个灯泡,想在让你方灯泡,要求灯泡彼此之间不能被照到,而且每个空白区域一定要被照到,求最少的灯泡数分析:dfs + 剪枝View Code #include <cstdio>#include <cstring>#include <iostream>using namespace std;#define re(i,n) for(int i=0;i<n;i++)#define re1(i,n) for(int i=1;i<=n;i++)#define i 阅读全文
posted @ 2012-07-01 23:27 lenohoo 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 题意:要建一棵圣诞树,使得总的花费最小。具体规则是:圣诞树是一颗无向树形图,其中,编号为1的节点为根节点,原始图中每条边具有边权:材料的单位价值;每个点也有一个权:点的重量。生成树中,各条边的花费是该边权* 该边的子树中所有点的重量和,总的花费则是生成树中所有边的花费之和。题目要求是这样一棵树,每条边的权值是该边和所有子节点的点权和的乘积,那么,将我们的角度从边转移到点,对于每一个点,他所涉及的权值就是他延一条边到达源点1的距离*它本身的权值,对每个点都是如此;所以求出点1到每个点的单源最短路,每个点的距离乘点权和就是答案。View Code #include <cstdio>#i 阅读全文
posted @ 2012-07-01 01:01 lenohoo 阅读(236) 评论(0) 推荐(0) 编辑