首页 > 其他分享 >[USACO23OPEN] Field Day S 田野日 - 动态规划

[USACO23OPEN] Field Day S 田野日 - 动态规划

时间:2023-07-14 20:11:09浏览次数:36  
标签:USACO23OPEN 数字 Field 复杂度 一位 leq 字符串 Day

提供一个简单的 DP 思路。

## 0x01 重点信息

可以先找出题目中的一些重点信息。

- 字符串中只有 $G$ 与 $H$。

- $N$ 很大($2 \leq N \leq 10^5$),但 $C$ 很小($1 \leq C \leq 18$)。

## 0x02 思路

既然字符串中只有 $G$ 与 $H$,我们不妨将字符串转化为二进制数字(如 $1$ 代表 $G$,$0$ 代表 $H$),转化为数字会使我们的操作更加便捷。

接下来思考如何做。

易想到一个 $O(N^2C)$ 的朴素做法,但是 $N^2$ 的时间代价过于大了。

$N$ 很大($2 \leq N \leq 10^5$),但 $C$ 很小($1 \leq C \leq 18$),所以我们可以尝试把复杂度重心放到 $C$ 上。

那么我们就要把思考的方向从每个串之间转到每位之间了。

但单独对于每一位考虑没有意义,那样是不能优化时间复杂度的(毕竟原来的朴素思路也是一位一位比对)。

于是我们考虑多位(区间)。

进一步,我们去考虑前缀。

设 $f_{i,j}$ 表示数字 $i$(每个数字化为二进制后对应一个字符串)的前 $j$ 位与其他字符串的最大差异度。

由于我们一位一位考虑,显然有:

$$
f_{i,j} = max(f_{i,j-1},f_{k,j-1}+1)
$$

其中 $k$ 为前 $j-1$ 位与 $i$ 相同,第 $j$ 位与 $i$ 相反,剩下位乱搞的数字。

那么 $f_{x,c}$ 即为每问所求。

时间复杂度 $O(2^CC)$,完全没有问题。

 

标签:USACO23OPEN,数字,Field,复杂度,一位,leq,字符串,Day
From: https://www.cnblogs.com/2021cjx-akioi/p/USACO23OPEN_1.html

相关文章

  • 2023 长郡暑期集训 DAY-2 数学专题笔记
    2023长郡暑期集训DAY-2数学质数和约数质数是指除了\(1\)和它本身之外没有其他因数的自然数。质数判定判定单个自然数是否为质数,可以使用试除法,在这里不多描述。boolis_prime(intn){if(n<2)return0;//如果n小于2,不是质数,返回0for(inti=2;i<=n......
  • java学习day03:循环结构
    我在B站上大学......
  • Day08(2023.07.13)
    行程8:45    到达上海市信息安全测评认证中心(黄浦区陆家浜路1308号)9:00  学习《网络安全等级测评师培训教材》11:30--13:00   吃饭休息13:00 到达久事公交大厦(徐汇区吴中东路南555号)16:30      下班  系统管理软......
  • day4
    一、[HDCTF2023]ExtremeMisc1.png文件末尾有zip,手撕,打开后得到一个加密的zip,爆破得到密码haida2.根据文件后缀是zip的倒叙以及010查看,需要将字节逆序,用脚本跑一下点击查看代码f=open("./Reverse.piz","rb")data=f.read()fzip=open("./fzip.zip","wb")s=b""......
  • Day06_温故知新
    1.Day5温故知新_1: 2.Day5温故知新_2.format()位置传参和关键字传参: 3.Day5温故知新_3f”“用法表达{}: 4.Day5温故知新_4f'‘新用法: 5.Day5温故知新_5.format新增用法: 6.Day5温故知新_6算数运算符相关: ......
  • 2022 省队二轮集训培训日记-Day7
    模拟赛T1这个题一看就非常DP,考虑设$f_i$表示跳到$i$的最优解,但是发现无法转移。为什么?考虑从$j$跳到$i$时,我们除了考虑$j$与$i$之间的$x$需要满足$x+a_x<i$之外,对于$x<j$,我们仍然有同样的限制。所以这个限制我们干脆再开一维记一下,设$f_{i,x}$表示对于$j......
  • 2022 省队二轮集训培训日记-Day5
    模拟赛T1非常简单的构造,但是我忘了判断$m=2$和对只有一个点特判的输出错误,导致挂成$20$。具体思路,考虑欧拉路径只能有两个奇点,但是每条边上中间的都是奇点,所以我们需要删掉边缘的一些边,直到剩下两个奇点,然后对于$n,m$都是偶数,或者一个偶数一个奇数,或者两个都是奇数来分别......
  • 2022 省队二轮集训培训日记-Day4
    模拟赛T1首先是曼哈顿距离到切比雪夫距离的转化,到原点曼哈顿距离为定值$a$的点组成的图形为一个斜正方形,且原点到顶点的距离为$a$,正方形边长为$\sqrt{2}a$,而到原点切比雪夫距离为$a$的点组成的图形为正正方形,且边长为$2a$,那么我们可以通过把平面坐标系旋转$45$度,并把......
  • 2022 省队二轮集训培训日记 Day1
    模拟赛这里的题解在出题人的基础上进行补充。T1原题链接首先忽略所有全开的子树(在这样的子树内我们不应该选择任何路径),选一个关的点作为根设$f_{u,0/1,0/1/2}$表示满足条件$u$最后是关/开的,子树内其它点最后都是开的子树内有0/1/2个路径端点,其它端点为$u$的最小......
  • Python学习——Day 5
    循环结构·反复做同一件事情的情况,称为循环·循环结构的流程图·循环的分类   ·while   ·for-in·语法结构  while条件表达式:            条件执行体(循环体)a=1#判断条件表达式whilea<10:#执行条件执行体print(a)a+=1......