「模拟赛」多校 A 层联训 5
A.好数(number)
很签,打完之后“不是这题我能做一个小时??”
对于每个数,都把它与前面的所有数的加和求一遍存进桶里,再遇到一个新数 \(a_i\) 时,枚举前面的所有 \(a_j,j\in [1,i-1]\),找桶里是否存在一个数 \(x\) 使得 \(x=a_i-a_j\) 即可。
因为这些数中有负数,所以我们可能会想到用 map 作为桶存加和,但这样(由于它相当购使的实现)相当于多挂了一个 \(\log\),本地跑大样例准确时间要 3 秒多,
发现数据范围是 \(-10^5\le a_i\le 10^5\),那么我们把所有数加上 \(10^5\),这样就不会存在负数情况了,直接用数组存就好了。整体复杂度 \(O(n^2)\)
B. SOS字符串(sos)
dp
记 \(f_{i,0/1/2,j}\) 维护答案,第二维从 0、1、2 分别表示:第 i 位上是 SOS 中的第一个 S、与前一位可组成 SO、或者其他。
第三维表示有 j 个 SOS 了,若数量大于 3,j 也为 3。
- 当前位 \(i\) 位为第一个 S 时,可由前一位为 S,以及前一位状态为 2 转移而来:
\]
- 当前位可与前一位组成 SO 时,那么上一位为 S:
\]
- 当前位为其它状态时
- 上一位可放 S,此时当前位不为 O 或者 S,否则就属于上面两种情况;
- 上一位可为其他,此时当前位不为 S;
- 上一位为 SO,当前位不为 S;
\]
- j > 0 时,即可以有 SOS 了,那么当前位状态为 2 时,可由 SO + S 转移:
\]
- j = 3 时,j 的大小不再变化,写成这样:
\]
C. 集训营的气球(balloon)
退背包
发现其实就是 1 到 n 个人分别选不选一血背包,要么选要么不选,因为 c 够小,用总方案数减去选一血背包的人数小于 c 的方案数即可,这样求选一血的人数小于 c 的方案数就成了 01 背包问题了。
由于每次修改,一次背包是 \(O(nc)\) 的,如果每次修改都做一次背包的话,整体是 \(O(n^2c)\),所以考虑退背包。
每次修改就相当于是把修改的那个人原有的贡献退出去,再进来新的贡献。
D.连通子树与树的重心(tree)
Qyun 的好吃博客

