题目链接:
huangjing
题意:给出一幅图,图中有一些点,然后从第1个点出发,然后途径所有有石头的点,最后回到原点,然后求最小距离。当初作比赛的时候不知道这就是旅行商经典问题。回来学了一下。
思路:
状态转移方程
DP[k][i|base[k]]=min(DP[k][i|base[k]],DP[j][i]+dis[j][k])
DP[J][I]表示从起点到j点在i状态下的最小距离...
分类:
系统相关 时间:
2014-10-19 23:17:06
阅读次数:
397
字符输入问题,刚开始没有考虑到shift+字符输入和当前大小写锁定状态相反状态字符只需要两步的问题。
状态转移方程:dp1[i]表示输入完第i个字符后为大写状态需要的步数 dp2[i]表示输入完第i个字符后为小写状态所需要的步数
如果第i个字符为小写:
dp1[i]=min(dp1[i-1]+2,dp2[i-1]+2);
dp2[i]=min(dp1[i-1]+2,dp2[i-1]+1);...
分类:
其他好文 时间:
2014-10-19 18:39:15
阅读次数:
198
题目大意:求使连续子序列的和最大的第一元素,最后一个元素和子序列的和
思路:动态规划的方法,主要是找到状态转移方程。将之前累加和加上当前值
与当前值做比较, 如果将之前累加和加上当前值>当前值,那么加上当前值,
最后一个元素变为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
ZOJ Problem Set - 3822Domination(DP)
题目链接
题目大意:
给你一个n * m的棋盘,每天都在棋盘上面放一颗棋子,直到这个棋盘上的每行每列都有至少有一颗棋子。求要用的天数的期望。
解题思路:
先求出不同摆法的棋盘的概率,然后在和天数相乘就期望。
我们将棋盘划分为四个部分:其中一部分为每行没列都至少有一个棋子。
然后得出状态转移方程:...
分类:
其他好文 时间:
2014-10-14 14:11:08
阅读次数:
239
题目大意:给定一个n个点的有向图,求有多少点对(x,y),使x沿边可到达y
设f[i][j]为从i到j是否可达
首先强联通分量中的任意两个点均可达 于是我们利用Tarjan缩点
缩点之后是一个拓扑图,我们求出拓扑序,沿着拓扑序从后向前DP,状态转移方程为:
f[i][k]=or{ f[j][k] } (i有直连边到达j,1
鉴于每个点的值只会是1或者0,所以我们可以直接状压,或者干脆开b...
分类:
编程语言 时间:
2014-10-13 15:51:39
阅读次数:
157
题目大意:给定一个n个点的无根树,要求找到一个根节点,使深度之和最大
令f[x]为以x为根的子树的深度之和
首先我们找到任意一个节点进行深搜,统计出每棵子树的大小,以及所有点的深度之和
然后再以该节点为根深搜一遍,此时状态从父节点转移至子节点,转移方程如下:
当我们将根节点从4节点变为5节点时,橙色部分每个点的深度+1,绿色部分每个点的深度-1
故得到状态转移方程:
f[x]=...
分类:
其他好文 时间:
2014-10-13 11:12:49
阅读次数:
248
开一个dp[30010][3]的数组其中dp[i][j]表示把第i个数改成j最少要花多少次那么状态转移方程就列出来了:令a=1 j!=a[i]0 j==a[i]那么dp[i][1]=dp[i-1][1]+a;dp[i][2]=min(dp[i-1][1],dp[i-1][2])+a;那么根据空间优化...
分类:
其他好文 时间:
2014-10-10 12:25:34
阅读次数:
122
题目链接:http://poj.org/problem?id=3176思路:基本的DP题目;将每个节点视为一个状态,记为B[i][j], 状态转移方程为 B[i][j] = A[i][j] + Max( B[i+1][j], B[i+1][j+1] );代码:#include const int ....
分类:
其他好文 时间:
2014-10-10 00:35:13
阅读次数:
254
问题:
总共n中饮料,每种饮料表示为(S[i],V[i],C[i],H[i],B[i]),S表示名称,V表示容量,C表示可以买的最大数量,H表示满意度,B表示实际购买量在V[i]*B[i]求和=V的情况下,H[i]*B[i]求和最大化
最优化,毫无疑问,考虑动态规划跟贪心。
状态转移方程:
设Opt(V’,i)表示从 i 到 n-1 种饮料中,Ci 为第i种饮料可能的最...
分类:
其他好文 时间:
2014-10-07 13:19:33
阅读次数:
171