【学习笔记】ABC265/AGC012

上次写博客还是在5天前了

权游真好看

ABC265

Manhattan Cafe

离离原上谱

d p i [ j ] [ k ] dp_i[j][k] dpi[j][k]表示考虑前 i i i维,其中 D 1 − D 2 = j D1-D2=j D1D2=j, D 1 + D 2 = k D1+D2=k D1+D2=k的方案数

d = ∣ p i − q i ∣ d=|p_i-q_i| d=piqi,转移如下:

1.1 1.1 1.1 p i ≤ x ≤ q i p_i\le x\le q_i pixqi d p i − 1 [ j ] [ k ] → d p i [ j − d ] [ k + d ] ∼ d p i [ j + d ] [ k + d ] dp_{i-1}[j][k]\to dp_i[j-d][k+d]\sim dp_i[j+d][k+d] dpi1[j][k]dpi[jd][k+d]dpi[j+d][k+d]

1.2 1.2 1.2 x < p i ≤ q i x<p_i\le q_i x<piqi d p i − 1 [ j ] [ k ] → d p i [ j − d ] [ k + d + 2 + 2 y ] dp_{i-1}[j][k]\to dp_i[j-d][k+d+2+2y] dpi1[j][k]dpi[jd][k+d+2+2y]

1.3 1.3 1.3 p i ≤ q i < x p_i\le q_i<x piqi<x d p i − 1 [ j ] [ k ] → d p i [ j + d ] [ k + d + 2 + 2 y ] dp_{i-1}[j][k]\to dp_i[j+d][k+d+2+2y] dpi1[j][k]dpi[j+d][k+d+2+2y]

注意到转移其中一维是定值,可以维护其差分序列,做到转移 O ( 1 ) O(1) O(1),总复杂度 O ( n d 2 ) O(nd^2) O(nd2)

AC Code

012 Inversion

sb数据结构

相信大家都会吧

AC Code

AGC012

Colorful Balls

若原序列中位置 i i i和位置 j j j能交换那么连一条边 ( i , j ) (i,j) (i,j)

显然同一连通块内可以任意排列 并不显然 ,因为不在同一连通块可以看作是独立的,对于同一连通块可以归纳法证明。

并查集维护连通性即可。

Tautonym Puzzle

考察序列前半部分是 1 ∼ n 1\sim n 1n的排列 p p p,后半部分是 1 ∼ n 1\sim n 1n

问题转化为左边上升子序列的数目。设空串合法,考虑从末尾插入一个数那么数目乘 2 2 2,从开头插入一个数那么数目加 1 1 1。最终序列长度为 4 log ⁡ n 4\log n 4logn

AC Code

Splatter Painting

简单题。倒序操作,记录从每个点出发能扩散的最远距离,显然是递增的,复杂度 O ( m d ) O(md) O(md)

AtCoder Group Contest

简单题。显然从大到小排序,然后隔一个位置选一个即可。

Camel and Oases

我会转化!!

问题转化为把原序列划分成若干区间,区间内相邻距离不超过 V 2 i \frac{V}{2^i} 2iV

然后就比较简单了。

Prefix Median

dp神题啊。

考虑逆序构造。每次删除两个数后中位数会不动或移动到相邻位置,因此合法的 b b b序列应该满足:
1.1 1.1 1.1对于任意 i ∈ [ 1 , n − 1 ] i\in [1,n-1] i[1,n1],不存在 j < i j<i j<i满足 b i < b j < b i + 1 b_i<b_j<b_{i+1} bi<bj<bi+1 b i + 1 < b j < b i b_{i+1}<b_j<b_i bi+1<bj<bi
1.2 1.2 1.2对于任意 i ∈ [ 1 , n ] i\in [1,n] i[1,n],满足 b i ∈ [ i + 1 , 2 n + 1 − i ] b_i\in [i+1,2n+1-i] bi[i+1,2n+1i]

首先对于连续的 a i a_i ai只保留离中位数最近的那一个。

考虑从当前位置向左挪或向右挪时把跨过的全部删掉,不能作为后续选择,并且其限定的区间每次会向左和向右扩展一位,那么我们设 d p [ i ] [ L ] [ R ] dp[i][L][R] dp[i][L][R]表示填了 i ∼ n i\sim n in,当前位置左边有 L L L个可以选择,右边有 R R R个可以选择的方案数。转移时枚举往哪边跳,复杂度 O ( n 4 ) O(n^4) O(n4)

AC Code


__EOF__

本文作者仰望星空的蚂蚁
本文链接https://www.cnblogs.com/cqbzly/p/17530103.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   仰望星空的蚂蚁  阅读(6)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2021-08-28 【题解】「JOISC 2021 Day1」饮食区
点击右上角即可分享
微信分享提示