洛谷P1077 摆花
时间:2020-05-16
本文章向大家介绍洛谷P1077 摆花,主要包括洛谷P1077 摆花使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目描述
一共有 m 个位置放花, 有 n 种花 ,第i种花的摆放数量最多为 ai。
输入:第一行输入n和m,第二行输入a1到 an
输出:放满m个位置的摆放方式,结果对100006取模
思路:
状态表示:f[i][j]
表示只摆放前i种花,摆的数量为 j 的方案数
状态计算:f[i][j] += f[i - 1][j - k]
k表示第i种花的数量
[题目链接]https://www.luogu.com.cn/problem/P1077
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int n,m;
int f[N][N];
int a[N];
int main()
{
cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
f[0][0] = 1;
for(int i = 1;i <= n;i++)
for(int j = 0;j <= m;j++)
for(int k = 0;k <= min(a[i], j);k++)
f[i][j] = (f[i][j] + f[i-1][j-k]) % 1000007;
cout << f[n][m] << endl;
return 0;
}
可优化为一维
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int n,m;
int f[N];
int a[N];
int main()
{
cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
f[0] = 1;
for(int i = 1;i <= n;i++)
for(int j = m;j >= 0;j--)
for(int k = 1;k <= min(a[i],j);k++)
f[j] = (f[j] + f[j-k]) % 1000007;
cout << f[m] << endl;
return 0;
}
原文地址:https://www.cnblogs.com/zcxy/p/12902225.html
- OutOfMemoryError异常系列之Java堆溢出
- android ndk之hello world
- ScheduledExecutorService和timer的异同
- 【精心解读】关于Jupyter Notebook的28个技巧
- Web项目接口自动化测试框架搭建
- 一文读懂Hadoop、HBase、Hive、Spark分布式系统架构
- 《Spring敲门砖之基础教程第一季》 第二章(1) Spring框架之IOC首例-HelloWorld
- Java9中的GC调优基础
- javascript深入理解js闭包
- https连接的前几毫秒发生了什么
- android自定义view实现progressbar的效果
- 还是不靠谱!多维LSTM网络预测比特币价格【机器学习应用区块链系列二】
- picasso图片缓存框架
- Git基础和规范-协同开发
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法