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

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

nyoj1204 魔法少女 線性DP

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑川县| 霍邱县| 娱乐| 商水县| 清徐县| 磐石市| 白玉县| 延寿县| 庆安县| 衡东县| 改则县| 潞西市| 阳山县| 西安市| 手机| 抚州市| 伊川县| 满洲里市| 永福县| 河东区| 日喀则市| 云浮市| 兰溪市| 八宿县| 和龙市| 比如县| 丁青县| 凯里市| 固原市| 尚义县| 哈尔滨市| 博爱县| 瑞安市| 崇义县| 郸城县| 湟源县| 厦门市| 贵阳市| 临猗县| 章丘市| 五河县|