题目链接:11529 - Strange Tax Calculation
题意:平面上n个建筑物,3个建筑物可以组成一个三角形,计算平均每个三角形内有多少个点
思路:问题等价于,求凹四边形的占所有四边形的比例,用O(n^2)的算法,跟 
HDU 3629 Convex
这题是一个道理
代码:
#include 
#include 
#include 
#include 
using...
                            
                            
                                分类:
其他好文   时间:
2014-05-23 08:00:18   
                                阅读次数:
192
                             
                    
                        
                            
                            
                                题目:
    链接:点击打开链接
题意:
    有n个硬币,知道其价值A1。。。。。An。数量C1。。。Cn。问在1到m价值之间,最多能组成多少种价值。
思路:
    dp[i]表示i价值能够组成的最大种数。
代码:
#include
#include
#include
using namespace std;
int n,m;
int a[110],c[110];
int ...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 13:26:38   
                                阅读次数:
205
                             
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=2833
大致题意:给定一个无向图,以及悟空和师傅起点与终点,求它们分别从起点到终点的最短路径中经过相同的点的最大个数。
思路:首先dijkstra求出最短路,那么如果有dis[a] + map[a][b] = dis[b],则边(a,b)一定在最短路径上。根据这一定理可以求出所有最短路径。然后...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 13:00:41   
                                阅读次数:
234
                             
                    
                        
                            
                            
                                题意:
给定n个点 m条有向边 k
下面m条有向边
问删最少几个点使得1-n的最短路>k
这样思考:
如果k = inf,那么我们只要给每个点拆点一下,限流为1,然后原图的边容量为inf,跑个最小割即可(这样建图就能求出删点的最小割,而不是删边的最小割)
注意这样建图,起点拆点出的边容量=inf,终点同理
而此题中,我们只需要把所有在满足k条件的所有路径上的点加入图即...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 12:20:36   
                                阅读次数:
258
                             
                    
                        
                            
                            
                                题目链接:hdu 4804 Campus Design
题目大意:有1?2的木块无穷个,要求在给定的图n?m的图上,用1?2和1?1的木块铺满,图上的0表示不需要铺的位置,1表示必须要铺的位置。并且1?1的使用数量必须在c到d之间。求总方案数。
解题思路:和uva11270一样的做法,只是需要多添加一位状态来表示用掉1得个数,以及要对当前位置判断是否为可放。
#include 
#i...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 09:15:28   
                                阅读次数:
201
                             
                    
                        
                            
                            
                                题目:
    链接:点击打开链接
题意:
    给出N种设备的价值和数量,怎样尽可能的平分。
算法:
    多重背包。
思路:
    1.转化为01背包解决。2.使用单调队列优化O(VN)算法。
代码:
    法一:
#include
#include
#include
using namespace std;
int n;
int v[55],m[55];
int...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 09:09:38   
                                阅读次数:
205
                             
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=3832
大致题意:给出n个灯的位置以及每个灯照亮的范围。问最后至多可以熄灭多少盏灯使得编号为1,2,3的点连通。
思路:若任意两灯的照亮范围相交,那么两点之间建边,权值为1。最后枚举一点使它到1,2,3点的距离最近,那么该距离之和+1(还有该点本身)代表必须不能熄灭的灯,那么熄灭的灯数就求出来...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 08:46:23   
                                阅读次数:
229
                             
                    
                        
                            
                            
                                数塔
Problem Description
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:
有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?
已经告诉你了,这是个DP的题目,你能AC吗?
 
Input
输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整...
                            
                            
                                分类:
其他好文   时间:
2014-05-22 06:32:17   
                                阅读次数:
198
                             
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=1317
大致题意:有n个房间,每个房间都有对应的能量值(可正可负),现在从1出发要到达n,初始能量为100,问是否能够达到n点,到达n的条件是中间及最后的能量值都要大于0.
思路:若不考虑环,那么求最长路判断是否大于0即可。若存在负环,对求最长路也没影响;但当存在正环时,最长路就不存在了。可用...
                            
                            
                                分类:
其他好文   时间:
2014-05-20 16:04:43   
                                阅读次数:
256
                             
                    
                        
                            
                            
                                题目:
    链接:点击打开链接
题意:
    判断是否能够平分弹珠。
算法:
    多重背包。
思路:
    模板。。。dp[i]中i表示花费。。
代码:
#include
#include
#include
using namespace std;
int n[7];
int dp[120010];
int V;
void bag_01(int c,int w)/...
                            
                            
                                分类:
其他好文   时间:
2014-05-20 16:03:26   
                                阅读次数:
256