摘要:
传送门 首先容易证明,得分和切的顺序没有关系 所以直接默认先切左边再切右边就好了 然后显然可以 $dp$ 一开始想的是设 $f[i][j]$ 表示切了 $i$ 次,此次把 $j$ 和 $j+1$ 分开,得到的最大价值 那么显然枚举上一次切的位置 $k$ ,那么 $f[i][j]=f[i-1][k]+ 阅读全文
摘要:
传送门 语文题,要读懂题意... 题目中的双亲节点就是父节点的意思 部门的意思是有边直接相连的子图 求的是 最大的部门节点子集 ,意思是对于所有部门,在所有部门选出一些子集,使得子集并起来后的大小最大,并且并起来的子集中的节点满足对于任意祖先后代节点,祖先的节点值小于等于后代的节点值 题面好像没有保 阅读全文
摘要:
传送门 考虑一个子树里是怎么划分的,维护划分出来的每个集合的最大值,这个可以用一个 $multiset$ 维护 设 $S[x]$ 表示节点 $x$ 的子树中,最优划分 划分出来的每个块的节点最大值 首先叶子节点的集合显然只有它本身 然后考虑子树之间的合并,设两个子树根节点为 $x,y$,因为两个子树 阅读全文
摘要:
传送门 超级钢琴+可持久化$Trie$ 同样设三元组 $(o,l,r)$ 表示左端点为 $o$,右端点 $\in [l,r]$ 的区间的最大异或值,这个东西可以用可持久化 $Trie$ 来维护 一开始把所有 $(i,i,n)$ 扔到堆里,然后每次取出计算贡献,设取得最大异或值的位置为 $t$,然后再 阅读全文
摘要:
传送门 考虑维护前缀和 $sum[i]$ 那么对于每一个位置 $i$ ,左端点为 $i$ 右端点在 $[i+L-1,i+R-1]$ 区间的区间最大值容易维护 维护三元组 $(o,l,r)$ ,表示左端点为 $o$ ,右端点 $\in [l,r]$ 的区间最大值,然后把它扔到一个堆里,每次弹出最大值计 阅读全文
摘要:
传送门 考虑把总区间长度减去最多能减少的区间长度 把所有区间离散化,对每一小段计算贡献 分类讨论一波,对于边界 $i,i+1$ ,设它们之间距离 $d$,$i$ 属于 $x$ 考察队的边界,$i+1$ 属于 $y$ 考察队的边界: $i$ 为左边界,$i+1$ 为左边界,显然如果给 $x$ 钥匙就可 阅读全文
摘要:
传送门 区间第 $K$ 小,直接树套树 外层树状数组维护区间,内层权值线段树维护排名 和正常的权值线段树类似,查询第 $K$ 小时也是在线段树上二分,但是此时不是两颗线段树作差,而是树状数组上的 $2log_n$ 个线段树作差 跳的话就 $2log_n$ 个节点一起跳就好了 要记得离散化 阅读全文
摘要:
传送门 把时间看成数,菜肴看成位置 考虑一个位置填什么数很麻烦 考虑一个数放在什么位置 一开始我想的是,对于一个限制 $(a,b)$ ,从 $a$ 往 $b$ 连一条边,然后如果有解则所有的限制构成了一个 $DAG$ 考虑当前最小的数给谁,显然是当前没有入度的且编号最小的点 所以可以直接按拓扑序把数 阅读全文
摘要:
传送门 显然 $LCT$ 动态维护最小生成树 询问就是问树上两点的路径中权值最大的边 为了维护边权,我们要把边也看成点,为了方便,边在 $LCT$ 中的编号为 $n+1$ 到 $n+m$ 因为正做不好维护删边,所以离线倒过来,变成加边 在反过来做的时候,为了维护最小生成树要知道哪些边被删除了 用 $ 阅读全文