Jzoj3805 小X的二叉堆计数

SAP CO模块实战:成本中心会计分割结构配置全流程(OKES事务码详解) 本文详细解析了SAP CO模块中成本中心会计分割结构的配置全流程,重点讲解了OKES事务码的实战操作。内容涵盖分割结构的概念理解、配置前的次级成本要素与作业类型主数据准备,并通过步骤拆解演示了如何定义分割结构、规则与版本,以及如何将配置关联到成本中心并执行分割。最后提供了常见问题排查与优化建议,旨在帮助顾问及财务人员掌握成本精确分摊的关键配置,确保期末成本核算的准确性。 阅读详情

题意:给你n个不同的数问你能构成多少个不同的二叉堆

显然不能枚举,我们考虑用递推

我们令f[i]表示以i为根的二叉堆有多少种

令l,r为i的左右儿子,令size[i]为以i为根的堆的大小

那么显然,f[i]=f[l]*f[r]*C(size[i]-1,size[l]),因为n个数互不相同,所以没有重复

相当于是1~size[i]这几个数填进这个堆中,那么显然根只能填最大那个,让后在剩下的数选择size[l]个即可

因为堆有两种,大根堆和小根堆,所以答案要乘2

#include<stdio.h>
#define M 1000000007
#define L long long
#define N 5000010
L inv[N],js[N],f[N];
int n,sz[N];
inline L C(int n,int m){
	return js[n]*inv[n-m]%M*inv[m]%M;
}
inline L pow(L x,int k){
	L S=1;
	for(;k;x=x*x%M,k>>=1)
		if(k&1) S=S*x%M;
	return S;
}
int main(){
	scanf("%d",&n);
	*js=*inv=1;
	for(int i=1;i<=n;++i) {
		js[i]=js[i-1]*i%M;
		inv[i]=pow(js[i],M-2);
	}
	for(int i=n;i;--i){
		sz[i>>1]+=++sz[i];
		L l=(i<<1)>n?1:f[i<<1];
		L r=(i<<1|1)>n?1:f[i<<1|1];
		L p=(i<<1)>n?0:sz[i<<1];
		f[i]=l*r%M*C(sz[i]-1,p)%M;
		if(!f[i]) ++f[i];
	}
	if(n==1) { return 0&puts("1"); }
	else printf("%d",(f[1]<<1)%M);
}


cdk&java | 分子sdf文件生成 sdf 阅读详情

相关推荐

Vertx之Grpc消息发送

介绍 Vert.x gRPC 模块,它将 Google gRPC 的编程风格与 Vert.x 风格保持一致. gRPC 是一个高性能、开源、通用的RPC框架,是一种进程间通讯技术,由Google推出,基于HTTP2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务,并且为客户端和服务端自动生成可靠的功能库。 在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地程序一样,轻松的实现远端服务的连接、

Lance 1188

Unity VR开发入门:从环境搭建到核心交互实现

虚拟现实(VR)技术通过计算机模拟三维环境,为用户提供沉浸式体验,其核心在于实时渲染与自然交互。在工程实践中,Unity引擎凭借其完善的工具链和活跃的社区,成为VR应用开发的主流选择。通过其模块化的XR支持,特别是XR Interaction Toolkit,开发者能够高效处理抓取、传送等核心交互,快速构建原型。本文聚焦于Unity VR开发,详细拆解了从项目初始化、环境配置,到利用XR Interaction Toolkit实现抓取、传送及UI交互的完整流程,并分享了性能优化与部署上线的实用技巧,为开发者

dianning8393的博客 544

体素坐标(voxel_coors)在mmdetection3d中的理解

体素坐标(voxel_coors)在mmdetection3d中的理解

weixin_38362784的博客 4217

3805. 【NOIP2014模拟8.24】小X 的二叉堆计数

Description 众所周知,完全二叉树是一种二叉树,满足除最后一层外的每层结点都是满的,且最后一层的结点连续集中在左方。而二叉堆是一种完全二叉树,分为大根堆和小根堆,大根堆满足父结点的值不小于子结点的值,小根堆满足父结点的值不大于子结点的值。 小X 最近对二叉堆和树的计数都很感兴趣,他想知道n 个互不相同的数能构成多少个不同的大小为n 的二叉堆,希望你帮帮他。 Input 第一行包含一...

zsjzliziyang的博客 379

python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Tools-Options-HTTPS,如图1红框打钩,HTTPS旁边Connections配置,如图2红框打钩 1.2.再次点击HTTPS栏,点击Actions选择第二个…to ...

dbva7063的博客 1491

ANSYS Fluent热边界条件避坑指南:为什么你的自然对流计算结果总出错?

本文深入剖析了在ANSYS Fluent中进行自然对流仿真时,导致计算结果出错或发散的核心原因与解决方案。重点解析了重力项与操作密度设置、Boussinesq与不可压缩理想气体模型的抉择、以及压力离散格式(推荐Body Force Weighted)这三大关键雷区,并结合电子机箱散热等实战案例,提供了一套稳定可靠的仿真设置流程与调试技巧。

