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

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

nyoj1204 魔法少女 線性DP

2019-11-10 18:56:01
字體:
來源:轉載
供稿:網友

  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;}如有不當之處歡迎指出!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 醴陵市| 安义县| 绍兴县| 鄂温| 微博| 佛学| 鸡西市| 富宁县| 茌平县| 都兰县| 云安县| 哈尔滨市| 鲁甸县| 南召县| 许昌县| 台山市| 富平县| 靖州| 神木县| 常德市| 南昌市| 千阳县| 巴塘县| 永清县| 荣成市| 遂川县| 文成县| 鹰潭市| 来安县| 侯马市| 连江县| 易门县| 临猗县| 西青区| 嘉祥县| 都匀市| 和林格尔县| 阳山县| 宜宾市| 延庆县| 稷山县|