摘要:
http://poj.org/problem?id=2385和天上掉馅饼那个差不多。dp[i][j]表示第i分钟移动了j步。一开始直奔馅饼的那个想法,所以就需要三唯的: i 第几分钟 ,j 哪个位置 ,k 移动了几步但是本题 只要两个位置 ,所以可以用k来表示了j所以就有了状态转移方程:dp[i][j]=max(dp[i-1][j-1],dp[i-1][j])+t[i][(j+1)%2];另外要注意初始化:View Code #include<iostream>#include<string.h>#include<stdio.h>#include<al 阅读全文
摘要:
fill ( first, last, value );作用是设置指定范围内 [first,last).的元素的值为value;范围包括开始元素,单不含结束元素。*min_element(dp[n],dp[n]+m+1)返回最小值。 阅读全文
摘要:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2972一开始以为是那种类似加血的题目,但是这个题和加血的有个区别就是,是每一段有一个速度值,表示成加血的那样的状态有点复杂。所以,表示成简单一点的dp[i][j]表示到达第i段还剩j的force。所以显然根据题目所说的:有状态转移方程:dp[i][j]=min(dp[i-1][j]+t2,dp[i][j]);if(j>=f1)dp[i][j-f1]=min(dp[i-1][j]+t1,dp[i][j-f1]);int temp=j+f2;if(temp>m)t 阅读全文