【SCOI2005】bzoj1086 王室联邦

2023-11-07 19:33

本文主要是介绍【SCOI2005】bzoj1086 王室联邦,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从根开始dfs,用一个栈来维护目前还没有分配的点。对于当前处理的点,如果处理完一棵子树之后根的子树中剩下的节点达到 b ,就把这些点弹栈,这个根节点做省会。处理完子树之后把自己加入栈中。因为父亲节点一定比后继节点后入栈,而弹栈的时候会直接清空,也就是把所有后继节点都弹掉,所以不会出现断的情况。这样的话本来剩下的不到b,从新子树中剩下的不到 b ,划分出来的省大小都不到2b。最后剩下的节点直接扔到最后分出来的省里,大小不超过 3b

#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=2010;
int fir[maxn],ne[maxn],to[maxn],sta[maxn],bel[maxn],cap[maxn],
n,m,tot,top;
void add(int num,int u,int v)
{ne[num]=fir[u];fir[u]=num;to[num]=v;
}
void dfs(int u,int fa,int bot)
{for (int i=fir[u];i;i=ne[i])if (to[i]!=fa){dfs(to[i],u,top);if (top-bot>=m){tot++;while (top>bot) bel[sta[top--]]=tot;cap[tot]=u;}}sta[++top]=u;if (top-bot>=m){tot++;while (top>bot) bel[sta[top--]]=tot;cap[tot]=u;}
}
int main()
{int u,v;scanf("%d%d",&n,&m);for (int i=1;i<n;i++){scanf("%d%d",&u,&v);add(i*2,u,v);add(i*2+1,v,u);}dfs(1,-1,0);while (top) bel[sta[top--]]=tot;printf("%d\n",tot);for (int i=1;i<=n;i++)printf("%d%c",bel[i],i==n?'\n':' ');for (int i=1;i<=tot;i++)printf("%d%c",cap[i],i==tot?'\n':' ');
}

这篇关于【SCOI2005】bzoj1086 王室联邦的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/365819

相关文章

【Python深度学习】联邦学习概述、实现技术和主流联邦学习方法

文章目录 联邦学习联邦学习的基本流程:联邦学习的优点:联邦学习的挑战:联邦学习的应用场景: 联邦学习是一种思想,而不是一个具体的技术联邦学习的思想包括:但要实现这一思想,通常需要借助多种**具体的技术**,包括但不限于: 主流的联邦学习方法1. **联邦平均算法(Federated Averaging,FedAvg)**2. **联邦优化算法(Federated Optimization,

联邦学习【分布式机器学习技术】【①各客户端从服务器下载全局模型;②各客户端训练本地数据得到本地模型;③各客户端上传本地模型到中心服务器;④中心服务器接收各方数据后进行加权聚合操作,得全局模型】

随着计算机算力的提升,机器学习作为海量数据的分析处理技术,已经广泛服务于人类社会。 然而,机器学习技术的发展过程中面临两大挑战: 一是数据安全难以得到保障,隐私数据泄露问题亟待解决;二是网络安全隔离和行业隐私,不同行业、部门之间存在数据壁垒,导致数据形成“孤岛”无法安全共享 ,而仅凭各部门独立数据训练的机器学习模型性能无法达到全局最优化。 为了解决以上问题,谷歌提出联邦学习(FL,feder

P2324 [SCOI2005] 骑士精神

*原题链接* T组测试数据,每组数据给定5x5的矩阵,求将其变为目标矩阵的最小步数。 做法:IDA* 分析:看到这样的数据范围和题目描述就可以想到搜索了,由于任何时候矩阵中只有一个空格,所以我们从空格开始进行搜索,看哪个骑士能转移到这个空格上。由于步数超过15步后输出-1,所以可以迭代加深搜索,但是这样爆搜后交上去会T,所以考虑如何优化。剪枝是剪不了的(至少我没想到哪里可以剪枝),既然已经是

探索联邦学习:保护隐私的机器学习新范式

探索联邦学习:保护隐私的机器学习新范式 前言联邦学习简介联邦学习的原理联邦学习的应用场景联邦学习示例代码结语 前言   在数字化浪潮的推动下,我们步入了一个前所未有的数据驱动时代。海量的数据不仅为科学研究、商业决策和日常生活带来了革命性的变化,同时也带来了前所未有的挑战。尤其是数据隐私和安全问题,已经成为全球关注的焦点。   随着对个人隐私保护意识的增强,传统的集中式数据处理方

Hadoop联邦模式搭建

在Hadoop架构中提供了三类搭建方式,第一类是给测试或开发人员使用的伪分布式或单NN节点搭建方式,第二类是用来商用化并解决NN单点故障的HA搭建方式,第三类就是这里要说的联邦模式,它本身也是一种供给商用的模式,但是它的应用在国内不多,它是用来解决HA单ActionNN压力问题的,在技术顶设上,一个Hadoop集群内部同一时间只允许存在一个生效的NN,但是当你的数据量非常庞大,庞大到你的DataN

大数据技术之_07_Hadoop学习_HDFS_HA(高可用)_HA概述+HDFS-HA工作机制+HDFS-HA集群配置+YARN-HA配置+HDFS Federation(联邦) 架构设计

大数据技术之_07_Hadoop学习_HDFS_HA(高可用) 第8章 HDFS HA 高可用8.1 HA概述8.2 HDFS-HA工作机制8.2.1 HDFS-HA工作要点8.2.2 HDFS-HA手动故障转移工作机制8.2.3 HDFS-HA自动故障转移工作机制 8.3 HDFS-HA集群配置8.3.1 环境准备8.3.2 规划集群8.3.3 配置Zookeeper集群8.3.4 配置H

FL论文专栏|设备异构、异步联邦

论文:Asynchronous Federated Optimization(12th Annual Workshop on Optimization for Machine Learning) 链接 实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳,Client跑完之后上传将时间戳和Model同时带回来,Server收到某个Client的上传数据后马上更新,更

重磅资源!PyTorch的福音,用PyTorch 1.0进行教学的免费深度学习课程,来自idiap和瑞士洛桑联邦理工学院...

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 编译:ronghuaiyang 前戏 好东西就是要拿来分享的,今天给大家介绍一个非常好的免费深度学习的课程,该课程是由idiap研究所和瑞士洛桑联邦理工学院联合推出的,该课程的最大特点是使用PyTorch 1.0进行教学,也是目前为止我所看到的唯一使用PyTorch 1.0进行教学的,刚刚出炉还热乎的哦!该课程还提供了全套的PPT和课

如何配置Hadoop2.0HDFS的HA以及联邦使用QJM

配置过程详述       大家从官网下载的apache hadoop2.2.0的代码是32位操作系统下编译的,不能使用64位的jdk。我下面部署的hadoop代码是自己的64位机器上重新编译过的。服务器都是64位的,本配置尽量模拟真实环境。大家可以以32位的操作系统做练习,这是没关系的。关于基本环境的详细配置,大家可以观看我的视频,或者浏览吴超沉思录的相关文章。     在这里我们选

联邦学习论文阅读:2018 Federated learning with non-IID data

介绍 这是一篇2018年挂在arXiv上的文章,是一篇针对FL中数据Non-IID的工作。 作者发现,对于高度Non-IID的数据集,FedAvg的准确性下降了55%。 作者提出了可以用权重散度(weight divergence)来解释这种性能下降,这个权重散度用各client上的数据类别分布与总体分布之间的EMD(earth mover’s distance)来量化。 关于什么是EMD,