题目大意:有一些码头由若干条边组成,有些时候有一些码头需要维修,这个期间不能使用这个码头。跟换航线的话会有一定的花费,求规定天数内的最小花费。
思路:最短路方面用SPFA就行,关键是动态规划。这个动规我想了很久,结果到最后发现自己想复杂了。我一开始想的是用SPFA处理出每一个不同的段,然后动规。这样做不仅分段不好分,动规也不好写。之后才发现,一共天数才100,枚举起点和终点才10000,...
分类:
其他好文 时间:
2014-10-20 10:07:19
阅读次数:
296
【题目】
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.
Note: You can only move either down o...
分类:
其他好文 时间:
2014-10-19 21:25:37
阅读次数:
247
简单的动态规划题目ID:1177题目名称:公路乘车有效耗时:15 ms空间消耗:516 KB程序代码: 1 #include 2 using namespace std; 3 4 int f[11]; 5 int g[102]; 6 int main(){ 7 for(int i=1;i>...
分类:
其他好文 时间:
2014-10-19 11:25:10
阅读次数:
214
题目大意:给你一个直方图,告诉你各个条形矩形的高度,求基线对齐构成的矩形中面积
最大的矩形的面积对于每一个矩形。面积 = h[i]*(j-k+1),其中j,k是左右边界,h[i]是矩形
的高。并且对于j <= x <= k,h[i] <= h[x]。
本题中,找到左右边界j,k是关键。
利用动态规划的方法,对于位置i,如果左边条形矩形的高度大于它本身,那么左边的左边
界一定也满足位置i的左边界。同理如果右边条形矩形的高度大于它本身,那么右边的右边
界也一定满足位置i的右边界。迭代循环下去。直到找到i的左右边...
分类:
其他好文 时间:
2014-10-18 11:16:38
阅读次数:
173
将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行)
原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要把棋盘按上述规则分割成n块矩形棋盘,并使各矩形棋盘总分的均方差最小。
均方差,其中平均值,x...
分类:
其他好文 时间:
2014-10-18 11:12:09
阅读次数:
211
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955题意是给你一个概率P,和N个银行现在要去偷钱,在每个银行可以偷到m块钱,但是有p的概率被抓问你被抓的概率在P以下,最多能偷多少钱。刚开始我还在想,A银行被抓的概率是a,B银行被抓的概率是b,那么偷A...
分类:
其他好文 时间:
2014-10-18 11:07:01
阅读次数:
167
顺序可略,多阶段决策,1.当前木块放在第col上面,2.当前木块另起col,3.舍弃
#include
#include
using namespace std;
struct Block{
int lens[3];
};
Block blocks[110];
int DP[110][110][110][3];
int M, N;
int judge( int be...
分类:
其他好文 时间:
2014-10-17 23:24:42
阅读次数:
258
目前我常常使用的分词有结巴分词、NLPIR分词等等最近是在使用结巴分词,稍微做一下推荐,还是蛮好用的。一、结巴分词简介利用结巴分词进行中文分词,基本实现原理有三:基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)采用了动态规划查找最大概率路径, 找出基于...
分类:
编程语言 时间:
2014-10-17 23:14:23
阅读次数:
319
题目大意:求使连续子序列的和最大的第一元素,最后一个元素和子序列的和
思路:动态规划的方法,主要是找到状态转移方程。将之前累加和加上当前值
与当前值做比较, 如果将之前累加和加上当前值>当前值,那么加上当前值,
最后一个元素变为i,如果将之前累加和加上当前值<当前值,那么sum[i] = a[i]
,并且改变第一元素为i,最后元素为i。具体看代码。
状态转移方程:sum[i]=max(sum[i-1]+a[i],a[i]);...
分类:
其他好文 时间:
2014-10-17 22:01:12
阅读次数:
236
题目大意:求使连续子序列的和最大的第一元素,最后一个元素位置,和子序列
的和
思路:动态规划的方法,主要是找到状态转移方程。将之前累加和加上当前值
与当前值做比较, 如果将之前累加和加上当前值>当前值,那么加上当前值,
最后一个元素位置变为i,如果将之前累加和加上当前值<当前值,那么sum[i] =
a[i],并且改变第一元素位置为i,最后元素位置为i。具体看代码。
状态转移方程:sum[i]=max(sum[i-1]+a[i],a[i]);...
分类:
其他好文 时间:
2014-10-17 22:00:36
阅读次数:
241