weixin_28396629的博客 738

浅谈逆元 (高中OJ3805)

先看一道题目: 【NOIP2014模拟8.24】小X 的二叉堆计数 (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Description 众所周知,完全二叉树是一种二叉树,满足除最后一层外的每层结点都是满的,且最后一层的结点连续集中在左方。而二叉堆是一种完全二叉树

某司机的黑车 681

安卓App开发 篇三:Android SDK和API

Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少模板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。hl=zh-cnhl=zh-cnWorkManager 是 Android Jetpack 的一部分,是用于持久性工作的推荐解决方案,适用于需要通过应用重启和系统重新启动来调度的工作,也是后台处理操作的主要推荐 API。立即执行:必须立即开始且很快完成的任务,可以加急,使用和Worker,通过对调用处理加急工作。

生活在别处 1278

量子二叉堆 动态规划+乱搞求逆元

【一句话题意】最后希望你给出n个互不相同的数能构成多少个不同的大小为n的二叉堆(大根堆或小根堆都算二叉堆,不同定义为至少有一个位置上数不同)。 n&amp;lt;=5e6 【分析】对于二叉堆,顶端最小(或最大)是确定的,剩余元素的分配其实是随意的。将剩余的元素随意分配到左右两棵子树,离散化之后就变成了之前的一个已求得的子问题。可以得到一个(伪)状态转移方程 f[x]=f[x左子树节点数]∗f[x右子树节点...

xyc1719的博客 269

基于转录逆转的药物重定向 GPS 模型

GPS是一个基于分子结构预测基因表达扰动的开源平台,由三个模块组成:RCL(在LINCS扰动数据上训练抗噪MLP)、GPS4Drugs(预测新化合物的基因表达谱并进行逆转评分)、MolSearch(基于MCTS的分子优化)。平台使用Morgan指纹和Gene Ontology注释作为特征输入,将基因表达扰动离散为三分类标签。训练数据来自LINCS Phase I的18,746个化合物和978个landmark基因,支持四细胞系独立训练,可用于药物重定向与化合物筛选。

听雨草堂 82

手把手教你学Simulink——基于Simulink的蚁群算法路径规划仿真建模示例

路径规划是机器人导航系统中的核心任务之一,旨在为机器人找到一条安全且高效的路径,使其能够从起点到达目标点,同时避免与障碍物发生碰撞。在开始之前,需要定义工作环境(例如地图),包括起点、终点以及可能存在的障碍物位置。通过本指南,我们介绍了如何基于Simulink结合MATLAB实现蚁群算法的路径规划仿真建模。

MHD0815的博客 221

2021牛客多校1——H:Hash Function(FFT)

题面 题意: 给定 n 个互不相同的数,找一个最小的模域,使得它们在这个模域下互不相同。 简单来说就是对其n个互不相同的数进行哈希,并且不发生哈希冲突。 前置知识: 快速傅里叶变化(FFT) 快速傅里叶变换 - OI Wiki (oi-wiki.org) 思路: 如果aaa​ 与bbb​ 模mmm​的余数相同,当且仅当∣a−b∣|a-b|∣a−b∣​能被mmm​​整除,那么问题就转变为找到最小的mmm​,它不是任意一个∣ai−aj∣|a_i-a_j|∣ai​−aj​∣​的约数。 由于1≤∣.

kunyuwan的博客 534

如何用matlab扫频法测考虑频率耦合的并网逆变器的序阻抗,如何实现?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1192

不同样式的计数

网址:http://www.amazingcounters.com/

weixin_34111790的博客 101

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

{题解}[jzoj3806]【NOIP2014模拟8.24】小X 的道路修建

...

FarmerJohn 662

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

二叉堆,堆排序,d叉堆

   堆,这是经常听到的一个数据结构,其非常的重要,重要性就不闲扯了,这次主要说明堆的数据结构,堆一般可以分为大顶堆和小顶堆,顾名思义,也就是最大值或者是最小值在第一个位置,需要说明的是这不是我们自己规定了,而是由于堆的性质决定了,在堆中,子节点的值一定要小于父节点(当堆为小顶堆时),堆包括堆的变形以及使用都紧紧围绕这个核心来展开。      堆可以存在数组中,一般的在数组中,若某个i节点为父节...

Cherish__it的博客 1250

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【NOIP2014模拟8.24】小X 的二叉堆计数 (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Lim

Description 众所周知,完全二叉树是一种二叉树,满足除最后一层外的每层结点都是满的,且最后一层的结点连续集中在左方。而二叉堆是一种完全二叉树,分为大根堆和小根堆,大根堆满足父结点的值不小于子结点的值,小根堆满足父结点的值不大于子结点的值。 小X 最近对二叉堆和树的计数都很感兴趣,他想知道n 个互不相同的数能构成多少个不同的大小为n 的二叉堆,希望你帮帮他。 Input 第一行...

Com_man_der的博客 640

数的计数

题目: 题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n≤1000), 然后对此自然数按照如下方法进行处理: 1.不作任何处理; 2.在它的左边加上一个自然数,但该自然数不能超过原数的一半; 3.加上数后,继续按此规则进行处理,直到不能再加为止。 输入输出格式 输入格式: 一个自然数n。 输出格式: 输出数的个数。 输入输出样例 输入样例#1:...

iwi 364

前端算法之堆 -- 计数排序

TOC/TOC堆可以分为和两种类型。在最小堆中,每个父节点的值都要小于或等于其子节点的值,也就是说,根节点是整个堆中的最小值。而在最大堆中,每个父节点的值都要大于或等于其子节点的值,也就是说,根节点是整个堆中的最大值。假设我们有一个包含以下元素的最小堆:[5, 7, 10, 12, 15, 17, 20]在最小堆中,根节点的值5是整个堆中的最小值。并且,每个父节点的值都小于或等于其子节点的值。假设我们有一个包含以下元素的最大堆:[30, 25, 20, 15, 10, 5]

BradenHan的专栏 1182

蓝桥杯真题第九届java组

这是第一次参加蓝桥杯,应该也是最后一次。我参加的B组 JAVA,整体感觉还行吧,只是比赛的时候出了点小意外。本来是下午1点中结束的,因为提前了两分钟开始,然后到12点五十几的时候就交不了了,导致一个大题白白丢掉,当时心里有点炸。不过也没什么,蓝桥杯这种比赛,就当是玩一下吧。然后就说说题目吧,水平有限,错了见谅。 第一题: 标题:第几天 2000年的1月1日,是那一年的第1天。

Every Master was once a disaster or beginner. 1577

堆的计数

import java.util.Scanner; public class Main_10 { /** * 题目描述 我们知道包含N个元素的堆可以看成是一棵包含N个节点的完全二叉树。 * 每个节点有一个权值。对于小根堆来说,父节点的权值一定小于其子节点的权值。 * * 假设N个节点的权值分别是1~N,你能求出一共有多少种不同的小根堆吗? * * 例如对于N=4有如下3种: * * 1 / \ 2 3 / 4 * * 1 / \ 3 2 / 4 *

WORLD_NO_ONE的博客 727

二叉堆(最小堆, 最大堆)介绍与实现

二叉堆是一种特殊的二叉树, 它总是保证一棵树的最小元素(最小堆)或者最大元素(最大堆)处于树根上, 常见的应用场景就是用于构建优先队列, 在jdk中Doug Lea所实现的ScheduledThreadPoolExecutor中就是用到了最小堆; 二叉堆介绍 二叉堆的编程实现 应用场景 二叉堆介绍 什么是树? 计算机中树是一种数据结构(有向无环图), 因为它看起来像一颗倒挂的树, 所以被称为树...

江无羡 1万+

蓝桥杯第九届javaB组--第十题--堆的计数问题--动态规划

当时感觉很难的题,现在来做还是很简单 我们知道包含 N 个元素的堆可以看成是一棵包含 N 个节点的完全二叉树。 每个节点有一个权值。对于小根堆来说,父节点的权值一定小于其子节点的权值。 假设 N 个节点的权值分别是 1~N,你能求出一共有多少种不同的小根堆吗? 例如对于 N=4 有如下 3 种: 1 / \ 2 3 / 4 1 / \ 3 2 / 4 1 / \ 2 4 / 3 由于...

yxb的博客 4448

9-10 堆的计数Java

只有题,没有答案。不骗点击量。 标题:堆的计数 我们知道包含N个元素的堆可以看成是一棵包含N个节点的完全二叉树。 每个节点有一个权值。对于小根堆来说,父节点的权值一定小于其子节点的权值。 假设N个节点的权值分别是1~N,你能求出一共有多少种不同的小根堆吗? 例如对于N=4有如下3种: 1 / \ 2 3 / 4 1 / \ 3...

qq_41629684的博客 673

Jzoj3780 Magical GCD

给你一个序列s,求区间[l,r]使得gcd(s[l]~s[r])*(r-l+1)最大,输出这个最大值,n 显然,我们暴力是不可以过的,那么我们考虑一下的做法: 我们维护一个g数组,g[i]表示gcd(s[i]~s[r]) 那么我们每次移动r指针,让后重新更新g数组,显然每个g[i]可以O(lg k)更新,但是这样的复杂度依然是n^2lgk 我们发现,对于g[i]=g[j]而且i 为什么?

扩展の灰(Extended Ash/Cooevjnz) 468

2018 蓝桥杯 省赛 B组 原题 Java语言B组 第10题 第九届蓝桥杯真题 堆的计数

标题:堆的计数我们知道包含N个元素的堆可以看成是一棵包含N个节点的完全二叉树。  每个节点有一个权值。对于小根堆来说,父节点的权值一定小于其子节点的权值。  假设N个节点的权值分别是1~N,你能求出一共有多少种不同的小根堆吗?  例如对于N=4有如下3种:    1   / \  2   3 /4    1   / \  3   2 /4    1   / \  2   4 /3由于数量可能超过整...

feifancaicai的博客 1970
上一篇: Jzoj3780 Magical GCD
下一篇: Jzoj3806 小X 的道路修建
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值