前言

为什么 ABC 天天出原题。

为什么 D 题这么答辩。

A

直接找。

赛时代码

B

模拟。

赛时代码

C

对于每一个节日从后往前扫到上一个节日。

赛时代码

D

搜索,不需要任何剪枝,直接爆搜。

时间复杂度应该是 \(O((kn^2)^3)\),其中 \(n=2m-1,k=4\),\(m\) 是地图大小,其值为 \(4\),\(k\) 是方向系数,为 \(4\)。

写起来比较麻烦,但没有技术含量。

赛时代码

E

五维背包,设 \(f_{i,a,b,c,d,e}\) 表示考虑前 \(i\) 个计划,当前的参数为 \((a,b,c,d,e)\) 时的最少花费,那么有:

\[f_{i-1,a,b,c,d,e}+w_i\to f_{i,P(a+A_i),P(b+B_i),P(c+C_i),P(d+D_i),P(e+E_i)}
\]

其中,\(P(x)=\min(p,x)\),\((A,B,C,D,E)\) 为第 \(i\) 个计划能增加的参数。

值得注意的是,还有一个继承转移,即:

\[f_{i,a,b,c,d,e}\gets f_{i-1,a,b,c,d,e}
\]

所求即 \(f_{n,p,p,p,p,p}\)。

小技巧:可以将计划缺少的参数统一设为 \(p\)。

赛后代码

F

模板题 & 原题。

用线段树维护,在每个节点维护:

  • \(sum\):区间和。

  • \(len\):区间长度。

  • \(lsum0\):从左端起最长 \(0\) 段的长度。

  • \(lsum1\):从左端起最长 \(1\) 段的长度。

  • \(rsum0\):从右段起最长 \(0\) 段的长度。

  • \(rsum1\):从右段起最长 \(1\) 段的长度。

  • \(max0\):区间内最长 \(0\) 段的长度。

  • \(max1\):区间内最长 \(1\) 段的长度。

  • \(tag\):区间翻转标记。

容易写成合并式:

\[\boxed{\begin{aligned}sum&=sum_{ls}+sum_{rs}\\
len&=len_{ls}+len_{rs}\\
max0&=\max(max0_{ls},max0_{rs},rsum0_{ls}+lsum0_{rs})\\
max1&=\max(max1_{ls},max1_{rs},rsum1_{ls}+rsum0_{rs})\\
lsum0&=\begin{cases}lsum0_{ls}&sum_{ls}\not=0\\len_{ls}+lsum0_{rs}&sum_{ls}=0\end{cases}\\
lsum1&=\begin{cases}lsum1_{ls}&sum_{ls}\not=len_{ls}\\len_{ls}+lsum1_{rs}&sum_{ls}=len_{ls}\end{cases}\\
rsum0&=\begin{cases}rsum0_{rs}&sum_{rs}\not=0\\len_{rs}+rsum0_{ls}&sum_{rs}= 0\end{cases}\\
rsum1&=\begin{cases}rsum1_{rs}&sum_{rs}\not=len_{rs}\\len_{rs}+rsum1_{ls}&sum_{rs}=len_{rs}\end{cases}\\
\end{aligned}}\]

(可能看着比较多,其实很简单)

单节点更新只需要将 \(max0,max1,lsum0,lsum1,rsum0,rsum1\) 成对交换,再更新一下区间和和 \(tag\) 就行了。

赛时代码

