【JZOJ 5887】【NOIP2018模拟9.27】作业

opencv 常用函数总结 本文是一份OpenCV图像处理的常用函数总结,详细介绍了图像的读入、显示、保存、像素处理、图像属性获取、基础操作、阈值处理、图像平滑、形态学转换以及直方图处理等关键技术。文章通过代码示例和参数说明,帮助读者快速掌握OpenCV在图像处理领域的应用。 阅读详情

Description

小L在完成他的集合论作业时遇到了这样一题:一颗n个节点的树,定义F(u,d)为到u距离不超过d的点组成的集合,求不同的F(u,d)的数量。

Solution

先抛出结论:Ans=∑min(fx+2,gx)Ans=\sum min(f_x+2,g_x)Ans=∑min(fx​+2,gx​)
fxf_xfx​表示当然点子树中,距离最远的点的距离(经过边数)
gxg_xgx​表示当前点往它父亲走,除去当前子树,距离最远的点的距离(经过边数)

证明:
我们当前的统计规则是:对于同一种情况,我们在深度小的地方统计;
显然有结论:

  • 结论1:对于点x,确认d,如果每一条出边所在的子树都没有覆盖满,那么这种情况一定是独一无二的;
  • 结论2:在上述规则下,每个点d的取值一定包括0的连续一段数,也就是说,只要求出了每个点d的上界即可;

我们考虑怎么求上界,
每个点d的取值必须满足以下限制:

  1. 不能把它父亲所在的子树填满;
  2. 当子树填满时,不能往上走超过fx+2f_x+2fx​+2条边;

限制1显然,把父亲填满了肯定会重复,
限制2可以这么理解:当前点x的父亲为y,当y的d=fx+1d=f_x+1d=fx​+1时,子树x会被填满,其他子树与y距离小于等于fx+1f_x+1fx​+1的点会被选中,
当x的d=fx+2d=f_x+2d=fx​+2时,子树x也会被填满,同时往上走到y,同样的,y其他子树与y距离小于等于fx+1f_x+1fx​+1的点也会被选中,
所以这两种情况是等价的,

现在你求出来的每个点必须严格小于一个值设为D,那么d的取值为0~(D-1),
所以直接把D相加即可

复杂度:O(n)O(n)O(n)

Code

