1.Teleporters(Hard Version)
1. 题意:
有 n+2 个位置:0~n+1,给定n个数
- 向左/右移动一格,代价为 1。
- 传送回 0 位置或者 n+1 位置,记你当前的位置为 i,则代价为
。每个位置只能发动一次传送。
求最大传送次数
2. 思路:
因为每次传送都会回到0/n+1号点,所以,到达i点并传送的代价为 min{i,n+1-i}+
按照代价升序排序,从小到大取。
此时发现,第一次传送时,只能从0出发,会导致错误。
枚举第一个点为
二分答案
判断即可
3. 时间复杂度
排序:
枚举&二分
2.给树染色
1. 题意:
一颗树有
每次染色的代价为
求把这棵树染色的最小总代价。
2. 思路:
将点权最大的点不断与其父节点合并,合并后新点点权为
证明合并后新点点权为
设有两个已合并点级
- 交换前,染色代价为:
- 交换后,染色代价为:
差为
大于零
故合并后点权为
3. 时间复杂度
set维护
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】