8.9套题

部署运行你感兴趣的模型镜像

A. 猴猴吃苹果

题意:给定根节点k,求访问点的顺序,使得每次从上一个点到当前点的权值最大。访问过的点权值为0。权值一样时,输出最小编号

思路:由于是双向边,先求根节点到每一个节点的距离值。在第一轮中,最深的叶节点一定为答案,那么这一条路径就被访问过了,权值变为0,这个叶节点相同路径上的其他点到根节点(最后一个未被标记的点)的权值就改变了。所以从最优的叶节点出发,dfs往上跳,直到访问到已经被访问过的点为止即可。最后排序更新后的权值

#include<bits/stdc++.h>

using namespace std;

const int N = 1e6 + 10;

int n,k,d[N],tot;
bool vis[N];
struct node{
	int id,val;
}a[N];
vector<int> v[N];
inline bool cmp(node p,node q){
	if(p.val!=q.val)  return p.val>q.val;
	else return p.id<q.id;
}
void dfs1(int p,int fa){
	for(int t:v[p]){
		if(t==fa)  continue;
		d[t]=d[p]+1;
		dfs1(t,p);
	}
}
void dfs2(int p,int fa){
	if(vis[p])  return;
	tot++;
	vis[p]=true;
	for(int t:v[p]){
		if(t==fa||d[t]>=d[p])  continue;
		dfs2(t,p);
	}
}
int main(){
	cin>>n>>k;
	for(int i=1,x;i<n;i++){
		cin>>x;
		v[i].push_back(x);
		v[x].push_back(i);
	}
    dfs1(k,-1);vis[k]=true;
    for(int i=0;i<n;i++){
    	a[i].id=i;a[i].val=d[i];
	}
	sort(a,a+n,cmp);
//	for(int i=0;i<n;i++)  cout<<a[i].id<<" ";
    for(int i=0;i<n;i++){
    	tot=0;
    	dfs2(a[i].id,-1);
    	a[i].val=tot;
//    	cout<<tot<<" "<<a[i].id<<endl;
	}
	sort(a,a+n,cmp);
	cout<<k<<endl;
	for(int i=0;i<n;i++){
		if(a[i].val)
		  cout<<a[i].id<<endl;
	}
	return 0;
}

B. 猴猴吃香蕉

题意:选取n个数中的若干个数,使得它们的乘积为k

思路:计数dp,容易得出f[j]+=f[j/a[i]]的转移方程式。使得a[i]为组成k的一个因子。由于k的范围不可接受,于是筛出k的所有因子,如果a[i]/x能整除,说明这个数能被分解。f[j]+=f[a[i]/t[j]],由于因子较大,且个数趋近根号n,需要离散化

最终dp方程:f[j]+=f[pos[a[i]/t[j]]],答案为f[pos[k]]

C. 猴猴的比赛

题意:给定两棵树,求一个节点x在两棵树中有相同祖先的对数

思路:考虑求出每一个点的子树中的范围[L,R](连续的),对于另一颗树而言,每次处理一个点答案计数完成后,就将这个点在第一棵树中的位置标记为1。答案计数为所有父节点[L,R]中1的数量。注意在遍历子节点时,需要减去子树所有点的[L,R]中1的数量,防止重复运算

核心代码:

void dfs2(int p,int fa){
	//L[p]为点p的dfn序
	for(int t:g[p]){
		if(t==fa)  continue;
		ans-=BIT.query(R[t])-BIT.query(L[t]);
		dfs2(t,p);
	} 
	ans+=BIT.query(R[p])-BIT.query(L[p]);//整个子树 
	BIT.add(L[p],1);
}

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

