首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Solution -「UVA 1104」Chips Challenge
】的更多相关文章
Solution -「UVA 1104」Chips Challenge
\(\mathcal{Description}\) Link. 在一个 \(n\times n\) 的方格图中,有一些格子已经放了零件,有一些格子可以放零件,其余格子不能放零件.求至多放多少个零件,满足第 \(i\) 行与第 \(i\) 列中零件个数相等:任意一行或一列的零件数量不超过总数量的 \(\frac{A}{B}\).\(n\le40\). \(\mathcal{Solution}\) 能猜测是行列连边的二分图网络模型,但注意到网络流很难处理 \(\frac{A}{B}\)…
Solution -「ARC 104E」Random LIS
\(\mathcal{Description}\) Link. 给定整数序列 \(\{a_n\}\),对于整数序列 \(\{b_n\}\),\(b_i\) 在 \([1,a_i]\) 中等概率随机.求 \(\{b_n\}\) 中 LIS(最长上升子序列)的期望长度.对 \(10^9+7\) 取模. \(n\le6\),\(a_i\le10^9\). \(\mathcal{Solution}\) 欺负这个 \(n\) 小得可爱,直接 \(\mathcal O(n!)\) 枚举 \(…
Solution -「CTS 2019」「洛谷 P5404」氪金手游
\(\mathcal{Description}\) Link. 有 \(n\) 张卡牌,第 \(i\) 张的权值 \(w_i\in\{1,2,3\}\),且取值为 \(k\) 的概率正比于 \(p_{i,k}\).依照此规则确定权值后,你不停抽卡,每次抽到第 \(i\) 张卡牌的概率正比于 \(w_i\),直到所有卡都被抽过至少一次. 此后,记 \(t_i\) 表示第 \(i\) 张牌第一次被抽到的时间.给定 \(n-1\) 条形如 \(\lang u,v\rang\) 的限制,表示…
Solution -「BZOJ 3812」主旋律
\(\mathcal{Description}\) Link. 给定含 \(n\) 个点 \(m\) 条边的简单有向图 \(G=(V,E)\),求 \(H=(V,E'\subseteq E)\) 的数量,使得 \(H\) 是强连通图.答案模 \((10^9+7)\). \(n\le15\). \(\mathcal{Solution}\) 仙气十足的状压容斥. 令 \(f(S)\) 表示仅考虑点集 \(S\) 的导出子图时,使得 \(S\) 强连通的选边方案数,那么 \(f(V…
Solution -「CF 1342E」Placing Rooks
\(\mathcal{Description}\) Link. 在一个 \(n\times n\) 的国际象棋棋盘上摆 \(n\) 个车,求满足: 所有格子都可以被攻击到. 恰好存在 \(k\) 对车可以互相攻击. 的摆放方案数,对 \(998244353\) 取模. \(n\le2\times10^5\). \(\mathcal{Solution}\) 这道<蓝题>嗷,看来兔是个傻子. 从第一个条件入手,所有格子可被攻击,那就有「每行都有车」或「每列都有车」成立.不妨…
Solution -「简单 DP」zxy 讲课记实
魔法题位面级乱杀. 「JOISC 2020 Day4」治疗计划 因为是不太聪明的 Joker,我就从头开始理思路了.中途也会说一些和 DP 算法本身有关的杂谈,给自己的冗长题解找借口. 首先,治疗方案不会重复使用.因为重复使用只会空加代价,而不会在特定时刻产生额外贡献.故而总决策方案应有 \(2^m\) 个,我们需要在这 \(2^m\) 个中找出最小可能花费. DFS 是最显然的算法,但显然不可做,不过它枚举状态的思路很好地把我们引向了 DP. 于是开始尝试设计 DP 状态. DP 状态定义中,…
Solution -「基环树」做题记录
写的大多只是思路,比较简单的细节和证明过程就不放了,有需者自取. 基环树简介 简单说一说基环树吧.由名字扩展可得这是一类以环为基础的树(当然显然它不是树. 通常的表现形式是一棵树再加一条非树边,把图画出来是一种向外发散的有趣图案. 体现在[题目条件]上就是一个 \(n\) 个点 \(n\) 条边的连通图或保证每一个点的入度 / 出度为 \(1\) (有向图:前者称为外向树,后者称为内向树). 常常会把一些在树上做的 dp 放在基环树上以提高题目难度. 惯用思路是先把以环上的点为根的子树内的信息跑…
Solution -「WC 2022」秃子酋长
\(\mathscr{Description}\) Link. (It's empty temporarily.) 给定排列 \(\{a_n\}\),\(q\) 次询问,每次给出 \([l,r]\),求升序枚举 \(a_{l..r}\) 时下标的移动距离. \(n,q\le5\times10^5\). \(\mathscr{Solution}\) 我写了个不加莫队,它慢死了. 我写了个 Ynoi 风格的纯纯分块预处理,它慢死了. 我写了个 polylog 的正解,它还是慢…
Solution -「JSOI 2019」「洛谷 P5334」节日庆典
\(\mathscr{Description}\) Link. 给定字符串 \(S\),求 \(S\) 的每个前缀的最小表示法起始下标(若有多个,取最小的). \(|S|\le3\times10^6\). \(\mathscr{Solution}\) 注意到一个显然的事实,对于某个前缀 \(S[:i]\) 以及两个起始下标 \(p,q\),若已有 \(S[p:i]<S[q:i]\),那么在所有的 \(j>i\) 中,都有 \(S[p:j]<S[q:j]\).换言之,最终…
Solution -「CF 1622F」Quadratic Set
\(\mathscr{Description}\) Link. 求 \(S\subseteq\{1,2,\dots,n\}\),使得 \(\prod_{i\in S}i\) 是完全平方数,并最大化 \(|S|\). \(n\le10^6\). \(\mathscr{Solution}\) 爆搜打出 \(20\) 以内的表,发现 \(|S|\approx n\).先研究偶数 \(n=2k\): \[\begin{aligned} \prod_{i=1}^{2k} i! &= \le…
Solution -「CF 923F」Public Service
\(\mathscr{Description}\) Link. 给定两棵含 \(n\) 个结点的树 \(T_1=(V_1,E_1),T_2=(V_2,E_2)\),求一个双射 \(\varphi:V_1\rightarrow V_2\),使得 \(\forall (u,v)\in V_1^2,~(u,v)\notin E_1\lor (\varphi(u),\varphi(v))\notin E_2\),或声明无解. \(n\le10^4\). \(\mathscr{Solution…
Solution -「CEOI 2017」「洛谷 P4654」Mousetrap
\(\mathscr{Description}\) Link. 在一个含 \(n\) 个结点的树形迷宫中,迷宫管理者菈米莉丝和一只老鼠博弈.老鼠初始时在结点 \(y\),有且仅有结点 \(x\) 布置有陷阱.一条边有切断,脏和干净三种状态,初始时所有边是干净的,每一回合中: 管理者先行动:选择一条脏或干净的边,将其切断:选择一条脏的边,将其清理干净:或者不进行任何操作,此时管理者所用的操作次数不变. 老鼠后行动:设当前老鼠在结点 \(u\),则选择一条干净的边 \((u,v)\),走到…
Solution -「CEOI 2006」「洛谷 P5974」ANTENNA
\(\mathcal{Description}\) Link. 给定平面上 \(n\) 个点,求最小的能覆盖其中至少 \(m\) 个点的圆半径及一个可能的圆心. \(n\le500\),坐标值 \(X\in[0,10^4]\). \(\mathcal{Solution}\) 不难想到二分答案 \(r\),以每个点为圆心,\(r\) 为半径作圆,若 \(r\) 合法则能找到一个被至少 \(m\) 个圆覆盖的点. 但是圆的交极难处理,结合数据范围,考虑通过一些枚举操作来简化问题-…
Solution -「CF 923E」Perpetual Subtraction
\(\mathcal{Description}\) Link. 有一个整数 \(x\in[0,n]\),初始时以 \(p_i\) 的概率取值 \(i\).进行 \(m\) 轮变换,每次均匀随机取整数 \(r\in[0,x]\),令 \(x\leftarrow r\).求变换完成后 \(x=i~(i=0..n)\) 的概率.答案模 \(998244353\). \(\mathcal{Solution}\) 令向量 \(\boldsymbol p\) 为此时 \(x\) 的取值概率,显然…
Solution -「ZJOI 2013」「洛谷 P3337」防守战线
\(\mathcal{Description}\) Link. 有 \(n\) 个位置,从左至右编号 \(1\sim n\).在第 \(i\) 个位置放一座塔的代价为 \(c_i\),一个位置可以放任意数量的塔.给定 \(m\) 个要求,第 \(i\) 个表示 \([l_i,r_i]\) 内至少有 \(d_i\) 座塔.求最小的代价和. \(n\le10^3\),其余参数 \(\le10^4\). \(\mathcal{Solution}\) 经历了逝量的 whk 学习,我学会了…
Solution -「HDU 6643」Ridiculous Netizens
\(\mathcal{Description}\) Link. 给定一棵含有 \(n\) 个结点的树,点 \(u\) 有点权 \(w_u\),求树上非空连通块的数量,使得连通块内点权积 \(\le m\). \(n\le2\times10^3\),\(m\le10^6\),\(w_u\in[1,m]\),数据组数 \(T\le10\). \(\mathcal{Solution}\) 很明显是点分,每次考虑跨当前分治重心 \(r\) 的所有连通块对答案的贡献.问题变为:求树上以 \…
Solution -「ARC 124E」Pass to Next
\(\mathcal{Description}\) Link. 有 \(n\) 个人站成一个环,初始时第 \(i\) 个人手里有 \(a_i\) 个球.第 \(i\) 个人可以将自己手中任意数量的求给第 \(i+1\) 个人,第 \(n\) 个人则可以给第 \(1\) 个人.设所有人同时进行一次传球后,第 \(i\) 个人手里有 \(b_i\) 个球,并令 \(B\) 为所有可能的 \(\lang b_n\rang\) 构成的集合,求 \[ \sum_{\lang b_n \rang\i…
Solution -「CF 1586F」Defender of Childhood Dreams
\(\mathcal{Description}\) Link. 定义有向图 \(G=(V,E)\),\(|V|=n\),\(\lang u,v\rang \in E \Leftrightarrow u<v\).求一个对 \(E\) 的染色 \(f\),使得 \(\not\exist \lang v_1,v_2,\cdots,v_{k+1} \rang, |\{f(v_i,v_{i+1})\mid i\in[1,k]\}|=1\),同时最小化 \(f\) 的值域大小. \(2\le k…
Solution -「NWRRC 2017」「洛谷 P7024」Fygon 2.0
\(\mathcal{Description}\) Link. 给定一个无并列语句的多重循环,每个变量取值的左端点只能是 \(1\) 或已定义的变量:右端点只能是 \(n\) 或已定义的变量.求循环语句关于 \(n\) 的复杂度以及常数. 循环语句数量 \(m<20\). \(\mathcal{Solution}\) 按变量的偏序关系建图,缩掉 SCC--它们的取值必然相等,设有 \(s\) 个 SCC,那么循环的复杂度显然是 \(\mathcal O(n^s)\),难点在于求常…
Solution -「OurOJ 46544」漏斗计算
\(\mathcal{Description}\) Link. 定义一个运算结点 \(u\) 有两个属性:当前容量 \(x_u\).最大容量 \(V_u\).提供以下单元操作: I 读入一个整数 \(x\),令新结点 \(u=(x,x)\). F u 装满 \(u\) 结点,即令 \(x_u=V_u\). E u 清空 \(u\) 结点,即令 \(x_u=0\). C s 令新结点 \(u=(0,s)\). M u 令新结点 \(v=(0,x_u)\). T u v 不断令 \(x_u\…
Solution -「CF 1237E」Balanced Binary Search Trees
\(\mathcal{Description}\) Link. 定义棵点权为 \(1\sim n\) 的二叉搜索树 \(T\) 是 好树,当且仅当: 除去最深的所有叶子后,\(T\) 是满的: 对于 \(T\) 中任意结点 \(r\),若 \(r\) 存在左儿子 \(u\),则 \(r\not\equiv u\pmod2\): 若 \(r\) 存在右儿子 \(v\),则 \(r\equiv v\pmod2\): 给定 \(n\),求 好树 数量.答案对 \(998244353\) 取…
Solution -「CCO 2019」「洛谷 P5532」Sirtet
\(\mathcal{Description}\) Link. 在一个 \(n\times m\) 的网格图中,每个格子上是空白 . 或沙子 #,四联通的沙子会连成一个整体.令此时所有沙子块同时开始匀速下落,下落时不同的沙子块不会再连成整体,求最终状态. \(nm\le10^6\). \(\mathcal{Solution}\) 虽然切了但考点掌握得并不熟练. 考虑一列上的两堆沙子,上方一堆所在的块必然会被下方一堆所在的块托住,若从模拟入手,就是"先让后者下落,再让前者下落&…
Solution -「Ynoi 2018」「洛谷 P4117」五彩斑斓的世界
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),处理 \(m\) 次操作: 给定 \(l,r,x\),把 \([l,r]\) 内所有 \(>x\) 的数减去 \(x\): 给定 \(l,r,x\),查询 \([l,r]\) 内 \(x\) 的出现次数. \(n\le10^6\),\(m\le5\times10^5\),\(0\le a_i,x\le10^5\). \(\mathcal{Solution}\) 巧妙的分块题. 分…
Solution -「ZJOI 2016」「洛谷 P3352」线段树
\(\mathcal{Descrtiption}\) 给定 \(\{a_n\}\),现进行 \(m\) 次操作,每次操作随机一个区间 \([l,r]\),令其中元素全部变为区间最大值.对于每个 \(i\),求所有可能操作方案最终得到的 \(a_i\) 之和.答案模 \((10^9+7)\). \(n,q\le400\). \(\mathcal{Solution}\) 那什么我懒得写题解了就把草稿贴上来好了.( \[f(i,l,r,x):=\text{the operating way…
Solution -「ARC 126E」Infinite Operations
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),定义一次操作为: 选择 \(a_i<a_j\),以及一个 \(x\in\mathbb R_+\),使得 \(a_i+x\le a_j-x\): 令 \(a_i\leftarrow a_i+x,a_j\leftarrow a_j-x\),本次操作的得分为 \(x\). 定义序列的得分为进行任意次操作能得到的最大得分和,现给定 \(m\) 次形如 \(a_x\leftarrow y\) 的修…
Solution -「ARC 126F」Affine Sort
\(\mathcal{Description}\) Link. 给定 \(\{x_n\}\),令 \[f(k)=\left|\{(a,b,c)\mid a,b\in[0,c),c\in[1,k],\left(\forall i\in[1,n),(ax_i+b)\bmod c<(ax_{i+1}+b)\bmod c\right)\}\right| \] 求出 \[\lim_{k\rightarrow+\infty}\frac{f(k)}{k^3}\bmod 998244353. \] …
Solution -「ABC 219H」Candles
\(\mathcal{Description}\) Link. 有 \(n\) 支蜡烛,第 \(i\) 支的坐标为 \(x_i\),初始长度为 \(a_i\),每单位时间燃烧变短 \(1\) 直到长度为 \(0\).你从 \(0\) 位置出发,每次可以向左或向右走 \(1\) 单位,走到一个蜡烛的位置可以吹熄蜡烛.求最多能保留的蜡烛长度之和. \(n\le300\). \(\mathcal{Solution}\) 和 甲虫 这题比较像,可以说是相同思路的不同实现方法.问题的核心自…
Solution -「Gym 102979E」Expected Distance
\(\mathcal{Description}\) Link. 用给定的 \(\{a_{n-1}\},\{c_n\}\) 生成一棵含有 \(n\) 个点的树,其中 \(u\) 连向 \([1,u)\) 中的某个 \(v\),概率为 \(\frac{a_v}{a_1+a_2+\cdots+a_{u-1}}\),边权为 \(c_u+c_v\).并给出 \(q\) 组询问 \((u_i,v_i)\),每次回答 \(u_i\) 到 \(v_i\) 的树上距离的期望.答案对 \((10^9+7)\…
Solution -「Gym 102979L」 Lights On The Road
\(\mathcal{Description}\) Link. 给定序列 \(\{w_n\}\),选择 \(i\) 位置的代价为 \(w_i\),要求每个位置要不被选择,要不左右两个位置至少被选择一个.求前 \(k\) 小的选择代价. \(n,k\le2.5\times10^5\). \(\mathcal{Solution}\) 建图,边形如 \(\lang i,i+j,w_i\rang~(j=1,2,3)\),再引入左右两个虚点 \(s,t\),那么每种方案对应从 \(s\)…
Solution -「CodeChef JUMP」Jump Mission
\(\mathcal{Description}\) Link. 有 \(n\) 个编号 \(1\sim n\) 的格子排成一排,并有三个权值序列 \(\{a_n\},\{h_n\},\{p_n\}\),其中 \(\{p_n\}\) 是一个排列.从 \(i\) 跳到 \(j\),必须满足 \(i<j\land p_i<p_j\),代价为 \((h_i-h_j)^2+a_j\),求从 \(1\) 跳到 \(n\) 的最小代价. \(n,h_i\le6\times10^5\). \(\m…