摘要:
这是一种 \(O(n \log n)\) 预处理,\(O(1)\) 预处理的神奇求 LCA 科技 实际效率上和树链剖分差不多,但主要胜在代码短一点,查询快一些 那具体是怎么个事呢? 考虑对于下面这张图 显然,lca 节点的 DFN 序 是(这个子树)最小的 然后往下遍历到 \(u\) ,回到 lca 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
一般大家实现离散化都是 sort + lower_bound 但是这里也许有一种时间复杂度更优一点且更好写的实现,适合卡常时使用 我们需要使用 pb_ds 的hash表 ,不会的可以看我的 这篇文章 与正常离散化不同的是,我们使用 gp_hash_table 来代替离散化,同时还可以省去 去重 的步 阅读全文
该文被密码保护。 阅读全文
摘要:
提到随机化,我们就不能不提大名鼎鼎的爬山算法和模拟退火了 爬山算法 什么是爬山算法? 考虑我们将每种状态所对应的结果视作一个函数 可以得到一个函数图像 对于当前的一个状态,我们每次随机一个临近的状态,看是否更优,如果更优就跳过去,否则原地不动 同时,我们有一个温度参数,这个温度会不断降低,而每次随机 阅读全文