2014年11月1日

hdu1227 n个站点建m个餐厅使(每个站点到他最近的餐厅)和最小

摘要: 前i个站点建j个餐厅=min(前k个站点建j-1个餐厅+最后一个餐厅必然建在a[(k+1+i)/2]的位置) (j-1 2 #include 3 #include 4 #include 5 using namespace std; 6 int dp[205][35],cost[205][205],a... 阅读全文

posted @ 2014-11-01 14:17 xiao_xin 阅读(96) 评论(0) 推荐(0) 编辑

hdu1466 dp:直线可能交点数

摘要: i,j,k有j条自由,剩下i-j条相互平行,[j][k]状态表示是否可行 1 #include 2 #include 3 int dp[25][200]; 4 int main() 5 { 6 int i,j,k,n,flag; 7 memset(dp,0,sizeof(dp)); ... 阅读全文

posted @ 2014-11-01 09:34 xiao_xin 阅读(63) 评论(0) 推荐(0) 编辑

hdu1428 递归形式dp(记忆化搜素):A能到B的条件是A到目的地最短路大于B到目的地最短路

摘要: 自以为已经做了好多年dp,可最近随意一个dp放在眼前却总是不能想到!!先用bfs(队列)处理每个点到目的地最短路,不用转化为图用dijkstra,麻烦且超时。然后记忆化搜素,对于起始点,四个方向若有到达目的地最短路小于当前点,则起始点的方案数+=该方向点到目的地方案数。 1 #include 2 #... 阅读全文

posted @ 2014-11-01 08:41 xiao_xin 阅读(151) 评论(0) 推荐(0) 编辑

hdu1501 dp:两个字符串能否组成新串,状态表示能,不能。

摘要: dp思路最重要!! 1 #include 2 #include 3 char s1[1005],s2[1005],s[1005]; 4 int dp[1005][1005]; 5 int main() 6 { 7 int T,t,i,j,len1,len2; 8 scanf("%d"... 阅读全文

posted @ 2014-11-01 01:13 xiao_xin 阅读(155) 评论(0) 推荐(0) 编辑

导航