璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup2800
problems
名称又上锁妖塔
题目编号P2800
题目链接luogu.com.cn/…
来源Luogu
算法分类动态规划, 线性动态规划
难易程度容易

又上锁妖塔

想法

修改状态,增加记录到第i层是否使用,用魔法到之前不能用魔法。

代码实现

#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e6+10;
int f[N][2], h[N];
int main() {
	int n;
	scanf("%d", &n);
	for(int i=1; i<=n; i++)
		scanf("%d", &h[i]);
	f[1][0] = h[1];
	// [0] 表示不用魔法到第i层,[1]表示用魔法到第i层。
	for(int i=2; i<=n; i++) {
		f[i][0] = min(f[i-1][1], f[i-1][0]) + h[i];
		f[i][1] = min(f[i-1][0], f[i-2][0]);
	} 
	printf("%d", min(f[n][0], f[n][1]));
	return 0;
}
/app/www/public/data/pages/icpc/problems/luogup2800.txt · 最后更改: 2024/03/21 09:25 由 温婕莺