题目链接题意 :给你一个字符串,让你删除或添加某些字母让这个字符串变成回文串,删除或添加某个字母要付出相应的代价,问你变成回文所需要的最小的代价是多少。思路 :DP[i][j]代表的是 i 到 j 这一段位置变成回文所需的最小的代价。 1 //3280 2 #include 3 #include ....
分类:
其他好文 时间:
2014-07-22 22:46:35
阅读次数:
217
题目链接题意 : 给你每个柿子树的位置,给你已知长宽的矩形,让这个矩形包含最多的柿子树。输出数目思路 :数据不是很大,暴力一下就行,也可以用二维树状数组来做。 1 //2029 2 #include 3 #include 4 #include 5 6 using namespace std ...
分类:
其他好文 时间:
2014-07-22 22:41:34
阅读次数:
298
Now I believe thoughts leading to DP is brutal DFS.. DFS is brutal force enumeration, but that's too much and naive. We need pruning. So, DFS + Prunin...
分类:
其他好文 时间:
2014-07-22 22:40:34
阅读次数:
183
题意:
给定n个数字。
问任意两数之间的差的总和是多少。
思路:
先从小到大排序。
然后dp转移方程:
sum[i]=sum[i-1] + i*(sum[i]-sum[i-1]);
最后结果是ans=sum[n]*2;(因为噪声计算是双向的)
其实与其说是dp,还不如说是找规律。
这样的时间复杂度是sort的时间复杂度O(nlogn)。
主要卡精度。。。。
法一:#i...
分类:
其他好文 时间:
2014-07-22 14:20:04
阅读次数:
174
01背包是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即F[i,v] 表示前i 件物品恰放入一个容量为v 的背包可以获得的最大价值。则其状态转移方程便是:
F[i,v]=max(F[i,v],F[i-1,v-w[i]]+v[i])
这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细解释一下:“将前i 件物品放入容量为v ...
分类:
其他好文 时间:
2014-07-22 14:19:44
阅读次数:
170
http://acm.hdu.edu.cn/showproblem.php?pid=3998求LIS的长度,并且求有多少组互不相交的LIS求组数用最大流建图如下:if(dp[i]==1)add(S,i,1) ; if(dp[i]==ans)add(i+n,T,1) ;if(j>i && dp[j.....
分类:
其他好文 时间:
2014-07-22 00:04:33
阅读次数:
194
Round Numbers:如果n换成二进制后,0的个数大于等于1的个数
求x-y范围内Round Numbers有几个...
分类:
其他好文 时间:
2014-07-21 23:46:54
阅读次数:
196
集合上的dp,看小紫书想了好久~
有n个物体,m个特征,最少询问多少次能保证猜到是哪个问题。
首先在读入的时候将每个物体转化为一个二进制整数,用一个集合s来表示已经询问了哪些特征。
用d(s,a)来表示询问了集合s的特征,有集合a个特征已经具备,还需要问多少个特征的最小值。a一定为s的子集。
则状态方程为 d(s,a) = min{ max(d(s+{k},a+{k}),(s+{k},a...
分类:
其他好文 时间:
2014-07-21 23:33:05
阅读次数:
244
Space Elevator
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 8110
Accepted: 3843
题目大意 :一群牛要上天 用一些石块堆塔 给出石块的种类 及其每个种类的数量 和该种石块能出现的最高高度 和每种石块的数量
求怎么摆放才能...
分类:
其他好文 时间:
2014-07-21 22:27:58
阅读次数:
216