博客
关于我
巧克力蛋糕 DP
阅读量:161 次
发布时间:2019-02-28

本文共 779 字,大约阅读时间需要 2 分钟。

在这里插入图片描述

在这里插入图片描述

题目大意,现在有一个L高度的容器,还有三种巧克力:1.高1cm的黑巧克。2.高1cm的白巧克。1.高kcm的黑巧克。然后要使得最上层和最底层都是黑巧克力,并且黑白巧克力必须间隔着放置。可以不放满,但是总高度不能超过L,问:有多少种摆放方式。

刚开始我是用dfs跑的,然后tle了。然后看了一下题解发现是dp(题解说是简单dp,但是我看了很久才懂)。

我们使用一个二维数组dp[max][5],其中dp[i][1/2/3]表示第i层的1cm的黑巧克力/白巧克力/kcm的黑巧克力的可摆放方案数。模拟着题目要求进行dp即可。因为顶上和底下都必须是黑巧克力,最后只需将所有高度的黑巧克力的方案数全加起来即可。

ll dp[1005][5];int main(){       ll l, k;    cin >> l >> k;    ll ans = 0;    dp[1][1] = 1;    dp[1][3] = (l >= k) ? 1 : 0;    for (int i = 2; i <= l; i++)    {           if (i - k >= 1)            dp[i][2] = dp[i - 1][1] + dp[i - k][3];        else            dp[i][2] = dp[i - 1][1];        dp[i][1] = dp[i - 1][2];        if (i + k - 1 <= l)            dp[i][3] = dp[i - 1][2];    }    for (int i = 1; i <= l; i++)        ans += dp[i][1] + dp[i][3];    cout << ans << endl;}

转载地址:http://phod.baihongyu.com/

你可能感兴趣的文章
nginx-vts + prometheus 监控nginx
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
nginx代理地图服务--离线部署地图服务(地图数据篇.4)
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx反向代理是什么意思?如何配置Nginx反向代理?
查看>>
nginx反向代理解决跨域问题,使本地调试更方便
查看>>
nginx启动脚本
查看>>
Nginx在Windows下载安装启动与配置前后端请求代理
查看>>
Nginx多域名,多证书,多服务配置,实用版
查看>>
nginx开机启动脚本
查看>>
nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
查看>>
nginx总结及使用Docker创建nginx教程
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>