【bzoj 1005】 明明的烦恼 【HNOI2008】

使用podman 容器化安装DIFY 本文阐述了使用podman容器化安装DIFY的过程 阅读详情

Description

  自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在
任意两点间连线,可产生多少棵度数满足要求的树?

Input

  第一行为N(0 < N < = 1000),
接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1

Output

  一个整数,表示不同的满足要求的树的个数,无解输出0

Sample Input

3
1
-1
-1

Sample Output

2

HINT

  两棵树分别为1-2-3;1-3-2

这道题是prufer序列加数论,一棵n个节点的树可以转成一个长度为n-2的唯一的prufer序列,由此将原问题转化为已知一个长为n-2的序列,其中已知一部分元素的个数,求一共有多少这样的序列,下面是程序:
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
struct Bignum{
	int a[5000],l;
	void operator *=(int p){
		int i;
		for(i=1;i<=l;i++){
			a[i]*=p;
		}
		for(i=1;i<=l;i++){
			a[i+1]+=a[i]/10;
			a[i]%=10;
		}
		while(a[l+1]){
			a[l+2]+=a[l+1]/10;
			a[l+1]%=10;
			++l;
		}
	}
};
int a[1005];
void add(int n){
	int i=2;
	while(i*i<=n){
		while(!(n%i)){
			a[i]++;
			n/=i;
		}
		i++;
	}
	if(n>1){
		a[n]++;
	}
}
void del(int n){
	int i=2;
	while(i*i<=n){
		while(!(n%i)){
			a[i]--;
			n/=i;
		}
		i++;
	}
	if(n>1){
		a[n]--;
	}
}
int main(){
	int n,sum=0,cnt=0,i,d,j;
	Bignum s;
	memset(s.a,0,sizeof(s.a));
	s.a[1]=1;
	s.l=1;
	scanf("%d",&n);
	for(i=2;i<=n-2;i++){
		add(i);
	}
	for(i=1;i<=n;i++){
		scanf("%d",&d);
		if(d!=-1){
			cnt++;
			sum+=d-1;
			for(j=2;j<d;j++){
				del(j);
			}
		}
	}
	cnt=n-cnt;
	for(i=1;i<=n-2-sum;i++){
		add(cnt);
	}
	for(i=2;i<=n-2-sum;i++){
		del(i);
	}
	for(i=1;i<=1000;i++){
		if(a[i]){
			while(a[i]--){
				s*=i;
			}
		}
	}
	for(i=s.l;i>=1;i--){
		putchar(s.a[i]+'0');
	}
	putchar('\n');
	return 0;
}

PCIe协议之 Equalization篇 之 理论篇 之 FFE 作为最后一道“精加工”工序,DFE利用其不放大噪声的优势,精准地消除残余的、强烈的后光标ISI,最终得到一个非常干净、张得很开的眼图,供判决器使用。信号经过信道衰减后变得模糊,首先由CTLE进行“粗调”,提供一个宽频带的增益,将眼图初步打开,为后面的DFE创造一个可以正常工作的信号环境。,它通过将输入信号在不同时间点上的多个副本(称为“抽头”)进行加权求和,来直接塑造或“整形”输出信号的波形。:这是最主要的信号路径,通常系数为正值,决定了信号的幅度。:将所有加权后的信号相加,产生最终的均衡输出。 阅读详情

相关推荐

Linux 之 supervisor安装和使用

运行Supervisor的后台服务,它用来启动和管理那些你需要Supervisor管理的子进程,响应客户端发来的请求,重启意外退出的子进程,将子进程的stdout和stderr写入日志,响应事件等。它是Supervisor最核心的部分。

chang995196962的博客 5545

bzoj 1005: [HNOI2008]明明的烦恼

