AGC001C Shorten Diameter

Diameter协议的全面解析与应用 Diameter协议是网络认证、授权和计费(AAA)解决方案的核心标准,它是RADIUS协议的继任者,并且在许多方面进行了改进,以满足现代网络通信的复杂需求。在本章中,我们将定义Diameter协议,并探讨它在网络环境中所扮演的关键角色。RADIUS(Remote Authentication Dial-In User Service)是为了解决远程用户访问互联网时的认证和计费问题而开发的一种协议。 阅读详情

传送门

题意:
给出一个N个点的树,要求删去最少的点使树的直径不超过K。
树的直径定义为一棵树中最远两点间的距离。

题解:
K为偶数时,我们很容易发现:随便选一个点,这棵树满足条件的点到那个点的距离不会超过 k 2 \dfrac {k}{2} 2k​。因为如果有满足条件的点到那个点的距离超过 k 2 \dfrac {k}{2} 2k​,那么我们把选中的点移动一下,还是满足上述性质。

K为奇数时我确实走了一些弯路,一开始只是以为上述情况下如果可以再往下扩展一个点就扩展,结果半天没调过QAQ。其实我们可以让一条边当作上述的点,所以距离不会超过 k − 1 2 \dfrac {k-1}{2} 2k−1​。

然后就可以枚举点或边,然后跑dfs,求解。

#include<cstdio>
#define maxn 2005
#define min(a,b) ((a)<(b)?(a):(b))
struct node { int v; node *nxt; } edge[maxn*2],*head[maxn],*ncnt;
int n,k,dist[maxn],deg[maxn],d1,d2,ans;
void addedge(int u,int v)
{
	ncnt++;
	ncnt->v=v,ncnt->nxt=head[u];
	head[u]=ncnt;
}
void dfs(int u,int fa,int d)
{
	dist[u]=d;
	for(node *p=head[u];p;p=p->nxt)
	{
		int v=p->v;
		if(v==fa) continue;
		dfs(v,u,d+1);
	}
}
int main()
{
	ncnt=&edge[0];
	scanf("%d%d",&n,&k);
	ans=n;
	for(int i=1;i<n;i++)
	{
		int u,v;
		scanf("%d%d",&u,&v);
		addedge(u,v); addedge(v,u);
		deg[u]++,deg[v]++;
	}
	if(k%2)
		for(int i=1;i<=n;i++)
			for(node *p=head[i];p;p=p->nxt)
			{
				if(p->v<i) continue;
				dfs(i,p->v,0); dfs(p->v,i,0);
				int cnt=0,tmp=k/2;
				for(int j=1;j<=n;j++)
					if(dist[j]>tmp) cnt++;
				ans=min(ans,cnt);
			}
	else
		for(int i=1;i<=n;i++)
		{
			dfs(i,0,0);
			int cnt=0,tmp=k/2;
			for(int j=1;j<=n;j++)
				if(dist[j]>tmp) cnt++;
			ans=min(ans,cnt);
		}
	printf("%d\n",ans);
}
unity中简单全景搭建 全景场景能够直观的展现一部分区域的全貌,在全景场景中我们能360°观看周围的景象,仿佛自身就在这个场景中,在场景的外部,我们能发现场景就是一个密封的球体,我们是处在球体的内部观察周围,在球内部观察四周看到的都是球的内表面,所以我们看到的全景其实就是贴在密封球体内的一张全景图片。接下来要介绍的就是如何在unity中用一个球体来搭建全景场景。 阅读详情

相关推荐

AI编程助手Cursor如何革新经济学研究:从计量模型到可视化全流程实战

在数据科学和人工智能技术蓬勃发展的今天,如何高效地将前沿AI工具融入专业领域的研究工作流,成为提升科研效率的关键。其核心原理在于通过自然语言交互,将研究者的专业问题转化为机器可执行的指令,从而实现人机协作的范式转移。这一技术的核心价值在于大幅降低非计算机背景研究者的编程门槛,将精力从繁琐的代码实现中解放出来,更聚焦于学科本身的思想与逻辑。尤其在经济学、金融学等高度依赖数据分析和计量建模的领域,AI编程助手能够快速处理数据清洗、模型估计、可视化及结果解释等任务。具体到应用场景,研究者可以利用结构化提示词工程,

