题目链接:Click
Here~
题意分析:
给一根长为L的木棒,然后给出要切的N处地方。要你用最少的花费完成这项任务。而花费是如何计算的呢?就是用当前木棒的长度是多少,那么花费就是多少。
算法分析:
运用记忆化的过程可以缩减很多时间,本题的实质是区间DP。原题是经典的石子合并问题。如果,感觉不好理解可以想想图论中的Flody模型。
状态转移方程:dp[i][j...
分类:
其他好文 时间:
2014-08-05 14:18:29
阅读次数:
191
1 /* 2 本题属于圆周追击问题: 3 假设已知两个圆周运动的物体的周期分别是a ,b, 设每隔时间t就会在同一条直线上 4 在同一条直线上的条件是 角度之差为 PI ! 5 那么就有方程 (2PI/a - 2PI/b)* t=PI 所以就有 t...
分类:
其他好文 时间:
2014-08-05 00:16:58
阅读次数:
231
http://poj.org/problem?id=3356题意:给两个长度不大于1000的串,修改其中一个串使得两串相同,问最少修改次数。修改有三种,插入一个字符,删除一个字符,改变一个字符。分析:直接给方程。dp[i][j]表示第一个串前i位和第二串前j位匹配的最小修改次数。dp[0][0] =...
分类:
其他好文 时间:
2014-08-04 23:57:08
阅读次数:
474
第一次做动规题目,以下均为个人理解以及个人方法,状态转移方程以及状态的定义也是根据个人理解,请过路大神指教。
状态:每一列的每一个数[ i ][ j ]都是一个状态;
然后定义状态[ i ][ j ]的指标函数d[ i ][ j ]为从[ i ][ j ]向右出发的可以得到的最小的整数和;
状态转移方程:d[ i ][ j ]=min(d[ i+1 ][ j+1 ][ i-1 ][ j+1 ...
分类:
其他好文 时间:
2014-08-04 21:43:48
阅读次数:
292
状态压缩DPdp[i][j]表示在i状态(用二进制表示城市有没有经过)时最后到达j城市的最小时间转移方程dp[i][j]=min(dp[i][k]+d[k][j],dp[i][j]) d[k][j]是k城市到j城市的最短距离 要先用flody处理#includeusing namespace std...
分类:
其他好文 时间:
2014-08-04 21:14:48
阅读次数:
263
给出N个点,N-1个关系,建出树形图,问最少减去几个边能得到节点数为P的树。典型树形DP题
dp[cur][j] :记录cur结点,要得到一棵j个节点的子树去掉的最少边数
转移方程用的背包的思想
对当前树的每一个子树进行计算
砍掉此子树: dp[cur][j]=dp[cur][j]+1;
不砍掉: for (l=0;l
#include "std...
分类:
其他好文 时间:
2014-08-04 17:49:17
阅读次数:
181
[1. 特征的数学意义]我们先考察一种线性变化,例如x,y坐标系的椭圆方程可以写为x^2/a^2+y^2/b^2=1,那么坐标系关于原点做旋转以后,椭圆方程就要发生变换。我们可以把原坐标系的(x,y)乘以一个矩阵,得到一个新的(x',y')的表示形式,写为算子的形式就是(x,y)*M=(x',y')...
分类:
其他好文 时间:
2014-08-04 10:33:36
阅读次数:
227
知识点:数学函数头文件 #include 开平方函数,sqrt()注意等号 == 与赋值号= 的区别内容: 求一元二次方程(二次项系统不为0)ax2+bx+c=0(a≠0)的实数根输入说明:一行三个系数(用空格隔开)输出说明:先输出(-b+sqrt())/2/a的根,一行一个,如果是相等实根,则输出...
分类:
其他好文 时间:
2014-08-04 10:33:17
阅读次数:
313
链接根据题意可以设三段路程分别为A,B,C那么总时间t = A/V+B/U+C/W.这样根据时间大小关系可以跟其余n-1个联立形成n-1个方程。化简后为A(1/vj-1/vi)+B(1/uj-1/ui)+C(1/wj-1/wi)>0这样就可以按照顺时针进行半平面交。初始需要加一个大的平面,可以加上4...
分类:
其他好文 时间:
2014-08-04 10:30:37
阅读次数:
301
链接根据距离可以列得直线方程,附上初始矩形的四个顶点,依次用直线切割。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define eps 1e-8 7 using namespace std; 8 const...
分类:
其他好文 时间:
2014-08-04 10:27:07
阅读次数:
294