HDU 5366 dp 递推
2024-09-07 03:56:48
The mook jong
Accepts: 506
Submissions: 1281
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
ZJiaQ为了强身健体,决定通过木人桩练习武术。ZJiaQ希望把木人桩摆在自家的那个由1*1的地砖铺成的1*n的院子里。由于ZJiaQ是个强迫症,所以他要把一个木人桩正好摆
在一个地砖上,由于木人桩手比较长,所以两个木人桩之间地砖必须大于等于两个,现在ZJiaQ想知道在至少摆放一个木人桩的情况下,有多少种摆法。
输入描述
输入有多组数据,每组数据第一行为一个整数n(1 < = n < = 60)
输出描述
对于每组数据输出一行表示摆放方案数
输入样例
1
2
3
4
5
6
输出样例
1
2
3
5
8
12 题意:中文题面; 题解:递推处理 考虑当前位置pos能做出的最大贡献(前pos块砖按要求摆放木人桩 有dp[pos]种情况在pos位置摆放一个);
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long dp[];
int n;
int main(){
while(scanf("%d",&n)!=EOF){
long long sum=;
for(int i=;i<=n;i++) dp[i]=;
for(int i=;i<=n;i++)
for(int j=i-;j>=;j--) dp[i]+=dp[j];
for(int i=;i<=n;i++) sum+=dp[i];
printf("%lld\n",sum);
}
}
最新文章
- VS2013.3 &; VS2014 任务资源管理器
- SQL Server-语句类别、数据库范式、系统数据库组成(一)
- C# 中正确实现 IDisposable 接口
- day 2
- LightOJ 1047-Program C
- JS传递参数时对中文进行编码和解码
- Android版本和API Level的对应关系
- uploadify 在chrome上崩溃的解决办法
- Git Workflow简介
- 微信开发系列——微信订阅号前端开发利器:WeUI
- 关于空想X
- MyBatisPlus忽略映射字段注解
- learning makefile var
- UVA548-Tree(二叉树数组表示)
- Mongodb副本集+分片集群环境部署记录
- WCF开发实战系列三:自运行WCF服务
- Python基础-day02
- MATLAB 地图工具箱 m_map 的安装和入门技巧(转)
- TCP Nagle算法&;&;延迟确认机制
- Spring Cloud学习笔记--Spring Boot初次搭建