ABC322 A-F 题解的更多相关文章

  1. AtCoder Beginner Contest 238 A - F 题解

    AtCoder Beginner Contest 238 \(A - F\) 题解 A - Exponential or Quadratic 题意 判断 \(2^n > n^2\)是否成立? S ...

  2. Educational Codeforces Round 61 (Rated for Div. 2) D,F题解

    D. Stressful Training 题目链接:https://codeforces.com/contest/1132/problem/D 题意: 有n台电脑,每台电脑都有初始电量ai,也有一个 ...

  3. CF 1132A,1132B,1132C,1132D,1132E,1132F(Round 61 A,B,C,D,E,F)题解

    A.Regular bracket sequence A string is called bracket sequence if it does not contain any characters ...

  4. CF 1131A,1131B,1131C,1131D,1131F(Round541 A,B,C,D,F)题解

    A. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  5. 牛客练习赛60 A—F题解(缺E题)

    本蒟蒻这次只过了三题 赛后学习了一下出题人巨佬的标码(码风比我好多了 贴的代码有些是仿出题人)现在将自己的理解写下来与大家分享 A这个题一分析就是每个数字都会与所有数字&一下 (a&a ...

  6. [题解] Codeforces Global Round 22 1738 A B C D E F 题解

    很久没rated打过cf的比赛了,这次打得还行,至少进前100了 点我看题 A. Glory Addicts 把类型0的数放进数组a里,类型1的数放进数组b里.如果\(|a|=|b|\),你可以把所有 ...

  7. Codeforces #Round 376 F 题解

    F. Video Cards time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. Codeforces Round #277.5 (Div. 2) A,B,C,D,E,F题解

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud A. SwapSort time limit per test    1 seco ...

  9. Codeforces 1038F Wrap Around (Codeforces Round #508 (Div. 2) F) 题解

    写在前面 此题数据量居然才出到\(n=40\)???(黑人问号)以下给出一个串长\(|S|=100,n=10^9\)的题解. 题目描述 给一个长度不超过\(m\)的01串S,问有多少个长度不超过\(n ...

  10. csps模拟68d,e,f题解

    题面:https://www.cnblogs.com/Juve/articles/11655531.html 三道数据结构? d: 贪心,先按a排序,然后枚举删了前i个a值比较小的,然后在剩下的里面删 ...

随机推荐

  1. APP中Web容器的核心实现

      现在的业务型APP中,采用纯原生开发策略的已经很少了,大部分都使用的混合开发.如原生,H5,ReactNative,Flutter,Weex它们之间任意的组合就构成了混合开发. 其中原生+H5是出 ...

  2. Kali-Shell简单介绍&Vim编辑器指令

    Shell简单介绍 shell :外壳(用户与操作系统(内核)之间的桥梁)相当于Windows中的dos 1.查看shell cat /etc/shells 查看系统支持哪些Shell echo $s ...

  3. Redis数据类型之Stream系列一

    一:Stream简介 ​ Redis Stream是5.0版本之后新增的一种数据结构,其结构类似于'仅追加日志'.但也实现了多种操作来克服'仅追加日志'的一些限制,如读取策略(xread,xrange ...

  4. 跟着 GPT-4 从0到1学习 Golang 并发机制(一)

    目录 一.前言 二.开聊 2.1 Golang 里的并发机制介绍 2.2 Goroutine 与线程 2.3 Goroutine 与线程的调度开销 2.4 用户态和内核态 2.5 Golang 并发编 ...

  5. 即构SDK12月迭代:新增多项质量回调,互动白板、云录制SDK同步更新

    即构SDK12月迭代来啦,本月LiveRoom/AudioRoom SDK新增了端到端延迟质量回调.房间会话ID信息,便于在音视频通话.直播场景中进行时延.通话质量的评测.同时还优化了硬件设备权限变更 ...

  6. debezium同步postgresql数据至kafka

    0 实验环境 全部部署于本地虚拟机 debezium docker部署 postgresql.kafka本机部署 1 postgresql 1.1 配置 设置postgres密码为123 仿照exam ...

  7. Lucene.Net  -全文检索引擎

    简介 Lucene.Net只是一个全文检索开发包,不是一个成型的搜索引擎,它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的速度灰常快 版本使用 3.0 ...

  8. 超详细的mysql总结(DQL)

    上一篇文章总结了 DDL.DML的使用,这一篇文章把剩下的 DQL 加上~   DQL(Data Query Language)即数据库查询语言,用来查询所需要的信息,在查询的过程中,需要判断所查询的 ...

  9. [golang]标准库-json

    前言 json数据格式通常包含两个操作:序列化(把对象转换成JSON数据类型)和反序列化(把JSON数据类型转换成对象),二者操作互逆. Go语言中相关标准库为encoding/json. 示例代码 ...

  10. jmeter对请求响应结果进行整段内容提取方法

    通过正则表达式提取器,将上一个请求(A请求)响应数据中的整段内容提取,传给下一个需要该提取数据的请求(B请求). 1. 请求接口响应结果 2. 添加正则表达式提取器 设置变量名为"tt&qu ...