根本听不懂的也看不懂的上课笔记第三弹

https://www.luogu.com.cn/problem/CF1730F

首先考虑给排列p进行充排

满足条件

考虑从左到右去扫,

现在考虑的是p_qi

至于的范围不会很大

通过二元组记录实现状态表示,

转移时枚举p_qi+1的可能值,

就可以得出对逆序对的贡献

即成立值域[1,i]与q_i+1的贡献


https://www.luogu.com.cn/problem/P6647

首先容易想到

f[i][j]为共画了j段,到第个的最大和

但是显然,

第二维不需要记录

易得:

n分为k天一块,每块有且仅有一个景点为一天结束游览的地方

之后钦定max取在那一边,之后直接处理即可


https://www.luogu.com.cn/problem/AT_arc117_e

看到n<=30,

比较抽象,

可以考虑n的5,6次方复杂度

首先就考虑前缀和数组s

基于值域进行DP

那么使用一些科技:

连续段DP

不记录每个位置的值

记录有几个全部位一的连续段和一的个数

那么设fi,j,k,l为遍历到最小值是i,答案是j,有k个连续段,使用了l个位置

枚举i-1的情况进行转移

方案就是一个组合数


https://www.luogu.com.cn/problem/CF1789F

当k为2时,

考虑将好的串拼接

枚举拼接的分界线位置

如果k较大,

那么串不会很长,

远串中一个不超过n/k的长度区间中,

只出现过一次

将远串分成k份,之后暴力枚举

也可使用滑动窗口

考虑跨过边界线时的,

枚举这种状态

复杂度O(nk*2^(n/k))

(我感觉这个做法有点乱搞的感觉)


https://www.luogu.com.cn/problem/CF1781F

考虑最后才得到的串,

我们相对来讲更关心如何匹配

括号之间相互包含但不会有交叉

考虑区间DP

设f[l][r][j],j是用来算合法数的

发现并不需要区间,

直接设为长度,

f[i][j][0/1]为长度2*i时前缀中右括号比左括号多j个串的个数

0,1表示最后一个括号与第一个是否同色

直接转移,

发现在转移中需要乘上一个组合数

因为两边都可以随机插入括号

前缀和消掉一维,n^3可以通过


https://www.luogu.com.cn/problem/P10207

考虑到对一个最短路径,

球一定在路径最后一次经过时被拿到

同一次拿起视为一个球

考虑区间dp

设f[l][r][0/1]

为剩下l,r区间没取,在l或r时是最短时间

可以对应单点询问

考虑左右侧去最小值即可

(数据范围很神秘

O(n^2+q)可过,平方量级


https://www.luogu.com.cn/problem/AT_arc118_e

考虑经过障碍的数量,

记录f[i]为走到第i个障碍物的方案数

使用每钦定一个障碍物的路径计算

那么考虑容斥

钦定若干个加上的障碍物

最后有(m-k)!个方案

m是不确定障碍物个数

设f[x][y][k][0/1][0/1]为在x,y时

钦定k个原来没有的障碍,且当前行或列是否原有障碍物

只用两个0、1来表示不能重复

O(n^3)转移即可


https://qoj.ac/problem/8049

首先设f[a][s],表示a考虑到第s个

g[b][s]同理

任意转移会算重

复杂度过高

考虑转移到f[a][b+1],f[a+1][b]

根据k的大小变化进行状态转移

发现每种方案都能恰好遍历一遍

复杂度n^3


https://www.luogu.com.cn/problem/AT_arc156_d

对于pi

p是有序的,无论如何排序,a肯定会算重,

用m_j表示p_i中j出现次数


$$
\begin{pmatrix}
k\m_1…m_n

\end{pmatrix}
$$
考虑mod2

k的第i-1位是0则直接转移

否则枚举m_i

进行数位DP,依次考虑第i位

求解异或和即可

复杂度O(nvlogk)


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值