首页 > 其他分享 >leetcode2585 获得分数的方法数

leetcode2585 获得分数的方法数

时间:2025-01-12 15:34:08浏览次数:1  
标签:分数 题目 target int mark leetcode2585 dp 方法 types

考试中有n种类型的题目,给定整数target和二维数组types,其中types[i]=[count[i],marks[i]],表示第i种类型的题目有count[i]道,每道分值为marks[i]。求在考试中恰好得到target分的方法数,答案对1E9+7取模。注意,同类型题目无法区分。
1<=target<=1000; 1<=n<=50; 1<=count[i],marks[i]<=50

分析:同类型的题目,可以选0道、1道、2道...,枚举即可。

mint dp[55][1005];
class Solution {
public:
    int waysToReachTarget(int target, vector<vector<int>>& types) {
        int n = types.size();
        for (int i = 0; i <= n; i++) {
            dp[i][0] = 1;
        }
        for (int i = 1; i <= n; i++) {
            for (int j = 0; j <= target; j++) {
                int cnt = types[i-1][0];
                int mark = types[i-1][1];
                dp[i][j] = dp[i-1][j];
                for (int k = 1; k <= cnt && j >= k * mark; k++) {
                    dp[i][j] += dp[i-1][j-k*mark];
                }
            }
        }
        return dp[n][target].val();
    }
};

标签:分数,题目,target,int,mark,leetcode2585,dp,方法,types
From: https://www.cnblogs.com/chenfy27/p/18666984

相关文章

  • 宇航用VIRTEX5系列FPGA的动态刷新方法及实现
    SRAM型FPGA在宇航领域有广泛的应用,为解决FPGA在空间环境中的单粒子翻转问题,增强设计的可靠性,本文介绍一种低成本的抗辐照解决方案。该方案从外置高可靠存储器中读取配置数据,通过定时刷新结合三模冗余的方式消除单粒子影响,提高系统的鲁棒性。    1.总体设计    ......
  • Java 方法
    在Java编程语言中,方法(Method)是执行某些特定功能的代码块。方法是Java程序结构的基本组成部分之一,它使得代码更加模块化,具有良好的可复用性和可维护性。通过方法,可以将复杂的任务拆分成更小的子任务,使得程序更加清晰和易于管理。1方法的结构方法一般包含以下几个部分:......
  • 服务器组件端口开通方法及注意事项
    开通服务器组件端口是确保服务正常运行的关键步骤之一。无论是操作系统层面还是通过管理工具如宝塔面板,都需要遵循一定的流程来确保端口能够正确开放,并且不会带来安全隐患。以下是详细的开通方法和注意事项:操作系统层面开通端口:Windows服务器:打开“高级安全Windows防火墙”......
  • 宝塔面板默认用户名和密码的查找与重置方法
    对于初次安装或重装系统后的宝塔面板,默认的用户名和密码确实是一个常见的困惑点。以下是几种有效的解决方法,帮助您快速恢复对宝塔面板的访问权限:查看官方文档:宝塔面板官方提供了详细的安装指南和常见问题解答。其中包含了如何获取默认登录信息的内容。您可以参考(网址)中的说明......
  • 四个方法,恢复word文档内容
    在日常办公和学习中,MicrosoftWord文档作为我们存储和编辑文字内容的主要工具,其重要性不言而喻。然而,文档丢失、损坏或被误删的情况时有发生,这无疑给我们的工作和学习带来了极大的困扰。幸运的是,有多种方法可以帮助我们恢复丢失或损坏的Word文档。本文将详细介绍几种有效的Word......
  • 基于Java的世界时区自动计算及时间生成方法
    在全球化日益加强的今天,处理世界各地不同的时间和时区变得尤为重要。Java提供了丰富的工具来帮助我们处理时区、时间和日期相关的操作。本文将介绍如何基于Java自动计算不同世界时区的时间,并生成相应的时间。一、时区和时间计算概述时区(TimeZone):表示不同地区的时间规......
  • 写一个判断数据类型的方法
    在前端开发中,JavaScript是一种常用的编程语言,你可以使用typeof操作符来判断一个变量的数据类型。下面是一个简单的函数,它接受一个参数并返回该参数的数据类型:functiongetType(value){returntypeofvalue;}你可以这样使用这个函数:console.log(getType(123));......
  • 写一个获取当前url查询字符串中的参数的方法
    在前端开发中,你可以使用JavaScript的URLSearchParams接口来获取URL查询字符串中的参数。以下是一个简单的方法,它接受一个URL作为参数,并返回一个包含所有查询参数的对象:functiongetQueryParams(url){consturlObj=newURL(url);constparams=newURLSearchParams(urlO......
  • 写一个把字符串大小写切换的方法
    在前端开发中,可以使用JavaScript来实现一个方法,该方法可以将字符串中的大小写进行切换。以下是一个示例实现:functionswitchCase(str){letresult='';for(leti=0;i<str.length;i++){constchar=str[i];if(char===char.toUpperCase()){/......
  • 写一个去除制表符和换行符的方法
    在前端开发中,JavaScript是处理字符串操作的常用语言。以下是一个简单的JavaScript函数,用于从给定的字符串中去除制表符(\t)和换行符(\n):functionremoveTabsAndNewlines(str){returnstr.replace(/[\t\n]/g,'');}这个函数使用正则表达式[\t\n]来匹配制表符和换行符。g......