Solution -「2020.12.26」 模拟赛】的更多相关文章

0x00 前言 一些吐槽. 考得很变态诶,看每道题平均两秒的时限就知道了... T1 降智了想到后缀懒得打. T2 口胡了假优化,结果和暴力分一样?? T3 黑题还绑点?? \(50 + 80 + 0 = 130\) 沦为平民了www. 0x01 T1 一 道 好 题. 题目描述不在赘述,Link.这道题抽象概括出模型后反而更复杂 )) 首先,不难往 \(dp\) 方向去想. 我们定义 \(dp[i][j]\) 表示处理到第 \(i\) 个语句时,第 \(i\) 个语句处在第 \(j\) 个缩进…
\(\mathcal{Description}\)   Link.   一种物品有 长度 和 权值 两种属性,现给定 \(n\) 组物品,第 \(i\) 组有 \(k_i\) 个,分别为 \((1,a_{i,1})..(k_i,a_{i,k_i})\),求在每组物品里恰好选择一个物品,且物品长度和恰为 \(i=n..\sum k\) 时的最大物品权值和.   \(n\le10^5\),\(k_i\le5\). \(\mathcal{Solution}\)   本次 NOIP 模拟赛 考察的知识点…
这次模拟赛真的,,卡常赛. The solution of T1: std是打表,,考场上sb想自己改进匈牙利然后wei了(好像匈牙利是错的. 大力剪枝搜索.代码不放了. 这是什么神仙D1T1,爆蛋T1,好像A了它或拿分的就几个人,, The solution of T2: 题解是这么写的:和八皇后很像,八皇后是x+y和x-y来判重,这里就k1x+k2y来判重. 从各个点引出直线,带入原点检验方程即可. 注: x/y = Δx/Δy x*Δy = Δx*y 下面代码用了这个原理,省去了gcd(或…
\(\mathcal{Description}\)   Link.   Bessie 在一张含 \(n\) 个结点的有向图上遍历,站在某个结点上时,她必须按下自己手中 \(m\) 个按钮中处于激活状态的一个才能走向其他结点或终止遍历(不能原地等待).初始时,所有按钮都处于激活状态,按下 \(i\) 号按钮时,\(i\) 号按钮变为非激活状态,所有编号 \(<i\) 的按钮被激活.   给定 \(q\) 组形如 \((b_s,s,b_t,t)\) 的询问,求 Bessie 从 \(s\) 出发,第…
\(\mathcal{Description}\)   Link.   有 \(n\) 个牛棚,大小为 \(t_{1..n}\),\(n\) 头奶牛,大小为 \(s_{1..n}\),奶牛只能住进不小于自己的牛棚,每个牛棚最多住一头奶牛.求满足不能让更多奶牛住进牛棚的安排方案数,答案对 \((10^9+7)\) 取模.   \(n\le3\times10^3\). \(\mathcal{Solution}\)   把 \(s\) 和 \(t\) 倒一块儿升序排序,大小相同奶牛优先.那么相当于奶牛…
\(\mathcal{Description}\)   Link.   在 NOIP 2020 A 的基础上,每条边赋权值 \(a_i\),随机恰好一条边断掉,第 \(i\) 条段的概率正比于 \(a_i\).求每个汇集口收集到污水的期望吨数.答案模 \(998244353\)(我谢谢出题人. \(\mathcal{Solution}\)   方法一 这个题麻烦的地方在于 DAG 上断边,很难将每条断边的贡献一起计算(注意不是"叠加",仅仅是一下子算出分别断开多条边的贡献之和).我们得…
\(\mathcal{Description}\)   Link.   破案了,朝鲜时蔬 = 超现实树!(指写得像那什么一样的题面.   对于整数集 \(X\),定义其 好子集 为满足 \(Y\subseteq X\land\left(\sum_{y\in Y}y\right)\mid\left(\sum_{x\in X}x\right)\) 的任意 \(Y\).求 \(S_n=[1,n]\cap\mathbb N\) 的所有 \(m\) 阶子集中,包含 \(k\) 阶 好子集 数量最多的子集数…
\(\mathcal{Description}\)   OurOJ & 洛谷 P4372(几乎一致)   设计一个排序算法,设现在对 \(\{a_n\}\) 中 \([l,r]\) 内的元素排序,则重复冒泡排序零次或多次,直到存在某个位置 \(p\in[l,r)\),满足 \(\max_{i=l}^p\{a_i\}<\min_{i=p+1}^r\{a_i\}\),则递归入 \([l,p]\) 和 \((p,r]\),直到区间长度为 \(1\) 时停止.求所有冒泡排序所操作的区间长度之和.  …
\(\mathcal{Description}\)   Link.   有 \(n\) 种物品,第 \(i\) 中有 \(a_i\) 个,单价为 \(b_i\).共 \(q\) 次询问,每次查询用不超过 \(c\) 的钱购买种类在 \([l,r]\) 之中的物品,有多少种方案.强制在线:答案对 \(998244353\) 取模.   \(n\le10^4\),\(q\le5\times10^4\),\(c\le10^3\). \(\mathcal{Solution}\)   快速回答区间询问,最…
\(\mathcal{Description}\)   Link.   给定长度为 \(n\),仅包含小写字符的字符串 \(s\),\(m\) 次询问,每次询问一个子串 \(s[l:r]\) 的本质不同子串数量.   \(n\le10^5\),\(m\le2\times10^5\). \(\mathcal{Solution}\)   有种常见的离线技巧:类似扫描线,从左至右枚举右端点 \(r\),维护 \([1..r,r]\) 的答案.为了让 \(s[1:r]\) 里的每个子串都尽量参与贡献,可…
阅读本文大概需要 3.5 分钟. 本篇是设计模式系列的开篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统. 所以现在打算重写,加上距离现在也有一段时间了,也算是自己的一个回顾吧! 学而时习之,不亦说乎. 从零开始单排学设计模式的国服排位之旅,今天正式开启! 目前段位:定级赛   这篇文章来总结下UML类图,本来不打算讲UML类图的,因为我在学习设计模式的时候,一遇到有关UML的就会自动忽略,一看感觉就很复杂. 但是随着学习的深入,发现不掌握UML类图…
\(\mathcal{Description}\)   Link.   给定 \(n\) 个点 \((x_i,y_i)\),求一个不超过 \(n-1\) 次的多项式 \(f(x)\),使得 \(f(x_i)\equiv y_i\pmod{998244353}\).   \(n\le10^5\). \(\mathcal{Solution}\)   摆出 Lagrange 插值的式子: \[f(z)=\sum_{i=1}^ny_i\prod_{j\neq i}\frac{z-x_j}{x_i-x_j…
\(\mathcal{Description}\)   Link.   给定点集 \(\{P_n\}\),\(P_i=(i,h_i)\),\(m\) 次修改,每次修改某个 \(h_i\),在每次修改后求出 \((0,0)\cup\{P_n\}\) 的下凸壳大小(输出时 \(-1\)).   \(n,m\le10^5\),\(h_i\ge0\). \(\mathcal{Solution}\)   令 \(k_i=\frac{h_i}{i}\),我们相当于要维护 \(\{k_n\}\) 中从 \(k…
\(\mathcal{Description}\)   Link.   给定二分图 \(G=(V=X\cup Y,E)\),\(|X|=|Y|=n\),边 \((u,v)\in E\) 有权 \(w(u,v)\),且保证存在完美匹配.求 \(G\) 的一个匹配 \(M\),最大化 \(\sum_{(u,v)\in M}w(u,v)\).   \(n\le500\). \(\mathcal{Solution}\)   首先我会费用流.   Kuhn-Munkres 算法,能够在 \(\mathca…
\(\mathcal{Description}\)   给定排列 \(\{p_n\}\),可以在其上进行若干次操作,每次选取 \([l,r]\),把其中所有元素变为原区间最小值,求能够得到的所有不同序列数量.答案对 \((10^9+7)\) 取模.   \(n\le5\times10^3\). \(\mathcal{Solution}\)   一类题型一起写啦,再给出一道类似的题:   给定字符串 \(s\),\(s_i\in\{\text{'R'},\text{'G'},\text{'Y'}\…
\(\mathcal{Description}\)   Link.   给定二分图 \(G=(X\cup Y,E)\),求对于边的一个染色 \(f:E\rightarrow\{1,2,\dots,c\}\),最小化每个结点所染颜色数量极差之和.输出这一最小值.   \(|X|+|Y|,|E|\le10^6\). \(\mathcal{Solution}\)   基于"结论好猜"就能认为这题是签到题吗--   答案显然有下界 \(\sum_{u}\left[c\not\mid \sum_…
\(\mathcal{Description}\)   Link.   给定长度为 \(n\) 的合法表达式序列 \(s\),其中数字仅有一位正数,运算符仅有 - 作为占位.求将其中恰好 \(k\) 个 - 替换为 +,其余 - 替换为 * 的所有方案得到的表达式结果之和.答案模 \((10^9+7)\).   \(n\le10^5\)(可能有无意义的多层括号嵌套),- 的总数 \(m\le2.5\times10^3\). \(\mathcal{Solution}\)   复杂表达式问题,应当考…
\(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\),和 \(q\) 次形如 \([L,R]\) 的询问,每次回答 \[\sum_{[l,r]\subseteq [L,R]}\min_{i=l}^r\{a_i\}\cdot\max_{i=l}^r\{a_i\}\pmod{10^9+7}. \]   \(n,q\le10^5\). \(\mathcal{Solution}\)   瞬间联想到 这道题,尝试把询问挂到猫树上分治处理.对于分治区间 \…
\(\mathcal{Description}\)   Link   (稍作简化:)对于变量 \(p_{1..n}\),满足 \(p_i\in[0,1],~\sum p_i=1\) 时,求 \(\max \sum_{i=1}^n(p_i-p_i^2)i\).   数据组数 \(T\le10^5\),\(n\le10^6\). \(\mathcal{Solution}\)   Lagrange 乘子法的板题,可惜我不会.(   先忽略 \(p_i\in[0,1]\) 的限制,发现这是一个带约数的最…
\(\mathcal{Description}\)   Link.   一个游戏包含若干次卡牌抽取,每次以 \(p_l\) 的概率得到 \(+1\),\(p_d\) 的概率得到 \(-1\),否则得到 \(0\),操作后以 \(p\) 的概率结束游戏,求每次抽取后,满足 \(+1\) 数量大于 \(-1\) 数量的抽取轮数的期望值.不取模.   \(0<p\le1\),\(0\le p_l,p_d,p_l+p_d\le 1\). \(\mathcal{Solution}\)   我请愿为Tiw…
\(\mathcal{Description}\)   Link.   给定 \(n\) 个函数,第 \(i\) 个有 \(f_i(x)=a_ix^3+b_ix^2+cx_i+d~(x\in[l_i,r_i]\cap\mathbb Z)\),还有 \(m\) 条形如 \(x_u\le x_v+d\) 的限制,请最大化 \(\sum_{i=1}^nf_i(x_i)\) 或声明无解.   \(n,|l_i|,|r_i|\le 100\). \(\mathcal{Solution}\)   很久没遇到…
\(\mathcal{Description}\)   Link.   给定 \(n\) 和 \(m\) 次多项式 \(f(x)\),求 \[\sum_{i=0}^n\binom{n}{i}f(i)\bmod998244353 \]   \(m\le10^5\),\(m\le n\le 10^9\). \(\mathcal{Solution}\)   推式子叭~ \[\begin{aligned} \sum_{i=0}^n\binom{n}{i}f(i)&=\sum_{i=0}^ma_i\sum…
\(\mathcal{Description}\)   Link.   给定 \(n\) 阶排列 \(a\),\(q\) 次询问,每次给出 \(1\le l_1\le r_1<l_2\le r_2\le n\) 且 \(r_1-l_1=r_2-l_2\),询问满足 \(\forall j\in[1,r_1-l_1+1],~a_{j+l_1-1}<a_{b_j+l_2-1}\) 的 \((r_1-l_1+1)\) 阶排列 \(b\) 的个数,模 \((10^9+7)\).   多测,\(\sum…
\(\mathcal{Description}\)   Link.   给定 \(\{a_n\}\),求: \[\sum_{i=1}^n\sum_{j=i}^n(j-i+1)\min_{k=i}^j\{a_k\}\max_{k=i}^j\{a_k\} \]   答案对 \(10^9\) 取模. \(\mathcal{Solution}\)   挺可爱的一道题 w.   静态序列计数问题,可以考虑分治:对于 \([l,r]\)(\(l<r\)),令分割点 \(p=\lfloor\frac{l+r}…
\(\mathcal{Description}\)   Link.   有一个状态集为 \(V\) 的自动机,状态接收 (, ) 和 _(空格) 三种字符,分别编号为 \(0,1,2\),状态 \(u\) 的 \(i\) 转移指向状态 \(d_{u,i}\),方案数为 \(e_{u,i}\).求从 \(s\) 出发到 \(t\) 终止能接受的长度恰好为 \(n\) 的字符串中,忽略空格后正则匹配的字符串数量.模 \(998244353\).   \(|V|\le2\),\(n\le10^5\).…
\(\mathcal{Description}\)   Link.   有 \(n\) 堆石子,第 \(i\) 堆有 \(x_i\) 个,Alice 每次只能从这堆中拿走 \(a_i\) 个石子,Bob 每次只能从这堆中拿走 \(b_i\) 个石子,不能操作者负.对于 \(i=1,2,\dots,n\),求只考虑 \([1,i]\) 的石子堆时,双方博弈的结果(有 Alice 必胜.Bob 必胜.先手必胜.后手必胜四种结果).   \(n\le10^5\). \(\mathcal{Solutio…
\(\mathcal{Description}\)   Link.   给定 \(x,\{d_i\}_{i=1}^n,\{p_i\}_{i=2}^n,\{b_i\}_{i=2}^n,\{c_i\}_{i=2}^n\),构造矩阵 \(A=(a_{ij})_{n\times n}\): \[a_{ij}=\begin{cases} b_j,&i=p_j\\ c_i,&j=p_i\\ d_i,&i=j\\ x,&\text{otherwise} \end{cases}. \] 求…
\(\mathcal{Description}\)   Link.   求含有 \(n\) 个结点的所有有标号简单无向图中,最小点覆盖为 \(m\) 的图的数量的奇偶性.\(T\) 组数据.   \(n,m\le3\times10^3\),\(T\le5\times10^3\). \(\mathcal{Solution}\)   太神了叭!   总不能硬刚 NPC,我们必须牢牢把握"奇偶性"带来的便利:若存在某种规则将一类图两两配对,则我们可以忽略这些图而不影响答案.顺便做一步转化,最…
\(\mathcal{Description}\)   Link.   平面上有 \(n\) 个点 \(A_{1..n}\),\(q\) 次询问,每次给出点 \(P\),求 \[\max_{1\le l\le r\le n}\left\{\sum_{i=l}^r \vec{OP}\times\vec{OA_i}\right\}. \]   \(n\le10^5\),\(q\le10^6\). \(\mathcal{Solution}\)   初步转化一下式子: \[\begin{aligned}…
\(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的带点权树,删除 \(u\) 点的代价是该点点权 \(a_u\).\(m\) 次操作: 修改单点点权. 询问让某棵子树的根不可到达子树内任意一片叶子的代价.   \(n,m\le2\times10^5\). \(\mathcal{Solution}\)   不考虑修改,列出 DP: \[f(u)=\begin{cases}a_u&u\text{ is leaf}\\\min\{a_u,\sum_vf…