首页 > 其他分享 >8.2 后记

8.2 后记

时间:2023-08-02 18:45:34浏览次数:42  
标签:le 复杂度 汇点 8.2 即可 后记 中点 operatorname

T1

简单的最短路

到终点时不用等红灯,不然会挂40pt

T2

记 \(f(i,j)\) 表示跳到 \((i,j)\) 最少使用的体力。 那么转移就是枚举上一个位置然后加上曼哈顿距离求最小值。

考虑优化,我们注意到如果转移都在左上的话坐标正负的贡献是固定的, 所以可以使用数据结构维护。先按照一维扫描线,另一维可以使用线段树或者树状数组维护前缀/后缀最小值。

对于四个象限分别计算一次即可。

时间复杂度 \(O(n^2 \log n)\)

T3

树上莫队

这是欧拉序

img

代码:

img

出栈的 \(u\) 和入栈的 \(v\) 中间去除重复两次的点加上 \(\operatorname{lca} (u,v)\) 就是 \(u\) 到 \(v\) 路径上节点集合(\(u,v\) 无祖先关系)

img

就变成了序列上莫队

已经出现过 \(v\) :\(\operatorname{add} \rightarrow \operatorname{remove}\)

img

T4

首先我们注意到任意两个秘密据点的路径中点是重要的,为了让这个中点不出现在边上一个常见的技巧就是在每条边上新建一个点。

然后我们先考虑在扩建了树之后每个 \(M\) 值的改变,原先树上的点 \(M\) 值会变成两倍。 考虑原图中的边 \((u,v)\) 中间新建的点 \(x\) 那么首先必须有 \(|M_u-M_v|\le 2\) 如果 \(|M_u-M_v|=2\) 那么 \(M_x=(M_u+M_v)/2\). 如果 \(M_u=M_v\) 这时候这条边中点 \(x\) 一定是某两个秘密据点的中点,也就是说这种边最多只有3个。这些 \(M_x=M_u \pm 1\), 可以直接暴力枚举。

接着我们考虑 \(u_1,u_2,u_3\) 的位置关系,它们三个点一定有一个中心 \(u\), 不妨记 \(D_i=d(u,u_i)\), 并且假设 \(D_1\le D_2\le D_3\).

我们按照 \(M\) 值从大到小给边定向, 如果一个点没有出度则称为汇点。 通过观察: 当 \(D_1<D_2\le D_3\) 的时候有且只有两个汇点。 当 \(D_1=D_2\le D_3\) 的时候有且只有一个汇点。计算出汇点的个数分类讨论。

一个汇点的情况: 此时汇点一定是三个点的中心, 设汇点为 \(r\), 且 \(D_1=D_2=M_r,D_3>M_r\) 我们只需要通过简单的背包的\(dp\) 计数即可。

两个汇点的情况: 设两个汇点为 \(r_1,r_2\). 我们会发现 \(u_1,u_2,u_3\) 的点到 \(r_1,r_2\) 的距离已经全部确定了,只要分别独立的满足这些距离, 将方案数相乘即可,两次 dfs 即可。

最终时间复杂度 \(O(n)\)

CF1654E

img

KD-Tree

img

P5471

img

标签:le,复杂度,汇点,8.2,即可,后记,中点,operatorname
From: https://www.cnblogs.com/badnuker/p/17601485.html

相关文章

  • 8.2
    前几天因为家里有事导致任务未能按时完成,索性今天将kali虚拟机安装完成,重看了一遍学长的文档发现系统需要使用Python语言决定先掌握Python后再考虑下一步编写代码,之前国赛搭的环境有些许问题所以今天全部删除重新思考一下怎么安装。同时打算将《网络是怎样连接的》这本书的阅读穿......
  • 8.2 day9图论+dp
    100+70+70+20=260感觉如果时间够感觉还能写一下,结果T3超大数据结构写死了T1观察到最短路径仍然最优,直接dij即可,注意判断终点不用等红灯T2暴力是\(O(n^4)\)的,是dp,但是我写的是分层图,同样时间,还没有优化空间,寄设计\(dp_{i,j}\)为跳到\((i,j)\)所需最小花费每次从所有点转移,算......
  • 8.1 后记
    T1简单题,全排后中缀转后缀T2优化1:从\((n,m)\)点开搜优化2:背包预处理能拼出哪些数T3但这是在讲自动机正解:T4正解(点击图片):CF912E一句话题解:meetinthemiddle+二分CF478E分成左边6位,右边7位右边维护\(\modn\)首位首位与二位大小关系左边暴力爬山算法......
  • NOI2023 后记
    Day1被找规律随机区分\(35\)分。Day2以我现有的水平已经无力回天了,d2T3却还挂了\(35\)分。连队线的边都没碰到,只混到了\(100\)多名的Ag。我不愿回忆这场考试的任何细节,知道寄了就行了。分数是从低往高排的。nfls的众人中,我是第一个上去的。为什么在公布Ag名单时,......
  • 7.31 后记
    T1被坑了,是树的直径T2bitset邪教二维能开\(5e4\)没想到吧T3T4CF1187EP4438LOJ160......
  • 7.30 后记
    T1倒着推T2记每个字母上次出现位置\(f_i\),对应的\(f_i\)都相等时字符串等价,跑kmpT3质因数分解,前缀和维护指数,记hash线性筛预处理每个数最小质因子,做质因数分解T4奇技淫巧奇思妙想将串的权值转化为如上式子,可以发现如果两个串都在\(A\)集合时贡献为\(+lcp\),都在......
  • 7.29 后记
    T1简单题,筛的时候记点东西T2筛完预处理下每个数最大质因数,然后暴力找路径就行T3分段打表可过,每段长\(2\times10^5\)差不多就过了正解:考虑贡献,每个因数\(i\)出现了\(\frac{n}{i}\)次T4下午......
  • Linux+MCSM9+Docker 搭建我的世界mohist1.18.2版服务器,MC开服教程
    Debian系统使用MCSManager9面板和Docker容器搭建MinecraftJava版私服的教程,本教程用的mohist1.18.2服务端,用其他服务端的也可以参考一下。mohist支持MOD和插件。视频教程:https://www.bilibili.com/video/BV1DF411N7Dv/Linux+MCSM9+Docker搭建我的世界Java版服务器,MC开服教程其他......
  • 7.28 后记
    T1异或和塞到状态里就不用管路径相交了式子:\[f_{i,j,k\operatorname{xor}G_{i,j},0}=f_{i-1,j,k,0}+f_{i,j-1,k,0}\]\[f_{i,j,k\operatorname{xor}G_{i,j},1}=f_{i-1,j,k,1}+f_{i,j-1,k,1}\]\[f_{i,j,k,1}=f_{i-1,j,k,0}+f_{i,j-1,k,0}\]T2朋友能到达\(k\)的人一定都......
  • 鹏业安装算量软件V8.2.0.150版本升级说明
    1.新增楼层表功能分区属性、模型属性中可以设置对应的楼层信息2.计算项明细增加安装高度计算明细增加安装高度,对应的计算图元默认取计算项安装高度3.电气专业新增设备表功能设备表可以对设备安装高度和立管根数快速修改4.电气系统表增加敷设高度对配电箱和回路预先设置安装高度5.电......