「模拟赛」多校 A 层联训 5的更多相关文章
- 「CSP-S模拟赛」2019第四场
「CSP-S模拟赛」2019第四场 T1 「JOI 2014 Final」JOI 徽章 题目 考场思考(正解) T2 「JOI 2015 Final」分蛋糕 2 题目 考场思考(正解) T3 「CQO ...
- #10471. 「2020-10-02 提高模拟赛」灌溉 (water)
题面:#10471. 「2020-10-02 提高模拟赛」灌溉 (water) 假设只有一组询问,我们可以用二分求解:二分最大距离是多少,然后找到深度最大的结点,并且把它的\(k\)倍祖先的一整子树删 ...
- #10470. 「2020-10-02 提高模拟赛」流水线 (line)
题面:#10470. 「2020-10-02 提高模拟赛」流水线 (line) 题目中的那么多区间的条件让人感觉极其难以维护,而且贪心的做法感觉大多都能 hack 掉,因此考虑寻找一些性质,然后再设计 ...
- python爬虫22 | 以后我再讲python「模拟登录」我就是狗
接下来就是 学习python的正确姿势 做爬虫 绕不开模拟登录 为此小帅b给大家支了几招 python爬虫19 | 遇到需要的登录的网站怎么办?用这3招轻松搞定! 有些网站的登录很弱鸡 传个用户名和密 ...
- 「NOIP模拟赛」数位和乘积(dp,高精)
统计方案数,要么组合数,要么递推(dp)了. 这是有模拟赛历史以来爆炸最狠的一次 T1写了正解,也想到开long long,但是开错了地方然后数组开大了结果100->0 T3看错题本来简单模拟又 ...
- 「Vijos 1284」「OIBH杯NOIP2006第二次模拟赛」佳佳的魔法阵
佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放-- 描述 魔法阵是一个\(n ...
- 「CSP-S模拟赛」2019第二场
目录 T1 Jam的计数法 题目 考场思路(正解) T2 「TJOI / HEOI2016」排序 题目 考场思路(假正解) 正解 T3 「THUWC 2017」随机二分图 题目 考场思路 正解 这场考 ...
- 「CSP-S模拟赛」2019第一场
目录 T1 小奇取石子 题目 考场思路 正解 T2 「CCO 2017」专业网络 题目 考场思路 题解 T3 「ZJOI2017」线段树 题目 考场思路 正解 这场考试感觉很奇怪. \(T1.T2\) ...
- 「模拟赛20190327」 第二题 DP+决策单调性优化
题目描述 小火车虽然很穷,但是他还是得送礼物给妹子,所以他前往了二次元寻找不需要钱的礼物. 小火车准备玩玩二次元的游戏,游戏当然是在一个二维网格中展开的,网格大小是\(n\times m\)的,某些格 ...
- 「CSP-S模拟赛」2019第三场
目录 T1 「POI2007」山峰和山谷 Ridges and Valleys 题目 考场思路(几近正解) 正解 T2 「JOI 2013 Final」 现代豪宅 题目 考场思路(正解) T3 「SC ...
随机推荐
- 【Spring】09 后续的学习补充 vol3
原生JDBC事务: package dao; import cn.dzz.util.DruidUtil; import org.apache.commons.dbutils.QueryRunner; ...
- 《Python数据可视化之matplotlib实践》 源码 第四篇 扩展 第十二章
图 12.1 import matplotlib.pyplot as plt import numpy as np barSlices=12 theta=np.linspace(0.0, 2*np. ...
- 从markdown引擎实现的角度看markerdown到底是什么?
引用百度百科的解释: 链接:https://baike.baidu.com/item/markdown/3245829 Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Grub ...
- 华为高性能计算(HPC)文档——技术支持>智能计算解决方案>高性能计算>HPC
链接地址: https://support.huawei.com/enterprise/zh/server-solutions/hpc-pid-253585671 ================== ...
- 为了落地DDD,我是这样“PUA”大家的
本文书接上回<先有鸡还是先有蛋?这是领域驱动设计落地最大的困局> https://mp.weixin.qq.com/s/lzAZXgchCg_VyLmyo2N18Q 故事背景 2023 ...
- AI阅读助手ChatDOC:基于 AI 与文档对话、重新定义阅读方式的AI文献阅读和文档处理工具
让 AI 真正成为你的生产力超级助手 AI 时代降临,我们需要积极拥抱 AI 工具 在过去的 2 个多月里,以 ChatGPT 为代表的 AI 风靡全球.随着 GPT 模型的不断优化,ChatGPT ...
- PowerShell快速修改多个文件的名称
本文介绍基于PowerShell语言,对文件夹中全部文件的名称加以批量替换.修改的方法. 在之前的文章中,我们介绍了基于Python语言,批量修改大量文件的名称的方法.当时我们修改文件名的需求 ...
- 微服务全链路跟踪:jaeger增加tag参数
微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ...
- reduce() 多种用法
reduce()方法用于将数组简化为单一值,通过遍历数组并应用提供的函数.它可以用于求和.乘积.计算对象属性的总和.数组去重和转换数组结构等.初始值的设置会影响reduce的起始索引.不提供初始值时, ...
- 使用 prefetchComponents 进行组件预取
title: 使用 prefetchComponents 进行组件预取 date: 2024/8/17 updated: 2024/8/17 author: cmdragon excerpt: 摘要: ...