【试题大意】
本题大意为,给出一个带权无向图,每次询问所有[l,r]区间中的编号Mod K=C的所有点,把它们连通需要的生成树的最大边权最小是多少。
【试题分析】
20%的数据是直接枚举最大边,看能否让图连通。最大边权最小这点可以启发我们二分答案;对于每个询问这么做,可以得到40%的分数。对于更大的数据,图中“最大边权最小”这一点有更好的性质:随便求一棵最小生成树,答案肯定在这个生成树上完成。那么在生成树上连边的最大权值最小是多少呢?假设我们需要让A1,A2,...,Ac 这c 个点连通,那么我们可以按任意的顺序,让A1 和A2连通,A2 和A3 连通……然后把连通需要的最大边权当成答案即可。正确性很显然:设最大的边权max 是Ai 和Ai+1 连出来的,那么答案至少为max,不然Ai 和Ai+1 连不通;而max 就够了,因为按A1~Ac 的顺序连通就是一个可行的方案。所以,我们需要在树上求两点间的最大值,这用倍增即可在对数时间完成。直接把每个询问Mod K=C 的点弄出来这么做,大约是60 分。
100 分的做法在此基础上进行一些优化:当K 很大的的时候,暴力肯定问题不大,因为点不会多; K 小的时候呢,我们可以做预处理:例如对于Mod 17,那么我们可以将所有编号分为17 类,分别是Mod17=0、1、2……16。这样,每次询问的点肯定是一类里连续的一段,对每类中相邻的点求出答案,然后用线段树等结构维护一下区间最大值就可以了。如果K 的界取Sqrt(N),整个算法复杂度是O(Nsqrt(N)logN),实际上可以根据实现时常数对K 的界做调整,标程用的是70。
h_小波
- 粉丝: 720
- 资源: 80
最新资源
- 基于JSP学生成绩管理系统软件的开发(源代码+论文)(2024kj).7z
- 基于JSP技术的猎头公司管理软件的设计和实现——内部事务部分(源代码+论文)(2024oi).7z
- 基于JAVA的RSA文件加密软件的设计与实现(源代码+论文)(20248x).7z
- 基于J2EE在分布式环境下的底层结构(外文翻译+文献综述)(2024l8).7z
- 基于jsp网上书店(源代码+论文)(2024fu).7z
- 基于JSP的网上购物系统的设计与实现(源代码+论文)(20240g).7z
- 基于JSP的畅想空间电子商务系统(2024a4).7z
- 基于JSP的毕业设计选题系统的设计与实现(源代码+论文)(20241k).7z
- JSP网上拍卖平台系统设计(源代码+论文)(202484).7z
- jsp网上书店系统(源代码+论文)(20242k).7z
- JSP网上教学资源共享系统(源代码+论文)(2024r7).7z
- JSP科研处管理信息系统(源代码+论文)(20240k).7z
- JSP环境美容服务公司网站(论文+系统+摘要)(2024t9).7z
- jsp研究生党建管理系统pc-毕业设计(2024yz).7z
- JSP速达求职网的设计与实现(源代码+论文)(20249g).7z
- jsp高校学生考勤管理系统设计与实现(源代码+论文)(2024kk).7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