hdu1799(用递推公式求组合的个数)

2023-10-29

题目意思:

我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分。例如,
如果代码中出现
for(i=1;i<=n;i++) OP ;
那么做了n次OP运算,如果代码中出现
fori=1;i<=n; i++)
  for(j=i+1;j<=n; j++) OP;
那么做了n*(n-1)/2 次OP 操作。
现在给你已知有m层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1),终止值都是一个输入的n,问最后OP有总共多少计算量。

http://acm.hdu.edu.cn/showproblem.php?pid=1799


题目分析:

注意观察到,可以发现循环的值是;C(n,m)=n!/(m!*(n-m)!),因为n值过大,不可以直接用公式

组合数学的递推公式:C(n,m)=C(n,m-1)+C(n-1,m-1)


AC代码:


/**
 *全排列问题,C(n,m)=n!/(m!*(n-m)!)
 *但是考虑到n的值过大,不能用这个方法
 *可以用组合公式C(n,m)=C(n-1,m)+C(n-1,m-1)
 *C(n,1)=n; C(n,n)=1; C(n,0)=1;
 *这样就可以用DP了
 */
#include<iostream>
#include<algorithm>
using namespace std;
int dp[2001][2001];
int main()
{
    for(int i=0;i<=2000;i++){
        dp[i][1]=i%1007;//C(n,1)=n;
        dp[i][0]=dp[i][i]=1;//C(n,0)=C(n,n)=1;
    }
    for(int i=2;i<=2000;i++){
        for(int j=1;j<=i;j++){
            dp[i][j]=(dp[i-1][j]+dp[i-1][j-1])%1007;
        }
    }
    int t,n,m;
    cin>>t;
    while(t--){
        cin>>m>>n;
        cout<<dp[n][m]<<endl;
    }
    return 0;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hdu1799(用递推公式求组合的个数) 的相关文章

  • HDU 2246 考研路茫茫——考试大纲

    HDU 2246 考研路茫茫 考试大纲 聽說這題要打表999 43 就傻傻的從0 N一個個地貼在代碼上了 打了幾個文件 xff0c 一同學就說我錯了 xff0c 杯具 因為提交上去的代碼長度不能超64K 白打了 xff0c 不過提示我測試數
  • HDU - 3018解题报告

    题意简述 给出n个节点 xff0c m条边 xff0c 问要想全部经过这m条边且每个边只经过一次至少需要多少条路径 分析 这个题实际上就是一笔画问题中的定理二 xff1a 如果连通无向图 G 有 2k 个奇顶点 xff0c 那么它可以用 k
  • hdu - 4642 - Fliping game(博弈)

    题意 xff1a Alice和Bob玩游戏 xff0c 一个N M的矩阵 xff0c 里面是1或0 xff0c 每人每次选择一个1的位置 xff0c 然后将这个位置到右下角的整个矩形元素全部取反 xff08 1变0 xff0c 0变1 xf
  • hdu 5119(dp题)

    题目链接 xff1a http acm hdu edu cn showproblem php pid 61 5119 题目 xff1a Matt has N friends They are playing a game together
  • [HDU 6330]2019 HDU多校test5 permutation 2

    permutation 2 题目链接 Problem Description You are given three positive integers N x y Please calculate how many permutation
  • HDU 1085

    题意 xff1a 有1 2 5三数 xff0c 你赋予他们各自的数量 xff0c 求他们所不能组成的最小数 分析 xff1a 首先想到暴力 xff0c 两层循环 暴力超时 xff0c 再寻他法 O n 2 include 34 cstdio
  • HDU 1085(Holding Bin-Laden Captive!)

    题意 xff1a 有三种价值分别为 1 2 5 的硬币 xff0c 每一种分别由 a b c 个 xff0c 求这些硬币不能组成的最小价值 分析 xff1a 生成函数板子题 xff08 贴一个讲生成函数的链接https blog csdn
  • HDU 1085 Holding Bin-Laden Captive!(母函数)

    HDU 1085 Holding Bin Laden Captive xff08 母函数 xff09 题目地址 题意 xff1a 给你cnt1个一元硬币 xff0c cnt2个两元硬币 xff0c cnt3个五元硬币 xff0c 问不能凑出
  • HDOJ/HDU 1085 母函数 Holding Bin-Laden Captive!

    Holding Bin Laden Captive Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s
  • 2017icpc沈阳站_M_HDU-6229_(思维)

    链接 xff1a http acm hdu edu cn showproblem php pid 61 6229 题意 xff1a 给一个矩阵上面有一些坏点 xff0c 坏点不能走 xff0c 起点是 0 0
  • HDU-2121(朱刘算法优化版+虚根处理无根树形图)

    hdu2121 span class token macro property span class token directive keyword include span span class token string lt bits
  • [JAVA][2013蓝桥杯预赛 JAVA本科B组][有理数类]

    标题 有理数类 有理数就是可以表示为两个整数的比值的数字 一般情况下 我们用近似的小数表示 但有些时候 不允许出现误差 必须用两个整数来表示一个有理数 这时 我们可以建立一个 有理数类 下面的代码初步实现了这个目标 为了简明 它只提供了加法
  • hdu 1059 Dividing

    Problem acm hdu edu cn showproblem php pid 1059 题意 6 种宝石 价值分别是 1 到 6 分别给出 6 种宝石的数量 问能不能分成等价值的两堆 分析 多重背包 主要是记录下多重背包的写法 对每
  • 牛客——数字权重(组合数学)

    数字权重 题目描述 小a有一个n位的数字 但是它忘了各个位上的数是什么 现在请你来确定各个位上的数字 满足以下条件 设第 i i i位的数为 a i
  • hdu 6069 Counting Divisors

    Problem acm hdu edu cn showproblem php pid 6069 Meaning 定义函数d n n 的因子个数 给定区间 l r 和常数 k 求 i lrd ik mod 998244353 sum r i
  • hdu 1438 钥匙计数之一

    Problem acm hdu edu cn showproblem php pid 1438 Reference blog csdn net u010405898 article details 9530769 blog csdn net
  • hdu 4405 Aeroplane chess

    Problem acm hdu edu cn showproblem php pid 4405 vjudge net contest 151678 problem R Reference bbs csdn net topics 380193
  • hdu 6181 Two Paths

    Problem acm hdu edu cn showproblem php pid 6181 Reference Dijkstra应用之次短路 2017 Multi University Training Contest 10 1011
  • hdu 1827 Summer Holiday 强连通分量缩点

    题目 http acm hdu edu cn showproblem php pid 1827 题意 听说lcy帮大家预定了新马泰7日游 Wiskey真是高兴的夜不能寐啊 他想着得快点把这消息告诉大家 虽然他手上有所有人的联系方式 但是一个
  • hdu1827Summer Holiday【tarjan强连通分量解决最小联系费用】

    1A 撒花 这比买买买开心多了 思路 既然是强连通分量的题 很容易想到形成的东西是一坨一坨的 哈哈 然后如果某一坨入度为0 那么很不幸 这一坨只能直接被威士忌通知 至于具体通知这一坨中的哪一个 枚举一遍就知道了 最后把话费求和 感觉强连通分

随机推荐

  • kind & kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator?

    文章目录 1 Prometheus 简介 2 Prometheus 优势 3 Prometheus 架构图 4 Prometheus Operator 简介 5 Prometheus Operator 架构图 6 环境准备 7 Kind 部
  • 优雅演进:探索低代码与全栈的完美结合

    前情提要 本章节是番外篇的低代码平台的相关知识 接下来我们即将进入一个全新的空间 对代码有一个全新的视角 以下的内容一定会让你对低代码平台有一个颠覆性的认识哦 以下内容干货满满 跟上步伐吧 作者介绍 作者 热爱编程不起眼的小人物 作者的Gi
  • sbt配置国内镜像

    操作环境 win10 从官网下载sbt的windows安装包 安装成功后 进入安装目录的 conf 文件夹 编辑sbtconfig txt 增加下面两行代码 Dsbt global base C Sbt sbt Dsbt repositor
  • 智能安全 - 学习资源

    Security Data Science Learning Resources
  • 【Spring源码系列】Bean生命周期-实例化前

    这里写目录标题 前言 一 实例化前 InstantiationAwareBeanPostProcessor介绍 InstantiationAwareBeanPostProcessor实例化前作用 InstantiationAwareBean
  • iphonex黑屏开不了机_手机死机开不了机怎么办

    大多数手机用户在使用手机过程中或多或少都遇到过死机的问题 如同电脑的操作系统也会出现死机一样 那么 当手机死机开不了机怎么办 下面介绍一下手机死机后开不了机解决办法 手机死机开不了机怎么办 苹果手机的死机解决方法 步骤1 按住你手机 开机键
  • 初探STM32F4(6)--系统时钟配置

    时钟配置 概述 时钟系统框图 时钟系统初始化代码架构分析 概述 经过前文对GPIO USART外设的初步学习 发现有两个基本知识需要补充学习 一个是系统时钟的相关配置 另一个是中断事件的相关配置 本文先学习系统时钟 阅读完本文 要能回答以下
  • C++ 防 陷阱2 重复包含头文件

    multiple definition of 错误 1 为了避免重复包含头文件 建议在声明每个都文件时采用 头文件卫士 采用google建议H 具体形式如下 ifndef PROJECT PATH FILE H define PROJECT
  • 十五)Stable Diffusion使用教程:其他

    A still life scene with the theme of small and delicate jewelry crystal clear gemstones Product positioning is conspicuo
  • ARM Linux Oops使用小结

    内核Oops小结 出现Oops消息的大部分错误时因为对NULL指针取值或者因为用了其他不正确的指针值 Oops如何产生的解释如下 由于处理器使用的地址几乎都是虚拟地址 这些地址通过一个被称为 页表 的结构被映射为物理地址 当引入一个非法指针
  • 【opencv4.3.0教程】01之opencv介绍与配置(win10+VS2015+OpenCV4.3.0)

    目录 一 前言 二 OpenCV介绍 1 介绍 2 OpenCV版本简介 3 OpenCV4 3 0下载 三 OpenCV安装与配置 1 安装 2 环境变量配置 四 配置VS2015 1 包含目录与库目录 2 链接器配置 五 测试及效果 一
  • Ajax vs Willem II,Feyenoord on top after beating Ajax 2-1

    Feyenoord on top after beating Ajax 2 1 Soccer Updated 2005 08 29 11 07 AMSTERDAM Netherlands Dirk Kuijt and Salomon Kal
  • 【概率论与数理统计】猴博士 笔记 p3-4 事件的概率、事件的独立性

    事件的概率 引入 画图 假设方块面积为1 那么P A 的数值就是点落在A上的概率 我们可以通过画图求出很多概率 如 P A B 0 25 P B A 0 23 P A B 0 58 一些概念 例1 解 0 3 画个图就行 例2 解 5 12
  • Windows平台下安装与配置MySQL ,配置环境变量,详细图解,

    1 安装检查 下载之前要看一下Windows版本 如果是专业版我们在安装之前需要多一步检查操作 如果是专业版我们需要在计算机管理中检查管理员属性中是否添加网络服务的属性 红框部分 计算机管理 gt 本地用户和组 gt 组 gt 双击Admi
  • C++复数运算

    C 复数运算探究 题目说明 抽象数据类型 ADT 的定义与实现 复数a bi a为实部 b为虚部 请用C或C 语言定义和实现复数抽象数据类型 要求能够输入两个实数作为实部和虚部 用于初始化 创建 一个复数 对任意的两个复数 能够按照复数运算
  • TypeC 基础

    type C接口形式 PD最大支持20V 5A 100W功率 通过CC线来协商Power供给 由于Type C的扩展功能 SBU1 SBU2 大部分配件诸如耳机 视频接口 debug接口等都可以实现兼容设计 在USB2 0端口 USB根据输
  • C++学习之路-构造函数的初始化列表

    构造函数 初始化列表 一 何为初始化列表 二 初始化列表的本质 三 初始化列表的优势 四 初始化列表中列表顺序问题 五 初始化列表与默认参数的配合使用 六 初始化列表的注意之处 七 构造函数的声明和实现分离时 初始化列表需写在实现里 八 子
  • 回归与分类区别

    回归与分类的根本区别在于输出空间是否为一个度量空间 我们不难看到 回归问题与分类问题本质上都是要建立映射关系 对于回归问题 其输出空间B是一个度量空间 即所谓 定量 也就是说 回归问题的输出空间定义了一个度量 去衡量输出值与真实值之间的 误
  • AGX Xavier使用记录

    整理了遇到的一些问题 Jetson AGX Xavier上查看版本 格格 gloria 博客园 Nvidia agx xavier TX2 无法查看opencv版本问题 Cc CSDN博客 Project cv bridge specifi
  • hdu1799(用递推公式求组合的个数)

    题目意思 我们知道 在编程中 我们时常需要考虑到时间复杂度 特别是对于循环的部分 例如 如果代码中出现 for i 1 i lt n i OP 那么做了n次OP运算 如果代码中出现 fori 1 i lt n i for j i 1 j l