1192:放苹果(dp + 搜索)
这道题先用搜索写的,因为我需要先打表来寻找规律。
因为数据量小所以收搜也会过
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int num[];
int sum, ans;
void dfs(int cur, int n, int m)
{
if (n == sum)
{
ans++;
}
else if (cur>m)return;
else
{
for (int i = ; i <= n; ++i)
{
if (num[cur - ] <= i)
{
sum += i;
if (sum <= n){
num[cur] = i;
dfs(cur + , n, m);
}
sum -= i;
}
}
}
}
int main()
{
int t,n, m;
scanf("%d", &t);
while (t--)
{
sum = ans=;
scanf("%d%d", &n, &m);
dfs(, n, m);
printf("%d\n", ans);
}
}
然后:寻找规律,凡是dp和递推题,当想不到动态转移方程时,就应该先打表再推表达式
#include<iostream>
#include<cstdio>
using namespace std;
int dp[][];
int main()
{
//一个盘子,无论苹果
for (int i = ; i < ; ++i)dp[i][] = ;
//0个苹果,无论多个盘子
for (int j = ; j < ; ++j)dp[][j] = ;
for (int i = ; i < ;++i)
for (int j = ; j < ;++j)
if (i >= j)dp[i][j] = dp[i][j - ] + dp[i - j][j];
else dp[i][j] = dp[i][i];
int t, n, m;
scanf("%d", &t);
while (t--)
{
scanf("%d%d", &n, &m);
printf("%d\n", dp[n][m]);
} }
1192:放苹果(dp + 搜索)的更多相关文章
- 放苹果问题 DP计数 m个苹果放在n个盘子里,苹果,盘子相同,盘子可为空
详细的解释放苹果问题的链接:苹果可相同可不同,盘子可相同可不同,盘子可空和不可空,都有详细的说明··· http://www.cnblogs.com/celia01/archive/2012/02/1 ...
- OpenJudge 666:放苹果 // 瞎基本DP
666:放苹果 总时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1 ...
- [DP题]放苹果
放苹果(DP做法) 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法.输入第一行是测试数据的数目t(0 < ...
- POJ1664:放苹果(线性dp)
题目: http://poj.org/problem?id=1664 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1 ...
- 刷题向》DP》放苹果 (normal)
这篇博客可能字数比较多,而且很难讲清楚,我会努力给你们讲清楚: 首先,放苹果是一道DP,之所以难,是因为很难想到,我的确有同学用三维数组做出来,然而三维的的确比二维好理解,但三维复杂度太高,虽然DP一 ...
- ACM_递推题目系列之三放苹果(递推dp)
递推题目系列之三放苹果 Time Limit: 2000/1000ms (Java/Others) Problem Description: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放 ...
- 【noi 2.6_666】放苹果 & 【noi 2.6_8467】鸣人的影分身(DP)
这题其实在2.6前面的专题也有出现过,我还以为我有写,结果发现,并没有.于是就现在写了.这2题其实重复了......我就按放苹果的来说. 题意:把N个苹果放在M个盘子里,允许有的盘子空着不放,问共有多 ...
- 666:放苹果(划分dp)
666:放苹果 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示 ...
- [Luogu 2386]放苹果
Description 题库链接 把 \(n\) 个同样的苹果放在 \(m\) 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发.多测,数据组数 \(t\). \(1\leq m,n\le ...
- noi 666 放苹果
题目链接:http://noi.openjudge.cn/ch0206/666/ 和ural 1114题意类似,但是有顺序,5,1,1和1,5,1是同一种序列.不能直接枚举 d(i,j) 前 i 个盘 ...
随机推荐
- Android目录结构及作用
1.add-ons-->Google API .比如GoogleMaps 2.build-tools-->各版本SDK编译工具. 3.docs-->离线开发者文档Android SD ...
- [android] 手机卫士欢迎页检测更新
客户端:去服务器获取最新的版本信息 服务器端: 版本信息,最新的版本2.0 最新版本的下载地址:http://xxxxxxxx/mobilesafe2.0.apk 版本的描述信息 客户端如果不升级新版 ...
- Xshell配置密钥公钥(Public key)与私钥(Private Key)登录
ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法. 使用密钥登录分为3步:1.生成密钥( ...
- Moco服务器jar包实现简易的API搭建
永远不要停止前进的脚步,就像你不会忘记以前那些窘迫的连一无所有都称不上的裸露的记忆一样.追求永远的打怪升级,武装自己.双手的努力让曾经那些不堪的记忆在时间的长河中渐渐风化隐匿,但请不要忘记它留下的那一 ...
- (3)Microsoft office Word 2013版本操作入门_段落设定
1.查看文件: 打开word查看左下角 会显示 word一共有多少页,当前第几页,共多少字等,如下图所示 2.word快速翻页: Ctrl+PageDown 向下翻页, Ctrl+PageUp 向上 ...
- Perfect hashing (And Minimal perfect hashing)
Perfect Hashing: A hash function that is injective-that is, maps each valid input to a different has ...
- LSApplicationQueriesSchemes--关于info.plist 第三方登录 添加URL Schemes白名单
近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 当你的应用在iOS 9 ...
- python爬虫入门---第二篇:获取2019年中国大学排名
我们需要爬取的网站:最好大学网 我们需要爬取的内容即为该网页中的表格部分: 该部分的html关键代码为: 其中整个表的标签为<tbody>标签,每行的标签为<tr>标签,每行中 ...
- css清除默认样式
CSS 清除默认样式 通常有以下几句就够了: *{margin:0;padding:0} li{list-style:none} img{vertical-align:top;border:non ...
- 组件化和 React
一,对组件化的理解 1,组件的封装 -视图 -数据 -变化逻辑(数据驱动视图变化) 例: import React, { Component } from 'react'; import List f ...