E - Subtree K-th Max

本文介绍了一段C++代码,展示了如何使用深度优先搜索(DFS)算法在给定图中查找路径。通过递归实现,代码用于解决从顶点0开始,找出其子节点中最优的前20个元素,并处理查询特定节点的第k个路径元素。适合学习图算法和数据结构的学生或开发者参考。

题目描述

题目链接

C++代码

#include<bits/stdc++.h>
#define pb push_back
using namespace std;

const int N = 1e5 + 10;
vector<int> e[N], ans[N]; 
vector<int> X(N);

void dfs(int u, int fa){
	vector<int> order;
	order.pb(X[u]);
	for(auto it : e[u]){
		if(it == fa) continue;
		dfs(it, u);
		for(auto j : ans[it]) order.pb(j);
	}
	
	sort(order.begin(), order.end(), greater<int>());
	int num = min(20, int(order.size()));
	for(int i = 0; i < num; i ++) ans[u].pb(order[i]);
	
	return ;
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int n, tt;
	cin >> n >> tt;
	for(int i = 0; i < n; i ++) cin >> X[i];
	
	for(int i = 0; i < n - 1; i ++){
		int x, y;
		cin >> x >> y;
		x --;
		y --;
		e[x].pb(y);
		e[y].pb(x);
	}
	
	dfs(0, -1);
	
	while(tt --){
		int z, k;
		cin >> z >> k;
		z --;
		k --;
		cout << ans[z][k] << '\n';
	}
	
	return 0;
}
.dataTables_scrollBody .ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer thead tr:nth-child(1), .dataTables_scrollBody .ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer tr:nth-child(2) { height: 0 !important; min-height: 0 !important; max-height: 0 !important; padding: 0 !important; margin: 0 !important; border-spacing: 0 !important; border-collapse: collapse !important; font-size: 0 !important; line-height: 0 !important; display: block; /* 确保 block 渲染模式下也生效 */ } /* 强制隐藏 these rows 内部所有 th/td */ .dataTables_scrollBody .ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer thead tr:nth-child(1) th, .dataTables_scrollBody .ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer thead tr:nth-child(1) td, .dataTables_scrollBody .ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer thead tr:nth-child(2) th, .dataTables_scrollBody .ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer thead tr:nth-child(2) td { height: 0 !important; min-height: 0 !important; max-height: 0 !important; padding: 0 !important; margin: 0 !important; font-size: 0 !important; line-height: 0 !important; border: none !important; background-color: transparent !important; color: transparent !important; visibility: hidden !important; overflow: hidden !important; width: 0 !important; white-space: nowrap !important; } 请把这段代码修改为 dataTables_scrollBody 下的 ly-table ly-table-b ly-table1 ly-table-fix dataTable no-footer的所有的thead
12-29
ISPSRV (UOS) mount /dev/sr0 /mnt vim /etc/apt/sources.list [trusted=yes] file:///mnt fou main apt update nmtui hostname -f vim /etc/hosts apt install -y isc-dhcp-server bind9 vim /etc/default/isc-dhcp-server INERFACEv4="ens33" vim /etc/dhcp/dhcpd.conf subnet 81.6.63.0 netmask 255.255.255.0{ range 81.6.63.110 81.6.63.190; option domain-name-servers 81.6.63.100; option domain -name "chinaskills.cn"; option routers 81.6.63.254; } systemctl restart isc-dhcp-server.service systemctl status isc-dhcp-server.service cd /etc/bind/ ls cp -ap db.local db.root vim named.conf zone"."{ type master; file "/etc/bind/db.root"; }; zone "chinaskills.cn" { type slave; masters { 81.6.63.254; }; file "/etc/bind/db.chinaskills.cn"; }; ls vim named.conf.optins dnssec-validation no; dnssec-enable no; systemctl restart bind9 systemctl status bind9 chmod 777 -R /etc/bind ls vim db.root @ IN MS localhost * IN A 81.6.63.100 systemctl restart bind9 systemctl status bind9 vim /etc/default/isc-dhcp-server AppSrv(Centos) mount /dev/sr0 /mnt rm -rf /etc/yum.repos.d/* cat <<EOF > /etc/yum.repos.d/1.repo [1] name=1 baseurl=file:///mnt enabled=1 gpgcheck=0 EOF systemctl disable firewalld systemctl stop firewalld nmtui yum install -y vim bath-completion yum install -y dhcp bind vim /etc/dhcp/dhcp.conf cp -ap /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf y vim /etc/dhcp/dhcpd.conf v G I # default-lease-time 600; max-lease-time 7200; ddns-update-style none; subnet 192.168.0.0 netmask 255.255.255.0{ range 192.168.0.110 192.168.0.190; option domian-name-servers 192.168.100.100; option domain-name "chinaskills.cn"; interface ens33; option routers 192.168.0.254; } host insidecli{ hardware ethernet 00:0c:29:ce:e8:45; fixed-addrewss 192.168.0.190; } ip ad systemctl restart dhcpd nmtui systemctl status dhcpd systemctl restart dhcpd vim /etc/dhcp/dhcp.conf listen-on port 53 { any; }; allow-query { any; }; forward first; forwarders { 81.6.63.100; }; dnssec-enable on; dnssec-validation on; #zone vim /etc/named.rfc1912.zones viem in{ mathch-clients { 192.168.100.0/24;192.168.0.0/24;127.0.0.1/32;}; zone "chinaskills.cn"{ type master; file "in.chinaskills.cn"; }; }; viem out { match-client { any; }; zone "chinaskills.cn"{ type master; file "out.chinaskills.cn"; allow-transfer { 81.6.63.100; }; }; }; cd /var/named/ ll cp -ad named.localhost in.chinaskills.cn vim in.chinaskills.cn A 192.168.100.100 @ IN MAX 10 mail.chinaskills.cn www IN A 192.168.100.100 download IN a 192.168.100.100 mail IN A 192.168.100.100 ispweb IN A 81.6.63.100 cp -ad in.chinaskills.cn out.chinaskills.cn vim out.chinaskills.cn :%s/192.168.100.100/81.6.63.254 systemctl restart named systemctl status named vim /etc/name.rfc1912.zones systemctl restart named systemctl status named nslookup yum install bind-utils y nslookup www.chinaskills.cn download.chinaskillscn ispweb.chinaskills.cn yum install -y nfs-utils mkdir /webdata echo 192.168.100.200:/webdata /webdate nfs defaults 0 0 >> /etc/fstab mount -a ^c ll STORAGERV(Centos) mount /dev/sr0 /mnt rm -rf /etc/yum.repos.d/* cat <<EOF >etc/yum.repos.d/1.repo [1] name=1 baseurl=file:///mnt enabled=1 gpgcheck=0 EOF systemctl disable firewalld systemctl stop firewalld setemforce 0 nmtui yum install -y vim bath-completion lsblk echo "- - -" >> /sys/class/scsi_host/host echo "- - -" >> /sys/class/scsi_host/host0/scan echo "- - -" >> /sys/class/scsi_host/host1/scan echo "- - -" >> /sys/class/scsi_host/host2/scan yum install -y mdadm lvm2 mdadm -C /dev/md0 -1 5 -n 3 -x 1 /dev/sd[b-e] pvcreate /dev/md0 Vgcreate Vg01 /dev/md0 lvcreate -L 5G -n lv01 vg01 mkfs.ext4 -K /dev/vg01/lv01 mkdir /webdate echo /dev/vg01/lv01 /webdate ext4 0 0 >> /etc/fstab mount -a df -Th cd /webdate/ touth disk.txt cd yum install -y nfs-utils vim /etc/exports /webdata 192.168.100.100(rw,sync,no_root_squash,no_subtree_check) exportfs -av systemctl restart nfs-server ll cd yum install -y samba mkdir -p /data/{share,public} chmod o*rw /data/{share1,public} vim /etc/samba/sma.conf map to guest = bad user [share1] path= /data/share1 write list = zsuser valid users =zsuer,lsusr,wuusr [public] path = /date/public writeble = yes public = yes guest ok = yes systemctl restart smb systemctl status smb useradd -m zsuser useradd -m lsusr useradd -m wuusr pdbedit -a zsuser 1234 pdbedit -a lsusr 1234 pdbedit -a wuusr 1234 systemctl restart smb systemctl status smb cd /data/share1/ ll ROUTESRV(Centos) mount /dev/sr0 /mnt rm -rf /etc/yum.repos.d/* cat <<EOF > /etc/yum.repos.d/1.repo [1] name=1 baseurl=file:///mnt enabled=1 gpgcheck=0 EOF systemctl disable firewalld systemctl stop firewalld setenforce 0 nmtui yum install -y dhcp dhcrelay 192.168.100.100 echo net.ipv4.ip_forward=1 >> /etc/systcl.conf sysctl -p chcrelay 192.168.100.100 dhclient -r dhclient -v INSIDECLI(Centos) mount /dev/sr0 /mnt rm -rf /etc/yum.repos.d/* cat <<EOF > /etc/yum.repos.d/1.repo [1] name=1 baseurl=file:///mnt enabled=1 gpgcheck=0 EOF systemctl disable firewalld ststemctl stop firewalld setenforce 0 nmtui ip ad dhclient -r dhclient -v yum install -y sambd-client sabclient //192.168.100.200/share1 -U zsuser 1234 ls ^c touch 1 touch 2 ls ^c touch 1 touch 2 ls put 1 e^c sabclient //192.168.100.200/share1 -U zsuser 1234 ls put 2 ls q sabclient //192.168.100.200/public 1234 ls put 2 exit OUTSIDE(UOS) mount /dev/sr0 /mnt vim /etc/apt/sources.list [trusted=yes] file:///mnt fou main apt update nmtui dhclient -r dhclient -v ip ad ip route cat /etc/resolv.conf nslookup 将以上linux代码分析并讲述操作思路
06-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值