首页 > 其他分享 >1192:放苹果(dp + 搜索)

1192:放苹果(dp + 搜索)

时间:2023-02-13 20:25:30浏览次数:34  
标签:20 int 1192 else ++ 苹果 include dp

这道题先用搜索写的,因为我需要先打表来寻找规律。

因为数据量小所以收搜也会过

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int num[20];
int sum, ans;
void dfs(int cur, int n, int m)
{
    if (n == sum)
    {
        ans++;
    }
    else if (cur>m)return;
    else 
    {
        for (int i = 1; i <= n; ++i)
        {
            if (num[cur - 1] <= i)
            {
                sum += i;
                if (sum <= n){
                    num[cur] = i;
                    dfs(cur + 1, n, m);
                }
                sum -= i;
            }
        }
    }
}
int main()
{
    int t,n, m;
    scanf("%d", &t);
    while (t--)
    {
        sum = ans=0;
        scanf("%d%d", &n, &m);
        dfs(1, n, m);
        printf("%d\n", ans);
    }
}

然后:寻找规律,凡是dp和递推题,当想不到动态转移方程时,就应该先打表再推表达式

#include<iostream>
#include<cstdio>
using namespace std;
int dp[20][20];
int main()
{
    //一个盘子,无论苹果
    for (int i = 0; i < 20; ++i)dp[i][1] = 1;
    //0个苹果,无论多个盘子
    for (int j = 0; j < 20; ++j)dp[0][j] = 1;
    for (int i = 1; i < 20;++i)
    for (int j = 2; j < 20;++j)
    if (i >= j)dp[i][j] = dp[i][j - 1] + 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]);
    }

}

 

标签:20,int,1192,else,++,苹果,include,dp
From: https://www.cnblogs.com/ALINGMAOMAO/p/17117679.html

相关文章

  • 1092 回文字符串(LCSL_DP)
    1092回文字符串基准时间限制:1秒空间限制:131072KB分值:10难度:2级算法题收藏关注回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串......
  • P2690 接苹果 (DP)
    补一下dp的思路:dp[i][j]表示第i分钟转j 次所得到的最大值。很容易得到这个dp的推导式。图中¢()函数表示成立为1,不成立为0的函数。#include<cmath>#include<i......
  • DP8.0安装步骤session
    [root@rx6600]#./omnisetup.sh-CM-ISTheomnisetup.shscriptdidnotcompletethelasttimeitwasrun.CellManagerstillhastobeinstalledInstallation......
  • 黑苹果提示宗卷哈希值不匹配的问题
    原文来源于黑果魏叔官网,转载需注明出处。提示系统所在宗卷哈希值不匹配的错误,开机后会不定时出现。发生在monterey12系统,而且有蓝牙设备的笔记本和台式机上。目前没有发现......
  • HDU 4507 (数位dp)
    HDU4507(数位dp)题意一个数满足以下三个条件之一,则被认为与7有关。1、整数中某一位是7;2、整数的每一位加起来的和是7的整数倍;3、这个整数是7的整数倍;求区间[L,R]内......
  • dp
    121.买卖股票的最佳时机-力扣(LeetCode)classSolution{public:intmaxProfit(vector<int>&prices){intmax=0;for(inti=0;i<prices.size(......
  • HDU 3709 数位dp
    HDU3709(数位dp)题意求区间[L,R]内满足以下性质的数:选定该数的一个位置,左右两边的力矩相等,如4139,选取'3'这位,左边4×2+1×1=9×1.思路一开始想着枚举每个点来做,......
  • 【学习笔记】数位 dp 学习笔记
    被这个东西薄纱了。顾名思义,树上的动态规划即树形动态规划。P1352没有上司的舞会经典题!设\(f_{i,0/1}\)表示第\(i\)个节点,选或不选自己的最优情况。显然有方程......
  • 戴尔T5810电脑 Hackintosh 黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。硬件型号驱动情况主板戴尔T5810,C610/612芯片处理器英特尔至强E5-2620v3已驱动内存12GB已驱动硬盘500GBWDBlueSolidStateDriv......
  • 联想 lenovo X380 电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板lenovoX380处理器i78565U已驱动内存32GB(铭瑄DDR42666MHz16GBx2)已驱动硬盘PM981(已更换970EVO)已驱动显卡UHD620已驱动声卡瑞昱@英特尔Hi......