weixin_42531579的博客 296

AGC001 C Shorten Diameter

题意 给出一棵树,你可以删掉一些点,保证剩下的仍是棵树。然后询问使这棵树直径小于等于K最少要删掉多少点 题解 由于N&amp;lt;=2000,所以我们大体上可以往O(N2)O(N^2)O(N2)的角度上想 考虑K的奇偶性 若K为偶数,我们可以枚举每一个点作为新树的重心,那么深度大于k/2的就是要被删的 若K为奇数,我们可以枚举每一条边作为直径的中间那条边,然后分别以两个端点为根找深度,深度大于k/2的就...

LazyCrazyCat的博客 441

告别GitHub!手把手教你用Gitblit在Windows 10上搭建私人局域网Git服务器(附SourceTree配置)

本文详细介绍了如何在Windows 10环境下使用Gitblit搭建私有Git服务器,实现局域网内高效代码协作。通过轻量级的Gitblit解决方案,开发者可以享受数据完全自主、离线可用性和局域网高速访问等优势。文章包含从环境准备、安装部署到SourceTree配置的全流程指南,特别适合金融、医疗等敏感行业团队使用。

weixin_30430169的博客 280

agc001_c Shorten Diameter

https://atcoder.jp/contests/agc001/tasks/agc001_c 很经典的模型了,感觉今年打的训练赛都见过两次。。。果然AGC的题目都挺经典的 要让整棵树直径<=k,然后又要删掉的点最少,那么就是枚举直径的中心,让直径<=k且点最多 发现n=2000,可以n^2做,那么就枚举每个点为直径中心,然后规定长度小于k/2,看最多能有多少点 然后以每条边为直径中心,从这条边两个点向外跑(k-1)/2,看最多有多少点 #include<bits/stdc

binarycopycode 238

ansys命令流力磁耦合仿真

文章目录前言一、力磁耦合仿真流程二、静力学仿真三、力磁耦合模型构建四、静磁学仿真总结 前言 一、力磁耦合仿真流程 力磁耦合有限元仿真流程中,首先进行静力学仿真,经过前处理模块、分析计算模块和后处理模块提取三维模型单元应力,然后根据力磁耦合方程中,通过matlab将单元应力导入到磁导率与应力的关系式中,得到单元的相对磁导率。最后采用载荷传递耦合方式,进行静磁学模拟仿真,分析计算得到该载荷下试件的磁场分布。,如下图所示为力磁耦合仿真流程图: 二、静力学仿真 下图为中心预制条形缺陷的Q235钢板试..

wsfwsf128的博客 2660

YOLOv8中间特征层可视化

在通过观察这些特征,可以清楚地看到模型如何逐步将输入图像转化为有意义的表示。

weixin_45314480的博客 6888

2019.01.19【AGC001】C - Shorten Diameter(枚举)

传送门 解析: 刚才逛某位大佬的博客时候看到的题,就想着做一做。 然而。。。这TM算什么啊,直径?直径端点?删点维护动态直径? 所以还枚举个**的端点啊,我们可以枚举直径中点啊。 然后O(n)O(n)O(n)来一个DFSDFSDFS把所有距离中心超过k/2k/2k/2的点全部删掉就行了啊。 这个。。。这的只能算水题啊。。。 代码: #include&lt;bits/stdc++.h&gt; u...

zxyoi_dreamer的博客(不定期诈尸) 283

抖音视频数据获取实战:从API调用到热门内容挖掘

通过抖音API获取视频数据,企业可快速构建数据驱动的运营体系。本文提供了从权限申请到商业落地的全流程指南,建议结合自身业务扩展功能。如有技术问题,欢迎​​评论​​区留言讨论!#抖音开发 #数据挖掘 #短视频运营 #API调用 #Python实战。

WBKJ_Noah_的博客 6385

Diameter协议

Diameter 是一种用于认证、授权和计费 (Authentication, Authorization, and Accounting,AAA) 的协议,它主要应用于电信网络和互联网服务的管理,特别是 3G、4G、5G 网络中的用户管理和计费系统。Diameter 是RADIUS 的替代协议,具有更强的扩展性和灵活性。以下是对 Diameter 及其使用场景的详细介绍,包括其原理、命令、消息结构和具体示例。Diameter 协议提供了以下三种核心功能:Diameter 协议基于请求-响应模式,客户端发出

