国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}如有不當之處歡迎指出!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 全州县| 综艺| 剑河县| 大安市| 湛江市| 洞口县| 河南省| 任丘市| 弥勒县| 静乐县| 墨脱县| 阿巴嘎旗| 江山市| 始兴县| 岱山县| 潜山县| 土默特右旗| 陈巴尔虎旗| 石河子市| 阿城市| 大名县| 响水县| 九江市| 杭锦后旗| 延边| 天峨县| 利津县| 兰州市| 宁津县| 肃南| 五华县| 龙游县| 徐汇区| 浦北县| 江城| 静宁县| 资中县| 丹东市| 理塘县| 灯塔市| 绥江县|