<think>首先,用户的问是:“我想查找关于RokyLinux 8.9版本的相关信息 请问RokyLinux 8.9版本的相关信息”。用户提到“RokyLinux”,但根据引用内容,应该是“RockyLinux”。在引用[1]中提到“RokyLinux”,但在引用[2]和[3]中是“RockyLinux”。所以,我需要纠正为用户可能指的是RockyLinux 8.9版本。 我的系统指令强调: - 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$格式。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户提供了四个引用: - 引用[1]:列出了脚本兼容的Oracle版本和其它Linux发行版,包括RockyLinux。[^1] - 引用[2]:描述了如何升级RockyLinux 89 到指定版本,包括8.9版本。[^2] - 引用[3]:详细描述了RockyLinux 8.9的安装过程。[^3] - 引用[4]:关于在RockyLinux 8.9上配置Kubernetes集群。[^4] 用户的需求是查找RockyLinux 8.9版本的相关信息。所以,我应该基于这些引用提供信息。 结构化我的回答: 1. **概述**:简要介绍RockyLinux 8.9及其相关信息来源。 2. **关键信息点**: - 兼容性:RockyLinux 8.9支持哪些系统(从引用[1])。 - 安装过程:基于引用[3],描述安装步骤。 - 升级方法:引用[2]给出了如何升级到指定版本。 - 应用场景:引用[4]提到与Kubernetes集成。 3. **确保引用**:在提及每个信息点后,自然地添加引用标识。 4. **生成相关问**:在回答末尾,添加“相关问”部分,列出相关的问。 由于用户提到“RokyLinux”,我应该指出这可能是拼写错误,并假设是RockyLinux。 回答结构: - 开头:确认请求并纠正可能的拼写错误。 - 主体: - 兼容性和支持列表。 - 安装指南。 - 升级方法。 - 可能的用途(如Kubernetes)。 - 结尾:总结。 - 相关问。 生成相关问: 基于引用: 1. 如何安装RockyLinux 8.9? 2. 如何升级RockyLinux到特定版本如8.9? 3. RockyLinux 8.9有哪些优化或新特性? 4. 如何在RockyLinux 8.9上配置Kubernetes集群? 确保回答使用中文。 </think>### RockyLinux 8.9版本相关信息总结 根据您的查询和提供的引用资料,"RokyLinux" 可能是 "RockyLinux" 的拼写变体(如引用[^1]和[^2]所示)。RockyLinux 是一个基于 Red Hat Enterprise Linux (RHEL) 的开源企业级操作系统,旨在提供稳定性和兼容性。RockyLinux 8.9 是该发行版的一个特定版本(发布于 Rocky Linux 8 系列的后续更新中)。以下信息基于引用内容整理,涵盖兼容性、安装、升级和应用场景等关键方面。 #### 1. **兼容性与支持列表** - RockyLinux 8.9 兼容多种硬件架构(如 x86_64),并支持与其他主流 Linux 发行版协同工作(例如在混合云环境中)。具体脚本和工具兼容性包括: - Oracle 数据库版本(作为兼容目标)。 - 国产操作系统如华为欧拉 OpenEuler、中标麒麟 NeoKylin V7、银河麒麟 Kylin V10 SP3、统信 UOS V20 等[^1]。 - 其他 Linux 发行版如 AlmaLinux、Fedora、Debian、Ubuntu、SUSE、OpenCloudOS 等,确保在多平台部署时无缝集成[^1]。 - 该版本在脚本测试中已验证支持 RockyLinux 8.x 系列,包括 8.9 版本[^1]。 #### 2. **安装过程详解** 引用[^3]提供了 RockyLinux 8.9 的完整安装指南,适用于物理服务器或虚拟机: - **准备阶段**: - 从官方下载 ISO 镜像(网址:[Download - Rocky Linux](https://rockylinux.org/download/))。 - 启动服务器时进入 Boot 界面(通常按 F11 或特定键),选择 ISO 镜像作为引导设备。 - **安装步骤**: - 选择 "Install Rocky Linux 8.9" 并跳过初期检查(按 Esc 键)。 - 语言/地区配置:选择 "中文" > "简体中文",时间区设为 "亚洲/上海"。 - 磁盘分区:手动删除旧分区(如有),添加新分区(如 /boot、swap、/ 等),采用默认文件系统(XFS 或 ext4)。 - 网络配置:启用以太网,手动设置 IPv4 地址或使用 DHCP。 - 关闭 Kdump(可选),设置 Root 密码。 - 完成配置后点击 "开始安装",重启后即可登录[^3]。 - 此过程强调自定义化和安全性,适用于企业服务器部署。 #### 3. **升级到指定版本的方法** 引用[^2]详细描述了将 RockyLinux 89 升级到 8.9 的步骤(需 root 权限): - 移除旧仓库:运行 `rm -rf /etc/yum.repos.d/*`。 - 添加 RockyLinux 8.9 专属仓库:创建配置文件 `/etc/yum.repos.d/rockylinux-Base.repo`,内容如下: ```ini [AppStream] name=rockylinux-$releasever - AppStream baseurl=https://dl.rockylinux.org/vault/rocky/8.9/AppStream/$basearch/os/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-$releasever [BaseOS] name=rockylinux-$releasever - Base baseurl=https://dl.rockylinux.org/vault/rocky/8.9/BaseOS/$basearch/os/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-$releasever ``` - 执行升级:运行 `yum clean all`、`yum makecache`,然后 `dnf --releasever=8.9 upgrade --refresh -y`。 - 清理:升级后删除自定义仓库(`rm -rf /etc/yum.repos.d/rockylinux-Base.repo`),重建缓存[^2]。 - 此方法确保平滑升级,适用于维护现有系统而不重装。 #### 4. **应用场景与高级用途** - **Kubernetes 集群配置**:引用[^4]指出,RockyLinux 8.9 可作为 Kubernetes 节点操作系统。安装 Kubernetes 组件(kubelet、kubeadm、kubectl)后,初始化集群(例如使用 `kubeadm init`),适合云原生应用部署[^4]。 - **企业级优化**:该版本支持长期维护(LTS),常用于数据库服务器、Web 服务和容器化环境,稳定性优于非 LTS 发行版。 - **安全性更新**:RockyLinux 8.9 包含了 CVE 修补和内核更新,确保生产环境安全[^1][^2]。 #### 总结 RockyLinux 8.9 是一个稳定、兼容性强的企业级 Linux 发行版,适用于服务器和数据中心部署。核心优势包括:易安装[^3]、灵活升级[^2]、云原生集成[^4]、以及广泛的硬件/软件支持[^1]。如需更多细节,建议访问 [Rocky Linux 官网](https://rockylinux.org)。 如果您有具体需求(如特定配置或问排查),请提供更多细节! ### 相关问 1. RockyLinux 8.9 与 CentOS 8 相比有哪些优势? 2. 如何解决 RockyLinux 8.9 安装过程中的网络配置问? 3. RockyLinux 8.9 支持哪些容器化技术(如 Docker 或 Podman)? 4. 如何在 RockyLinux 8.9 上配置高可用性集群?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值