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

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

nyoj1204 魔法少女 線性DP

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇义县| 舟山市| 资中县| 南川市| 武鸣县| 永善县| 汶川县| 博客| 静海县| 平阳县| 秦皇岛市| 汪清县| 凌源市| 桂林市| 珲春市| 准格尔旗| 延津县| 宁都县| 平谷区| 青神县| 内丘县| 漾濞| 房产| 方城县| 渝北区| 怀仁县| 金山区| 舒城县| 武平县| 鄂托克前旗| 安庆市| 南漳县| 肥城市| 介休市| 九江县| 麻阳| 额济纳旗| 逊克县| 弋阳县| 个旧市| 东海县|