Toggle navigation
C语言网
教程
博客
团队
训练
训练
题库
题集
状态
排名
比赛
比赛
标准
自主
考试
网课
AI助手
AI助手
代码解释
语言转换
编程助手
代码查错
SQL转换
代码生成
Dotcpp
>
编程题库
>
蓝桥杯2018年第九届真题-堆的计数
题目 2286:
蓝桥杯2018年第九届真题-堆的计数
时间限制: 2s
内存限制: 192MB
提交: 186 解决: 61
题目描述
我们知道包含N个元素的堆可以看成是一棵包含N个节点的完全二叉树。
每个节点有一个权值。对于小根堆来说,父节点的权值一定小于其子节点的权值。
假设N个节点的权值分别是1~N,你能求出一共有多少种不同的小根堆吗?
例如对于N=4有如下3种:
1
/ \
2 3
/
4
1
/ \
3 2
/
4
1
/ \
2 4
/
3
由于数量可能超过整型范围,你只需要输出结果除以1000000009的余数。
输入格式
一个整数N。
对于40%的数据,1<=N<=1000
对于70%的数据,1<=N<=10000
对于100%的数据,1<=N<=100000
输出格式
一个整数表示答案。
样例输入
复制
4
样例输出
复制
3
提示
零基础同学可以先学习
视频课程
,包含C/C++、Python、百练、蓝桥杯辅导、算法数据结构等课程,提供视频讲解以及配套习题,还有老师答疑,
点击这里
了解课程详情
标签
显示知识点标签
蓝桥杯
C
C++
Java
Python
PHP
代码重置
开启O2优化
分享
收藏
提交
在线测试
上一题
下一题
通过率
统 计
解题报告
我要看题解
我来写题解
推荐题目
蓝桥杯2022年第十三届决赛真题-卡牌
蓝桥杯2016年第七届真题-四平方和
蓝桥杯2016年第七届真题-压缩变换
蓝桥杯2016年第七届真题-最大比例
蓝桥杯2018年第九届真题-航班时间