dp
u010074900
这个作者很懒,什么都没留下…
展开
-
hdu 1421 搬寝室
题意非常简单,一道中文题。 首先将所有重量进行排序,我们容易证明,两个相邻的数的差平方一定比其他位置的差平方要小。 那么dp方程就好写了,设dp[i][j]表示从i个物品里选出j对最小的疲劳度。则dp方程如下: dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(weigh[i]-weigh[i-1])^2) 只考虑最后一个物品,如果他不能被选上,就相当于...原创 2013-05-14 20:09:15 · 74 阅读 · 0 评论 -
hdu 4540 打地鼠
中文题,题意非常简单,这里不赘述了。 显然状态之间具有联系,考虑使用动归。 设dp[i][j]表示第i时刻敲第j个出来的地鼠的最小消耗能量。 则构建dp方程如下: dp[i][j]=min(dp[i][j],dp[i-1][p=1...k]+abs(pos[i][j]-pos[i-1][p])); 代码如下: #include <cstdio> #include &l...原创 2013-05-15 13:22:20 · 72 阅读 · 0 评论 -
NENU 博士的化学元素发音问题
某天,博士突然对化学无比狂热,对化学的无比狂热使得他认为自己说的每一句话都应该由元素名称组成的,例如:“I Am CLaRa”(I是碘,Am是镅,C是碳,La镧,Ra是镭),“InTeRnAtIONAl”。但是有些词他是不能说的,例如“collegiate”, “programming” and “contest”。 现在给你一些单词,博士希望你确定这些单词是他是否能说,如果能输出YES,不...原创 2013-05-23 18:38:34 · 187 阅读 · 0 评论 -
fzu 1894 单调队列
单调队列,顾名思义,单调的队列。 能够用单调队列优化的问题一定符合一个性质:在你加入一个元素后,不优于这个元素的元素没有存在的必要了。 本题题意不再赘述。 用一个普通队列维护本来的队伍,FIFO,保证入队与出队的顺序。 再用一个单调队列维护最大人品,队首一定对应最大人品的序号。 为了防止最大人品对应的人已经出队,需要进行判断,处理完这些,这道题也差不多了。 #includ...原创 2013-05-23 18:42:51 · 89 阅读 · 0 评论 -
poj 2823 Sliding Window
一道非常经典的单调队列问题。 使用了递增和递减型两种单调队列。 注意单调队列构造的基本形式 int head=0,tail=1; for(int i=1;i<=m;i++) { while(head<=tail && a[deque[tail]]<=a[i]) tail--; deque[++tail]=i; } ...原创 2013-05-23 23:41:36 · 68 阅读 · 0 评论 -
poj 1737
本题是一道DP较为经典的题目,将规模分解变小。题意非常简单,求n个点的连通图个数。(n<=50)由于数据量较大,必须使用高精度,代码会显得非常长。这里使用java秒过。思路:使用n个点构成图全部方案数减去不连通图的个数。设F[n]表示n个点的不连通图的个数设a[n]表示n个点的连通图的个数则F[n]=sum{ c(n-1,k-1) * 2^(c(n-k,2)) * a[k] } 1<...原创 2013-05-27 13:55:43 · 124 阅读 · 0 评论