pumpkin84514的博客 4010

目标检测YOLO实战应用案例100讲-基于激光雷达点云的三维目标检测算法研究

近几年来,在计算机视觉领域,利用深度学习卷积神经网络技术来实现各种任务的算法越来越多。毫米波雷达、相机、激光雷达、超声波雷达等车载传感器生产成本的降低,汽车的自动驾驶技术得到了飞速发展,在我们的日常生活中经常能看到该技术辅助汽车驾驶员进行行车。和非自动驾驶汽车相比,自动驾驶汽车存在诸多优点,如进一步减少交通事故,保障人身安全;提供安全合理的路线,避免交通拥堵;采用清洁无污染的电能作为汽车新能源,从而降低大气污染等。现如今,自动驾驶技术已经逐渐深入到各个领域并发挥着关键的作用。

qq_36130719的博客 3730

工业预测性维护实战:振动分析+Transformer预警系统构建指南

摘要:本文聚焦工业设备预测性维护难题,提出基于振动分析与Transformer模型的全栈解决方案。通过低成本硬件选型(单传感器¥380)实现设备振动信号实时采集,利用边缘计算单元完成特征工程(RMS、峰度、峰值频率提取),并在云端部署Transformer时序模型进行异常预警。某风电龙头企业实践显示,系统将故障误报率从38%降至6%,维护成本降低58%,非计划停机时长减少87%。文中提供完整的边缘端特征提取代码、云端模型架构及实施流程,适配ISO 13373振动分析标准,为制造业设备健康管理提供可复用的工程

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 625

AGC 001 C - Shorten Diameter

题意 给你一棵树 要你删掉最少的点,使得剩下的直径不超过kkk 题解 感觉被官方题解打爆了啊 成为弱智选手 先说官方题解 不妨枚举直径的中点,那么dfs一下,删掉所有深度大于k/2的就可以了 如果k是奇数,那么重点就在边上,枚举边即可 但是不知道为什么没有想到这个做法,居然没有去想枚举中点 考虑DP fi,jf_{i,j}fi,j​表示i这个子树里面,最长链为jjj的最优答案 似乎直接转移就可以了...

OZY的博客 426

《SAP FICO系统配置从入门到精通共40篇》030、集成配置:FI与生产计划(PP)的自动科目确定

FI和PP的自动科目确定,本质上是把生产业务翻译成会计语言。翻译规则就藏在那些配置表里。配的时候多想一步:这个业务动作,在财务眼里是什么?是材料消耗?是产出入库?还是工费分摊?想清楚这个,再看配置界面,那些代码就不是天书了。最好的测试方式,是月底关账前,让生产部门跑一遍所有类型的生产订单。配置对不对,业务最知道。

985大学毕业,前某大厂员工,啥都会点的程序员! 573

【Atcoder - AGC001C】Shorten Diameter

@Shorten Diameter@@Problem Statement@@Translation@@Solution@@Code@@END@ @Problem Statement@ Given an undirected tree, let the distance between vertices u and v be the number of edges on the simple pa...

Tiw的博客小家~ 449

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

AT1981 [AGC001C] Shorten Diameter

删除最少的节点使得直径不大于K,性质探究,dfs遍历

Ajwallet 355

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

AGC001 C - Shorten Diameter【枚举】

一开始没看到要保证最后是树……所以一定要从叶子开始删 枚举重心,如果k是偶数,那么按当前重心提起来deep大于k/2的全都要切掉,这样枚举重心然后取min即可 奇数的话就是枚举直径中间的边,然后从两边的点分别dfs删点 #include<iostream> #include<cstdio> using namespace std; const int N=5005; int...

weixin_30827565的博客 165

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

AGC001C - Shorten Diameter 题解

题目链接 题意 给出一个 nnn 个节点的树,每次操作可以删除一个叶子节点 问最少需要进行多少次操作,才能让剩下的树满足直径不超过 kkk 考虑对答案求补集,也就是考虑留下哪些节点。 对于一棵树的直径中点,满足所有点到中点的距离不超过直径的一半。注意当直径长度为奇数时,直径中点为一条边 那么,我们可以枚举每一个点(边)作为直径中点时,直径不超过 kkk 的树的最大节点数 时间复杂度 O(n2)\mathcal O(n^2)O(n2) #include<cstdio> #include<i

