国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

nyoj1204 魔法少女 線性DP

2019-11-10 19:59:07
字體:
來源:轉載
供稿:網友

  d[i][0]表示到達第i層,且在第i層沒有使用魔法的最少時間

  d[i][1]表示到達第i層,且在第i層使用魔法通過一層

  d[i][2]表示到達第i層,且在第i層使用魔法通過兩層

狀態轉移方程:

d[i][0] = h[i] + min(d[i-1][1], d[i - 1][0]);if(i > 2) d[i][0] = min(d[i][0], d[i - 2][2] + h[i]);		d[i][1] = min(d[i - 1][2], d[i - 1][0]);d[i][2] = d[i - 1][0];AC代碼:

#include<cstdio>#include<algorithm>using namespace std;const int maxn = 1e4 + 5;int d[maxn][3], h[maxn];int solve(int n){	d[1][0] = h[1];	d[1][1] = d[1][2] = 0;	for(int i = 2; i <= n; ++i){		d[i][0] = h[i] + min(d[i-1][1], d[i - 1][0]);		if(i > 2) d[i][0] = min(d[i][0], d[i - 2][2] + h[i]);				d[i][1] = min(d[i - 1][2], d[i - 1][0]);		d[i][2] = d[i - 1][0];			}	int ans = min(d[n][0], d[n][1]);	return min(ans, d[n][2]);}int main(){	int n;	while(scanf("%d", &n) == 1){		for(int i = 1; i <= n; ++i) scanf("%d", &h[i]);		PRintf("%d/n", solve(n));	}	return 0;}如有不當之處歡迎指出!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 高密市| 萨迦县| 丰宁| 安阳市| 东乌| 齐河县| 杭锦旗| 金堂县| 普兰店市| 泽库县| 抚宁县| 清丰县| 陇南市| 汉寿县| 区。| 民勤县| 舟曲县| 思茅市| 英德市| 仙游县| 沙田区| 乌恰县| 溆浦县| 吉安县| 且末县| 上饶县| 楚雄市| 津市市| 宝兴县| 鄂温| 奉化市| 呈贡县| 怀柔区| 宁津县| 龙岩市| 高淳县| 谢通门县| 西宁市| 阜阳市| 白银市|