AT685 準急

传送门:AT685 準急

动态规划,fi0{f_i}_0 表示第 ii 个点不停靠方案数,fi1{f_i}_1 表示第 ii 个点停靠方案数。

代码:

#include <iostream>
using namespace std;

#define int long long
const long long N = 1e6 + 5, MOD = 1e9 + 7;
int f[N][5]; // f[i][0] 表示第 i 个点不停靠方案数,f[i][1] 表示第 i 个点停靠方案数

signed main()
{
	int n, k;
	cin >> n >> k;
	f[1][1] = f[0][0] = f[0][1] = 1;
	for (int i = 2; i <= n; i++)
	{
		f[i][0] = (f[i - 1][0] + f[i - 1][1]) % MOD;
		f[i][1] = f[i][0];
		if (i >= k)
		{
			f[i][1] = (f[i][1] - f[i - k][0] + MOD * 2) % MOD;
		}
	}
	cout << f[n][1] << endl;
	return 0;
}
posted @   HappyBobb  阅读(1)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示