#include <cstdio>
#include <algorithm>
#define fo(i,a,b) for(int i=a;i<=b;++i)
#define fod(i,a,b) for(int i=a;i>=b;--i)
#define efo(i,q) for(int i=A[q];i;i=B[i][0])
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
using namespace std;
typedef long long LL;
const int N=200500;
int read(int &n)
{
	char ch=' ';int q=0,w=1;
	for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
	if(ch=='-')w=-1,ch=getchar();
	for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m,n;
LL ans;
int a[N];
int B[2*N][2],A[N],B0;
int dp[N];
void link(int q,int w)
{
	B[++B0][0]=A[q],A[q]=B0,B[B0][1]=w;
	B[++B0][0]=A[w],A[w]=B0,B[B0][1]=q;
}
void dfsf(int q,int fa)
{
	dp[q]=0;
	efo(i,q)if(B[i][1]!=fa)dfsf(B[i][1],q),dp[q]=max(dp[q],dp[B[i][1]]+1);
}
void dfs(int q,int fa,int e1)
{
	int mx=0,mx1=0,mx0=-1;
	efo(i,q)if(B[i][1]!=fa)
	{
		if(dp[B[i][1]]+1>=mx)
		{
			mx1=mx,mx=dp[B[i][1]]+1,mx0=B[i][1];
		}
		else mx1=max(mx1,dp[B[i][1]]+1);
	}
	if(fa)ans+=(LL)min(e1,dp[q]+2);
	else ans+=dp[q]+1;
	efo(i,q)if(B[i][1]!=fa)dfs(B[i][1],q,max(e1+1,(mx0==B[i][1]?mx1:mx)+1));
}
int main()
{
	freopen("homework.in","r",stdin);
	freopen("homework.out","w",stdout);
	int q,w,_;
	read(_);
	fo(I_,1,_)
	{
		read(n);
		fo(i,1,n-1)read(q),read(w),link(q,w);
		ans=0;
		dfsf(1,0);
		dfs(1,0,0);

		printf("%lld\n",ans);
		B0=0;
		fo(i,1,n)A[i]=0;
	}
	return 0;
}
Vertx之Grpc消息发送 介绍 Vert.x gRPC 模块,它将 Google gRPC 的编程风格与 Vert.x 风格保持一致. gRPC 是一个高性能、开源、通用的RPC框架,是一种进程间通讯技术,由Google推出,基于HTTP2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务,并且为客户端和服务端自动生成可靠的功能库。 在gRPC客户端可以直接调用不同服务器上的远程程序,使用姿势看起来就像调用本地程序一样,轻松的实现远端服务的连接、 阅读详情

相关推荐

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1682

jzoj 5887【NOIP2018模拟9.27】作业

不熟悉,有待填坑 转载于:https://www.cnblogs.com/rilisoft/p/11140569.html

weixin_30275415的博客 217

从Google到LLVM:5种主流clang-format预设风格横向对比(含代码对比图)

本文横向对比了LLVM、Google、Chromium、Mozilla和WebKit五种主流的clang-format预设代码风格。通过同一段C++代码的格式化效果对比图,直观展示了它们在指针对齐、大括号换行、缩进等关键细节上的差异,并提供了基于团队背景与项目基因的选型决策指南。

weixin_28828243的博客 444

IDEA里properties文件总显示\uXXXX?手把手教你设置UTF-8编码和Transparent选项

本文将深入剖析这一问题的根源,并提供一套完整的解决方案,让你从此告别Unicode转义序列的困扰。在实际项目中,我发现最可靠的做法是在项目初始化时就统一配置好所有编码设置,并把这些配置纳入团队onboarding流程。:这种现象不是乱码,而是IDEA对.properties文件的一种保护机制,确保文件内容在不同环境下都能正确解析。提示:这三个设置项之间存在优先级关系,properties文件专用设置的优先级最高。这种层级设计允许开发者为不同类型的文件设置不同的编码策略,提供了极大的灵活性。

weixin_33688840的博客 440

FastAPI + Layui:打造企业级敏捷开发后台管理系统

本文详细介绍了如何使用FastAPI和Layui构建高效的企业级后台管理系统。FastAPI提供高性能的异步API支持,而Layui则简化了前端开发流程,两者结合可实现快速开发和部署。文章涵盖了从环境搭建、核心组件开发到性能优化的全流程,特别适合需要敏捷开发的企业项目。

weixin_29045585的博客 555

等离子体密度诊断集

在实验上不仅要对带电粒子的分布和运动状态进行诊断,如电子温度、电子密度、电离温度等参数,还需要对等离子体中的中性粒子进行必要的实验测量,来获得有关物种的产生、能量分布以及各个激发态布居数分布等信息,如气体温度、转动温度、振动温度、激发温度等参数。

in546的博客 1352

NOIP模拟9.27

2013提高D1 A.转圈游戏(快速幂)AC B.火柴人排队(树状数组求逆序对)AC C.货车运输(贪心+并查集+树上倍增)AC

Icefox的博客 426

告别零散脚本:用Playwright+Pytest+Yaml+Allure搭建可维护的UI自动化项目

UI自动化测试是软件质量保障的关键环节,其核心在于模拟用户操作,对Web应用界面进行功能验证。传统的脚本堆砌方式常因代码耦合度高、维护成本大而难以为继。工程化解决方案通过分离关注点,将测试逻辑、数据和配置解耦,从而显著提升项目的可读性、可维护性和可扩展性。其技术价值在于构建可持续运行的自动化资产,而非一次性脚本。典型的应用场景包括Web应用的回归测试、兼容性测试及CI/CD流水线中的质量门禁。本文以Playwright、Pytest、Yaml和Allure为核心技术栈,详细阐述了如何从项目架构、页面对象模型

weixin_42529328的博客 299

codeforces 337D D. Book of Evil(树形dp)

题目链接:codeforces 337D题目大意:给出一棵树,给出感染物的感染范围,给出一些已经确定被感染的点,问感染物可能放置的点的个数。题目分析: 定义状态dp[i]代表某个点到达离它最远的确定的感染点的距离。 然后我们首先dfs一遍,求得以1为根的树,每个点到子树中的感染点的最大距离,然后再dfs一遍,求得dp[i]所要求的值,利用一个dd[i]数组表示第i点的父亲,除了自己及以自己为根的子树

llin-黎辰 2097

(一)PyBullet机器人仿真入门:从环境搭建到实例解析

本文详细介绍了PyBullet机器人仿真平台从零开始的完整入门指南。内容涵盖环境搭建、官方示例解析、核心操作(连接、世界与模型)、关节控制与状态读取,以及碰撞检测、传感器模拟等高级功能,帮助读者快速掌握这一强大的机器人仿真工具。

weixin_29062865的博客 1382

SAP CO-PA获利分析避坑指南:从数据采集到报表设计的5个关键步骤

本文深入解析了SAP CO-PA获利分析模块从数据采集到报表设计的完整流程。文章重点剖析了数据源头、特征派生、获利段设计等关键步骤,并对比了基于账户与基于成本核算两种模式的差异,特别强调了在S/4HANA时代的选择与常见陷阱,旨在帮助企业构建可靠、可执行的盈利分析体系。

flink9streamer的博客 827

5883. 【NOIP2018模拟A组9.25】到不了(启发式合并)

题目大意: 维护一个森林,支持连边操作和查询两点 LCA 操作 思路: 启发式合并,每次把小的树连接到大的树上面就好了,暴力重构lca数组,维护个根,就可以快速得出lca了 还可以离线lct,这个我不是很懂…晚上可以问问dalao们 程序: #include&amp;lt;cstdio&amp;gt; #include&amp;lt;iostream&amp;gt; #include&amp;lt;algorithm&amp;gt; #def

学习成神之路 343

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1982

Jzoj5884. 【NOIP2018模拟A组9.25】蒲公英的约定

Description wy 和 wjk 是好朋友。 今天他们在一起聊天,突然聊到了以前一起唱过的《蒲公英的约定》。 “说到蒲公英,我给你讲一个故事吧。” “嗯?” “从前有两朵蒲公英,他们约定一起长大,在 N 天内每一天都长出同样多的种子,可是, 他们不想让其他植物知道他们到底要长出多少种子,于是他们中的哥哥想出了一个办法,最 开始,他会告诉弟弟一个数 P,然后在接下来的若干天里每一天哥哥会告诉...

RainbowCrown_CGH's blog 384

android 蓝牙通讯demo

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Codeforces Round #169 (Div. 2) E. Little Girl and Problem on Trees(给出一棵树,对距离某个点d范围之内的所有点+x,查询某个点的值)

E. Little Girl and Problem on Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output A little girl loves pro

_zidaoziyan的博客 1622

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

5882. 【NOIP2018模拟A组9.25】雪人(线段树)

题目大意: 给定一个长度为 N 的序列,每次操作可以选选择一个数,这个数和它右边的数比大小,如 果这个数比较大,就和右边的数交换,然后和右边的数接着比大小直到某一次它右边的数比 他大或者他右边没有数了。求最小的操作次数使得序列变为升序。 思路: 因为交换是不会改变相对顺序的,所以从左往右找,找到一个数右边有比他大的就要答案加一。 程序: #include&lt;cstdio&gt; #includ...

学习成神之路 367

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

EZOI [NOIP模拟赛][莫比乌斯反演]

求∑a1i1=1\sum_{i_1=1}^{a_1}∑a2i2=1\sum_{i_2=1}^{a_2}......∑anin=1gcd(i1,i2,...,in)gcd(i1,i2,...,in)\sum_{i_n=1}^{a_n}{gcd(i_1,i_2,...,i_n)}^{gcd(i_1,i_2,...,i_n)} (2≤n≤1000, 1≤ai≤10510^5)先来考虑n=2n=2的情

Vectorxj的博客 1169

jzoj 模拟赛总结(2017.07.12)

T1. 蚂蚁: 有N只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的最短时间和最长时间。 例: 竿子长10cm,3只蚂蚁位置为2 6 7,最短需要4秒(左、右、右),最长需要8秒(

生如夏花之绚烂 800

【JZOJ 4694】【HDU 5283】火神的鱼

Description 火神最爱的就是吃鱼了,所以某一天他来到了一个池塘边捕鱼。池塘可以看成一个二维的平面,而他的渔网可以看成一个与坐标轴平行的矩形。 池塘里的鱼不停地在水中游动,可以看成一些点。有的时候会有鱼游进渔网,有的时候也会有鱼游出渔网。所以火神不知道什么时候收网才可以抓住最多的鱼,现在他寻求你的帮助。 他对池塘里的每条鱼都给予了一个标号,分别从1到n标号,n表示池塘里鱼的总数。鱼的游动可

1233

【JZOJ 3053】旅行

Description 给定一个n行m列的字符矩阵,’.’代表空地,’X’代表障碍。移动的规则是:每秒钟以上下左右四个方向之一移动一格,不能进入障碍。计算:在空地中随机选择起点和终点(可以重合,此时最短耗时为0),从起点移动到终点最短耗时的平均值。 每一行每一列至多有1个障碍,并且障碍不在对角线方向相邻。以下矩阵是不合法的: Solution 先计算出两两点的曼哈顿距离,这个可以把x,y

1176

【JZOJ 5241】【GDOI2018模拟8.8】苹果和雪梨

Description作为新开的水果连锁店店员,你需要把总部发给你的苹果和雪梨分组出售,从而获得最 大利润。 总部发给你的水果包括: n 个苹果,质量分别为a1,a2…an n 个雪梨,质量分别为b1,b2…bn。 你卖的是盒装水果,一盒水果包括一个苹果和一个雪梨,苹果的质量乘上雪梨的质量就 是这盒水果的价钱。把苹果雪梨配对分成总共n 盒水果后,你要把价格最高的一盒返还给 水果店总部,

1124

【JZOJ 4788】序列

Solution把题目抽象一下,就变成了求序列中,每个点可以上升4,要使下降的总和最小, 首先,每个点可以上升多次!!! 当一个区间整体上升的时候,影响的就只有开头和结尾,如果要使答案减小,就要符合: ai−1−ai>aj+4−aj+1a_{i-1}-a_i>a_j+4-a_{j+1} 于是我们可以贪心的做,用did_i表示不等式后面的值等于i的位置有多少个, 每次直

1119

【51NOD 1622】【51NOD 算法马拉松19】集合对

Description 定义集合xor操作 A xor B=A∪B-A∩B。 问有多少对(P,Q)满足 P∈A Q∈B 使得 (P xor A)xor(Q xor B)=A xor B其中P Q都是集合。 答案对1e9+7取模。例如:A ={1} ,B={1,2},A xor B = {2},枚举所有情况P Q有2种。Solution我们把两个集合想象成0,1的二进制状态, 首先这两个数值不存在

1083

【JZOJ 4939】平均值

DescriptionSolution首先了,除才逆元的情况下显然是可以合并的, 所以,当一个区间的mexmex值没有变化时,就可以吧mex值相同的r−l+1r-l+1一起结算, 设nxinx_i表示下一个与aia_i相同的数的位置,mximx_i表示mex(l,i)mex(l,i),l为枚举的左端点, 我们先枚举一个l为左端点, 那么现在,我需要吧l往右移一位,那么会对ll~(nxl−1)

1012

【JZOJ 4922】环

Description 小A有一个环,环上有n个正整数。他有特殊的能力,能将环切成k段,每段包含一个或者多个数字。对于一个切分方案,小A将以如下方式计算优美程度: 首先对于每一段,求出他们的数字和。然后对于每段的和,求出他们的最大公约数,即为优美程度。 他想通过合理地使用他的特殊能力,使得切分方案的优美程度最大。Solution设:sum=∑aisum=\sum a_i 很显然,最后的每个答案一

997

【BZOJ 2144】【JZOJ 4701】Throw

Description 抽象题意:有3个点在数轴上移动,每次移动可以把a点绕b转到a’,并且符合a~a’中无它点。 Solution 把3个点的位置用一个3元组来表示,(x,y,z) ,满足x<y<zx<y<z, (x,y,z)每轮的旋转有以下几种情况: 设l=y−x,r−z−yl=y-x,r-z-y 从里到外: (x,y,z)~(x−l,y−l,z)(x-l, y-l, z), (x,

967
上一篇: _debug_log
下一篇: 【JZOJ 5894】【NOIP2018模拟10.5】同余方程
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值