上一页 1 2 3 4 5 6 7 ··· 15 下一页

2015年10月18日

Minimax Triangulation

摘要: 题意:按顺序给定一些点,把这些点分割为n - 2个三角形,花费为最大三角形面积,求最小花费分析:区间dp,dp[i][j]表示完成区间[i,j]最小花费,dp[i][j]=min(dp[i][j],max(dp[i][k],dp[k][j],area(p[i],p[j],p[k]);(area表示三... 阅读全文

posted @ 2015-10-18 20:43 积跬步、至千里 阅读(255) 评论(0) 推荐(0) 编辑

2015年10月17日

Stamps and Envelope Size

摘要: 题意:容量为s的信封,给n组邮票的面值,求哪一组能组成的连续的面值的最大值最大,若有多组答案,输出面值数量最小的一组,若数量相等,输出最大面值最小的一组,若最大面值相等,输出第二大面值最小的一组,依次类推。分析:可以从小到大枚举面值直到不能组成,dp[i][j]是否能组成面值为i,用邮票数量为j d... 阅读全文

posted @ 2015-10-17 22:33 积跬步、至千里 阅读(154) 评论(0) 推荐(0) 编辑

Alibaba

摘要: 题意:有n个东西在一条路上,已知他们的位置,和能获得他们的最后期限,求能获得n个东西的最小总时间。分析:想到了求”未来费用问题",dp[i][j][k]表示获得区间长i起点为j的所有东西,k=0最后点在左边界,k=1最后点在右边界,花费最小的费用。dp[i][j][0]=min(dp[i-1][j+... 阅读全文

posted @ 2015-10-17 22:20 积跬步、至千里 阅读(161) 评论(0) 推荐(0) 编辑

Cyborg Genes

摘要: 题意:给两个字符串,求最短的以两字符串为子序列的字符串和个数分析:最长公共子序列的变形,num[i][j]表示个数#include #include #include #include #include #include #include #include #include #include #in... 阅读全文

posted @ 2015-10-17 22:17 积跬步、至千里 阅读(101) 评论(0) 推荐(0) 编辑

Cake slicing

摘要: 题意:n*m的方格中有k个点,现在要把方格分开使得每个点在一个部分,每分一次花费边长的费用,求完成花的最小费用分析:dp[sx][sy][ex][ey]表示分割起点(sx,sy)终点(ex,ey)的矩形最小花费,判断一下矩形内有无点,无点置成无穷大(不会被选择),若有一个点则完成分割值为0,若多于一... 阅读全文

posted @ 2015-10-17 22:11 积跬步、至千里 阅读(219) 评论(0) 推荐(0) 编辑

Longest Run on a Snowboard

摘要: 题意:n*m的矩阵,求矩阵中最长下降的序列的长度。分析:dp[i][j]表示以i,j为起点的最长下降序列,然后记忆化搜索。#include #include #include #include #include #include #include #include #include #include... 阅读全文

posted @ 2015-10-17 22:02 积跬步、至千里 阅读(172) 评论(0) 推荐(0) 编辑

Color Length

摘要: 题意:给出两个字符串,求把两字符串组成一个字符串使的字符串中的相同字母的最远距离的和最小。分析:本题关键在于怎么计算距离和的方法上。dp[i][j]表示处理到长度i的a串,长度j的b串还需要的计算的距离dp[i][j]=min(dp[i+1][j],dp[i][j+1])+num[i][j](表示组... 阅读全文

posted @ 2015-10-17 21:58 积跬步、至千里 阅读(147) 评论(0) 推荐(0) 编辑

Team them up!

摘要: 题意:给出n个人以及认识其他人的情况,现在要把所有人分成两队,每队至少一人,求使两队人数差距最小且每队内部的人都相互认识的分队情况。分析:这道题让我学习到了不少,首先看到使差距最小就想到了背包,但是不会表示分队情况。看了别人的思路,这个很明显是要判断是否是二分图,让不是相互认识的两人连一条边,若不是... 阅读全文

posted @ 2015-10-17 21:43 积跬步、至千里 阅读(201) 评论(0) 推荐(0) 编辑

The Bookcase

摘要: 题意:有n本宽w高h的书,向三层书架上放,每层不能为空,求占用的整体的最小面积(总高度*三层中最宽的)分析:不太好想,dp[i][j]表示第一层宽度为i第二层为j放的最小高度dp[i][j]=min(dp[i-w[i]][j],dp[i][j-w[i]])放在第一、二层取最小,当i,j放的是第一本书... 阅读全文

posted @ 2015-10-17 21:28 积跬步、至千里 阅读(153) 评论(0) 推荐(0) 编辑

Fixing the Great Wall

摘要: 题意:在一条线上,有n个坏的地方要修机器人修,机器人的移动速度V,若坏的地方立即被修花费ci,若没修,每单位时间增加d,出去机器人的开始位置,求修完n个地方的最小花费。分析:非常经典,求解“未来费用”的问题,考虑区间完成最后一定在区间边界上,才能保证最优。dp[i][j][k]表示修完区间长i起点为... 阅读全文

posted @ 2015-10-17 20:42 积跬步、至千里 阅读(229) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 15 下一页

导航