Brian_Pan_的博客 426

AGC001 C - Shorten Diameter

AGC的题目果然都牛逼啊 像我这种智力不够的人完全做不动啊 这题考虑K是奇偶不同的情况 K为偶数枚举每一个点作为直径的中点(中心) K为奇数,枚举每条边作为直径中间边 然后往下K/2层,>K/2层的都扔掉即可 因为中心到直径两端相同,所以必须<=K/2 代码如下: #include<bits/stdc++.h> #define N 500005 us...

weixin_30244889的博客 183

AGC001 C Shorten Diameter 树的直径

题目链接 题意: 给你一颗无向树,使定点u和v之间的距离是从u到v的简单路径上的边数。你需要删除一些点,使树的直径小于等于k,当且仅当删除某点不会对树的联通性产生影响时才可以删除。问至少删除多少点才可以满足要求。n&amp;lt;=2000 题解: 怎么说呢,这道题我yy了好几种奇怪的思路,但是可能不对,看了题解之后和题解不一样,就没试。 由于n&amp;lt;=2000,所以我们会想到可能需要一种n2n^2n2...

forever_shi的博客 503

AGC001 C - Shorten Diameter(枚举+dfs)

题意: 给定一棵n个顶点的树, 现在要删除一些点,使得数的直径<=k, 能删除点x的条件是去掉点x不会对树的连通性造成影响。 问最少删除多少个点可以满足要求。 数据范围:n<=2e3,k<=n-1 解法: 首先发现n<=2e3,应该是O(n^2)的算法 显然可以将问题变为最多可以保留多少个点. 考虑枚举直径的中点: 1.当k是偶数的时候,直径存在中点,那么枚举中点x,那么到点x的距离<=k/2的可以保留. 2.当k是奇数的时候,不存在中点,但是次数存在中间的边,那么枚举中间

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 513

AT1981-[AGC001C]Shorten Diameter

正题 题目链接:https://www.luogu.com.cn/problem/AT1981 题目大意 给出nnn个点的一棵树,每次你可以删除一个叶子,求最少的操作数使得树的直径长度不超过kkk。 1≤n,k≤20001\leq n,k\leq 20001≤n,k≤2000 解题思路 开始以为是dpdpdp啥的,发现想多了。 可以考虑枚举树的直径中点(k是奇数就枚举边),此时肯定所有点距离中点距离不会超过k2\frac{k}{2}2k​,然后把超过的删去就好了。 时间复杂度:O(n2)O(n^2)O(

QuantAsk 353

AtCoder Grand Contest 001 C Shorten Diameter

题意:给你一棵树,问最少删多少节点使得树中最远的两点距离为k(删完点后要保持树的连通性);根据题意,就是每次都删叶子结点,我们可以枚举k长的树的中点,对于k为偶数,枚举中点,对于奇数,枚举中间边的中点;求最小;#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; #include &lt;algor...

OJBFOWE的博客 643

【AGC 001】Shorten Diameter

题目描述 给你一棵 n(2≤n≤2000)n(2\le n\le 2000)n(2≤n≤2000) 个节点的树,求最少删去多少个节点使得图仍然连通且直径程度不超过 k(1≤k≤n−1)k(1\le k\le n-1)k(1≤k≤n−1)。 算法分析 肯定是从叶子节点开始删,数据范围较小,由于任意一条直径一定有其中间位置,可以暴力枚举以每个节点为根,删去所有深度大于 k2\frac{k}{2}2k​...

TungstenC 299

diameter协议栈_Diameter协议摘要

---------选择同学整理文档1. 协议概述Diameter协议主要为应用程序提供认证、鉴权、计费框架,即AAA,并支持本地AAA和漫游场景下的AAA。1.1. 特点介绍以前的AAA协议如RADIUS、TACACS主要是针对PPP服务和终端服务而设计的。随着网络技术的发展,新的接入方式如无线接入、DSL接入、移动IP陆续出现,以太网也不断发展,AAA中的网络访问服务器(NAS)自身也逐渐...

weixin_33746833的博客 3697
上一篇: AGC001B Mysterious Light
下一篇: AGC001E BBQ Hard
dogeding
博客等级 码龄10年 31粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值