tg 67
T1
按下列情况先后讨论即可
这样可以尽可能把木棍全部用完,符合贪心策略
如果后面
解方程注意精度
如果
注意代码顺序!
T2
首先可以把
没有什么其他的性质了,直接考虑
考虑每次增量一个左部的点,然后考虑它连出去的两条边,达到的效果就是合并两条路径。
所以我们可以记录路径个数,为了简化计算我们定义路径为有向路径。
设
转移可以分两部,第一步是添加
第二步是任取两条有向路径合并:
时间复杂度
T3
题意等价于"最大值最小"
发现答案有单调性
直接二分答案
考虑转换成是否可以安排
发现还是做不了,考虑进一步转换
存在性找最小值,就是最少安排多少点使得
最后看
直接树形
对于一棵子树,有可能被完全覆盖了,
也有可能遇到一个叶子深度小于
完全覆盖的情况我们记录树根往外延伸的距离。
有叶子没覆盖的情况就记录这个叶子的深度,
这种情况不用记录上个情况的距离,
我们最后是用子树外的点去覆盖它,
这个点从树根延伸出去的距离肯定大于当前的距离。
直接合并子树信息即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具