Solution Set -「NOIP Simu.」20221014
\(\mathscr{A}\sim\)「Unknown」tothecrazyones
有 \(n\) 堆石子, 第 \(i\) 堆有 \(a_i\) 个. Alice 和 Bob 轮流抓取, Alice 每次从至少一堆石子中每堆拿走恰好 \(x\) 个, Bob 每次从至少一堆石子中每堆拿走恰好 \(y\) 个, 不能操作者负. 求胜者.
多测, \(\sum n\le5\times10^5\), \(x,y,a_i\le10^9\).
Tag:「水题无 tag」
经验使然, 先 \(a_i\gets a_i\bmod (x+y)\), 后面的结论好说, 只要 \(\sum[a_i\ge x]>0\) 且 \(\sum[a_i\ge x]\ge\sum [a_i\ge y]\) 就 Alice 必胜, 否则 Bob 必胜. 大样例测过就交了, 所以签到比较迅速. 证明的 \(\bmod (x+y)\) 的正确性并不复杂, 这里就咕啦.
\(\mathscr{B}\sim\)「Unknown」vmefifty
给定 \(\{a_n\}\), 每次可以删除相邻且值不同的一对 \(a_i\) 和 \(a_{i+1}\), 求至少删多少次让 \(\{a_{n'}\}\) 全部相同.
多测, \(T\le5\), \(n\le2\times10^3\).
Tags:「A.DP-杂项」「C.性质/结论」
如何判断 \(a[\ell:r]\) 能否被删空? 显然, 充要条件是 \(2\mid(r-l+1)\) 且 \(a[\ell:r]\) 中不存在严格众数.
那么这里就有一个暴力 \(\mathcal O(n^3)\) DP, 令 \(f(i,j)\) 表示将 \(a[1:i]\) 处理直至所有值为 \(j\), 最多保留多少个值. 转移时枚举最近一段删除区间.
优化? 注意到 \([x,y]\) 可删且 \([y+1,z]\) 可删 \(\Rightarrow [x,z]\) 可删, 而转移 \(f\) 时我们只关心是否有 \(a_i=j\). 也就是说, 只要一段区间里没有 \(j\), 我们没必要去考虑怎么一点一点把区间删掉, 而只是在意这段东西被删完后, 我下一个能去到的 \(a_i=j\) 在哪里. 因此我们只需要对 \(a_i=j\) 的位置做 \(f(i,j)\) 的转移. 这样复杂度就是 \(\mathcal O(Tn^2)\) 了.
\(\mathscr{C}\sim\)「CF 662C」Binary Table
\(\mathscr{D}\sim\)「CF 1034C」Region Separation
Link.
Tag:「水题无 tag」
检查一下 \(1\sim n\) 里 \(\sum a\) 的因子是否合法, 在固定每个连通块点权后, 划分方案若存在则唯一. 之后 \(\mathcal O(n\log n)\) DP 一下切分方案数即可.
Solution Set -「NOIP Simu.」20221014的更多相关文章
- 「NOIP 2017」列队
题目大意:给定一个 $n times m$ 的方阵,初始时第 $i$ 行第 $j$ 列的人的编号为 $(i-1) times m + j$,$q$ 次给出 $x,y$,让第 $x$ 行 $y$ 列的人 ...
- 「NOIP 2020」微信步数(计数)
「NOIP 2020」微信步数(Luogu P7116) 题意: 有一个 \(k\) 维场地,第 \(i\) 维宽为 \(w_i\),即第 \(i\) 维的合法坐标为 \(1, 2, \cdots, ...
- Diary / Solution Set -「WC 2022」线上冬眠做噩梦
大概只有比较有意思又不过分超出能力范围的题叭. 可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics 任意一个 ...
- Solution Set -「ARC 107」
「ARC 107A」Simple Math Link. 答案为: \[\frac{a(a+1)\cdot b(b+1)\cdot c(c+1)}{8} \] 「ARC 107B」Quadrup ...
- 「NOIP 2013」 货车运输
题目链接 戳我 \(Solution\) 这一道题直接用\(kruskal\)重构树就好了,这里就不详细解释\(kruskal\)重构树了,如果不会直接去网上搜就好了.接下来讲讲详细过程. 首先构建\ ...
- Solution Set -「ABC 217」
大家好屑兔子又来啦! [A - Lexicographic Order] 说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...
- Note -「动态 DP」学习笔记
目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...
- Note -「Lagrange 插值」学习笔记
目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...
- Solution -「ARC 104E」Random LIS
\(\mathcal{Description}\) Link. 给定整数序列 \(\{a_n\}\),对于整数序列 \(\{b_n\}\),\(b_i\) 在 \([1,a_i]\) 中等概率 ...
- LOJ #2026「JLOI / SHOI2016」成绩比较
很好的锻炼推柿子能力的题目 LOJ #2026 题意 有$n$个人$ m$门学科,第$ i$门的分数为不大于$U_i$的一个正整数 定义A「打爆」B当且仅当A的每门学科的分数都不低于B的该门学科的分数 ...
随机推荐
- visual studio当中动态库和静态库的联系
一.为什么要写这篇博客 公司需要调用MNN框架编译之后的动态库和静态库文件来在另外一台没有编译过MNN框架上的机器运行对应的程序,比如说人体关键点检测之类的程序,这个时候了解静态库和动态库的关系就很有 ...
- Python爬虫基本库
3 基本库的使用 1)使用 urllib 是python内置的HTTP请求库,包含request.error.parse.robotparser urlopen() urllib.request.ur ...
- 【Spring】IOC核心源码学习(二):容器初始化过程
接上文 啃啃老菜: Spring IOC核心源码学习(一) ,本文将以 ClassPathXmlApplicationContext 这个容器的实现作为基础,学习容器的初始化过程. ClassPath ...
- 安装cnpm时报错
报错:npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least 2.1.6 to avoid ...
- 解读vue的webpack.base.conf.js配置
'use strict' // 引入nodejs路径模块 const path = require('path') // 引入utils工具模块,utils主要用来处理css-loader和vue-s ...
- MySQL之使用pt-online-schema-change在线修改大表结构
原因: 最近公司上一个功能, 需要为其中某个表中新增字段,但是考虑到线上数据已经达到300w+的级别,同时使用的mysql的版本是5.7而非8.0,这会导致新增字段的时候,对全表进行加锁,直到添加完毕 ...
- 高性能消息队列之nsq
NSQ 是实时的分布式消息处理平台,其设计的目的是用来大规模地处理每天数以十亿计级别的消息. NSQ 具有分布式和去中心化拓扑结构,该结构具有无单点故障.故障容错.高可用性以及能够保证消息的可靠传递的 ...
- 这些 JavaScript 编码习惯,让你最大程度提高你的项目可维护性!
前言: 因为 JavaScript 语言是一门极其松散.极其自由的语言,这意味着我们可以随心所欲的操作它,这是他的优点,但同时也是它的缺点.在编码过程中,我们需要一种良好的规范或者习惯来保持应用程序的 ...
- 正也科技S2P 数字化推动医药信息传播多元化
在当今数字化迅猛发展的时代浪潮中,医药信息传播正经历着深刻而广泛的变革.这种变革犹如一场波澜壮阔的革命,席卷了医药领域的每一个角落,对医药行业的发展产生了深远且不可忽视的影响. 一.传播渠道的多元化拓 ...
- 使用Tesseract进行图片文字识别
Tesseract介绍 Tesseract 是一个开源的光学字符识别(OCR)引擎,最初由 HP 在 1985 年至 1995 年间开发,后来被 Google 收购并开源.Tesseract 支持多种 ...