题目链接: bzoj 1005: [HNOI2008]明明的烦恼 题解: 首先要了解prufer序列 对于每个prufer序列都对应唯一的一棵树,对于该规定了度数的点也就规定了该店在prufer序列中出现的次数,那么就是求prufer序列的方案数也就是可重复序列的全排列。 首先只考虑规定度数得点设其度数为d[i],有k个,那么他在prufer中出现的次数就是d[i]-1 设\[tot=\...

agtvo48266的专栏 155

小红书私信接口与Hook技术实战:微信跳转卡片的合规与破解之道

本文深入探讨了小红书私信接口与Hook技术的实战应用,重点解析了微信跳转卡片的合规使用与破解方法。通过官方私信接口的合规玩法与Xposed框架的Hook技术对比,为开发者提供了技术选型指南和实战建议,帮助实现高效的用户跳转与转化。

weixin_30399821的博客 736

bzoj1005: [HNOI2008]明明的烦恼 prufer编码

bzoj1005: [HNOI2008]明明的烦恼 Description   自从明明学了树的结构,就对奇怪的树产生了兴趣……给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input   第一行为N(0 &lt; N &lt; = 1000), 接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 ...

maxtir的博客 262

AES128加密算法开发(含源码)

本文详解了AES128加密算法的原理与C语言实现。AES128是当前广泛使用的对称加密标准,采用128位密钥和10轮变换,具有高安全性和高效性。文章从算法背景、核心概念(混淆与扩散)入手,详细解析了4×4状态矩阵表示、4个核心变换(字节替换、行移位、列混合、轮密钥加)以及密钥扩展过程。特别针对汽车电子应用场景,如ECU通信加密、车钥匙认证等,说明了AES128在资源受限环境中的优势。通过分步图解和原理剖析,帮助开发者深入理解这一加密标准的技术细节与实现方法。

汽车电子软件开发笔记 2918

python怎样按某一列值拆分Excel表格

pd.ExcelWriter@python #用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以“按照表中的某一列,将一张表格拆分为多张表”的需求为例,简单介绍这个过程中用到的pd.ExcelWriter,及每一句的作用。 如上表《学生.xlsx》,假设有14万行28列,请按照学校名,拆分表格(不想用复制粘贴)。 ##代码及解释如下 import pandas as pd from time import time#用来计算时间,展示进度,减少焦虑 in_ws='学生.xlsx'#

learn_get的博客 6785

【BZOJ1005】[HNOI2008]明明的烦恼

【BZOJ1005】[HNOI2008]明明的烦恼 题面 bzoj 洛谷 题解 前置芝士: \(prufer\)序列 戳这里 关于此题 设有度数限制的点的个数是\(cnt\),度数为\(d[i]\),令\(sum=\sum_{i=1}^{cnt}(d[i]-1)\) 不同排列的个数为 \[ C_{n-2}^{sum}\times\frac{sum!}{\prod_{i=1}^{cnt}(...

133

NHANES更新数据后,权重计算方式也更新了

官网说明在此:如果你比我还懒,我下载了几个说明文件。2021年8月至2023年8月的总样本量与之前的2年周期相似。然而,。特别是,与之前包括过度抽样的周期相比,非西班牙裔白人的样本量较高,而非西班牙裔黑人的样本量较低。此外,60岁及以上人群的样本量较高,而年轻群体的样本量较低。子组的估计值可能具有较低的精确度,因此,检测组间差异的统计能力可能较低。此外,年龄和种族/西班牙裔亚组(尤其是儿童和青少年年龄组)的估计值可能会显示意想不到的模式。

珏世佳人的博客 2410

【BZOJ1005】[HNOI2008]明明的烦恼(prufer序列)

【BZOJ1005】[HNOI2008]明明的烦恼(prufer序列) 题面 BZOJ 洛谷 题解 戳这里 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #i...

weixin_30362801的博客 156

RDKit实战:5分钟搞定药物分子相似性分析(附Python代码)

本文提供了一套基于RDKit的快速药物分子相似性分析实战指南。通过Python代码演示,从环境搭建、分子指纹(如Morgan指纹)计算到Tanimoto相似性排序与可视化验证,帮助研究者在5分钟内完成从海量化合物库中精准筛选潜在活性分子的全流程,提升药物发现效率。

weixin_29193359的博客 314

【重识云原生】第四章云网络4.9.5.1节下一代智能网卡——DPU综述

随着数据中心的高速发展,通信能力和计算能力成为数据中心基础设施的相辅相成的两个重要发展方向。若数据中心仅关注计算能力的提升,通信基础设施的提升跟不上,那么数据中心的整体系统性能依然受限,无法发挥出真正的潜力。DPU的提出背景就是应对这些数据量和复杂性的指数级增长。未来,需要将计算移至接近数据的位置,这是目前业界所公认的以数据为中心的体系结构下的创新。综上,DPU对数据中心来说,是通过更明细的分工来实现效率的提升、实现总体系统的成本最优化。...

junbaozi的专栏 1725

bzoj1005 [HNOI2008]明明的烦恼

1005: [HNOI2008]明明的烦恼 Time Limit:1 SecMemory Limit:162 MBSubmit:3032Solved:1209 Description 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? I...

anmob303090的博客 157

STM32 HAL SDADC DMA

由于项目需要使用STM32F373单片机的SDADC功能对电位计进行检测,网上资料比较少,踩了很多坑,下面进行总结。

weixin_44597885的博客 1196

【bzoj1005】[HNOI2008]明明的烦恼

1005: [HNOI2008]明明的烦恼 Time Limit:1 SecMemory Limit:162 MBSubmit:4175Solved:1660[Submit][Status][Discuss] Description   自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,...

anzhi7214的博客 177

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IMSL CNL 7.0.0 (x86-64)Crack

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

BZOJ1005: [HNOI2008]明明的烦恼

1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MB Description   自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input   第一行为N(0 接下来N行,第i+1行给出第

MS-18E Kampfer 402

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[BZOJ1005][HNOI2008]明明的烦恼

这一道题属于树的计数问题,我所知道的有三种方式处理这类问题,dp,基尔霍夫矩阵还有purfer编码。 这一题跟度数有关那么就用purfer编码啦。 purfer编码和树是一一对应的,如何把一棵树转化成编码。首先把树的度数为1的编号最小的点所连向的点放到编码的第一个,然后删除这个度为1的点,一直这样搞直到树的点数小于2为止。 一颗n的树的purfer编码只有n-2个数。 如何从purfer编码

Sakai_Masato的博客 695

android 蓝牙通讯demo

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

bzoj 1005 [HNOI2008] 明明的烦恼 题解

转载请注明出处: 【原题】 1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1963  Solved: 768 [Submit][Status] Description 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意

阿蒋的专栏 3339

[HNOI2008][bzoj 1005]明明的烦恼(prufer序列)

1005: [HNOI2008]明明的烦恼 Time Limit: 1 SecMemory Limit: 162 MBSubmit: 7121Solved: 2816[Submit][Status][Discuss] Description   自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生...

weixin_30501857的博客 128

【树】【数论】[BZOJ1005][HNOI2008]明明的烦恼

题目描述自从明明学了树的结构,就对奇怪的树产生了兴趣…… 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树?样例输入3 1 -1 -1样例输出2题目解析首先我们根据prufer数列可以知道任意一棵无根树可以表示为任意一个长度为n−2n-2的串并且有以下的性质任意一点的度为did_i那么该数字将会在数列中出现di−1d_i-1次,那么我们可以知道该数

JeremyGJY的专栏 2393

bzoj1005【hnoi2008】明明的烦恼

prufer编码+高精度+质因数分解

AaronPolaris 1143

bzoj1005: [HNOI2008]明明的烦恼

传送门 膜拜PoPoQQQ大爷,题解 树的Prufer编码,以下内容摘自度娘: Prufer数列是无根树的一种数列。在组合数学中,Prufer数列由有一个对于顶点标过号的树转化来的数列,点数为n的树转化来的Prufer数列长度为n-2。它可以通过简单的迭代方法计算出来,一个树对应一个Prufer数列。 Prufer序列显然满足一个性质:一个点若度数为d,则一定在Prufer序列中出现了

zyy大蒟蒻的博客 520

[bzoj1005] [HNOI2008]明明的烦恼

Description   自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input   第一行为N(0 < N < = 1000), 接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 Output   一个整数,表示不同的满足要求的树的个数,无解输...

weixin_30835933的博客 152

BZOJ1005 - [HNOI2008]明明的烦恼

Portal Description 给出\(n(n\leq1000)\)个点,以及某些点最终的度数,求度数满足要求的树的个数。 Solution 还是prufer序列的题。 先考虑有度数限制的点\(i\),那么要在prufer序列里填入\(d_i-1\)个\(i\)。再考虑没有限制的点,那么就在剩下的位置上随便填。不妨设有度数限制的点为\(1...m\),那么有: \[ans = \f...

TC1129的博客 141

[prufer序列]BZOJ1005: [HNOI2008]明明的烦恼

BZOJ1005

SKY的C 1303

BZOJ 1005: [HNOI2008]明明的烦恼

二次联通门 :BZOJ 1005: [HNOI2008]明明的烦恼 /* BZOJ 1005: [HNOI2008]明明的烦恼 prufer数列 组合数学 阶乘质因数分解 高精 */ #include <cstdio> #include <iostream> #define rg register inli...

weixin_30563319的博客 127

BZOJ1005 [HNOI2008]明明的烦恼

Description   自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input   第一行为N(0 < N < = 1000), 接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 O...

dgoh41514的博客 124
上一篇: 【bzoj 1004】 Cards 【HNOI2008】
下一篇: 【bzoj 1006】 神奇的国度 【HNOI2008】
TLECODE
博客等级 码龄9年 8粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值