首页 > 其他分享 >[Luogu] P1164 小A点菜

[Luogu] P1164 小A点菜

时间:2023-11-24 20:37:12浏览次数:50  
标签:space int Luogu P1164 点菜 dp 110

题目传送门

一道动态规划,\(dp_{i, j}\)表示用前\(i\)个菜品花光\(j\)元的方法总数

那么可以推出状态转移方程:

  • \(if(j>a_i)\space dp_{i,j}=dp_{i-1,j}+dp_{i-1,j-a_{i}}\)

如果jai大,那么方案数就是不买\(dp_{i − 1, j}\)+买\(dp_{i − 1, j − a_i}\),其中如果买,那么第\(i\)件物品就要是\(j − a_i\)元,即\(dp_{i − 1, j − a_i}\)

  • \(if(j=a_i)\space dp_{i,j}=dp_{i-1,j}+1\)

如果刚刚好,那么\(dp_{i, j}\)就是\(dp_{i − 1, j} + 1\)

  • \(if(j<a_i)\space dp_{i,j}=dp_{i-1,j}\)

如果买不了,那么方案数就沿袭\(dp_{i − 1, j}\)

代码:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[110],dp[110][10010];
//dp[i][j]为用前i道菜花光j元的方法总数
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(j<a[i]) dp[i][j]=dp[i-1][j];
            else if(j==a[i]) dp[i][j]=dp[i-1][j]+1;
            else dp[i][j]=dp[i-1][j]+dp[i-1][j-a[i]];
        }
    }
    cout<<dp[n][m];
    // system("echo= & pause");
    return 0;
}

标签:space,int,Luogu,P1164,点菜,dp,110
From: https://www.cnblogs.com/lyk2010/p/17854695.html

相关文章

  • [Luogu] P1114 “非常男女”计划
    https://www.luogu.com.cn/problem/P1114暴力,前缀和,稍加优化可以拿100,但是#1加强过后就AC不了了#include<bits/stdc++.h>usingnamespacestd;constintmaxn=2e6;inta[maxn],n,f[maxn],ans,boy;intmain(){ cin>>n; for(inti=1;i<=n;i++) { scanf("%d",a......
  • 【luogu题解】P9749 [CSP-J 2023] 公路
    \(Meaning\)\(Solution\)这道题我来讲一个不一样的解法:\(dp\)在写\(dp\)之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件和答案的表示。状态的表示\(dp[i]\)表示到达第\(i\)个站点所需要的最少钱数,\(w[i]\)表示在使用最少钱数到达第\(i\)个站点时多余......
  • 菜单点菜2-5次以及期中考试分析-21207310姜昊
    本次分析菜单2-4,以及期中考试题目,总体来说题目有一定难度,但仍可完成,主要从菜单1过度到2,3时要确定好方向,否则会产生一些无法解决的问题7-4菜单计价程序-2分数:38输入样例:在这里给出一组输入。例如:麻婆豆腐12油淋生菜91麻婆豆腐222油淋生菜13end输出样例:在这......
  • luoguP3287 [SCOI2014] 方伯伯的玉米田
    题目描述方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。这排玉米一共有NN株,它们的高度参差不齐。方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得剩下的玉米的高度构成一个单调不下降序列。方伯伯可以选择一个区间,把这......
  • CF/AT/LUOGU 日常做题合集
    标签格式思路算法特殊CF1155F标签分析性质图论,状压DP,枚举记录方案,思路做的时候想了几个错误做法,还看错题了。因为边双的形态必然是由一个点加多条链组成的(耳分解)(一个环=一个点+一条链),即糖葫芦型。又因为\(n\le14\)考虑暴力。先预处理出\(path_{i,j,S}\)......
  • luoguP7302 [NOI1998] 免费的馅饼
    题目描述SERKOI最新推出了一种叫做“免费馅饼”的游戏:游戏在一个舞台上进行。舞台的宽度为ww格(从左到右依次用11到ww编号),游戏者占一格。开始时游戏者可以站在舞台的任意位置,手里拿着一个托盘。下图为天幕的高度为44格时某一个时刻游戏者接馅饼的情景。游戏开始后,从舞......
  • [Luogu NOIP 2023 模拟] Solution
    这篇blog在我的博客后台躺了好几天了,只不过今天才记起来发。种树(plant)首先看到因数个数,想到在质因数分解后的序列上考虑问题。进一步观察,每个不同质因子的贡献是独立的。也就是说,我们单独考虑某一个质因子对答案的贡献,是这样的问题:给长度为\(n\)的序列\(a\)和一个数......
  • Luogu8330 解题报告
    有一个显然的贪心,选了一个区间\([l,r]\),贡献为这个区间的众数加上区间外的众数。考虑根号分治,阈值为\(B\)。我们称出现次数\(>B\)的数称为大数,反之成为小数。答案有需要分\(4\)类讨论:\([l,r]\)内是大数/小数,区间外是大数/小数比较简单的是\([l,r]\)内是大数/小数,区......
  • P1164-DP【橙】
    这道题让我更深入的理解了记忆化搜索的过程,既然记忆化搜索的结果要靠返回值来传递,那么记忆化搜索解决问题的必须是倒序的,即记忆化搜索是一个简化问题倒序解决的过程,普通搜索是一个复杂化问题逐步尝试并记录尝试结果的过程。特别是对于求总种数的记忆化搜索,就是把能干的事情组合起......
  • Luogu P3862 数圈 题解
    看数据范围——题记传送门考虑记\(f_i\)表示有\(i\)个点的完全图的圈数\(g_i\)表示有\(i\)个点的完全图中一个点到另一个点不同路径的方案数\(ans\)表示答案容易知道递推式\[f_i=g_{i-1}\timesC_{i-1}^2+f_{i-1}\]\[g_i=g_{i-1}\times(i-2)+1\]\[ans=f_{n-......