Solution -「JOISC 2021」古老的机器】的更多相关文章

\(\mathcal{Description}\)   Link.   这是一道通信题.   对于长度为一个 \(n\),仅包含字符 X, Y, Z 的字符串 \(s\),将其中 \(n\) 个字符按任意顺序删去,定义删除方案的权值为在子串 XYZ 中删除 Y 的次数.实现两个函数: void Anna(int N, std::vector<char> S),获取字符串信息,传递不超过 \(7\times10^4\) 个 01 位用于通信: void Bruno(int N, int L, s…
\(\mathcal{Description}\)   Link.   呐--不想概括题意,自己去读叭~ \(\mathcal{Solution}\)   如果仅有 1. 3. 操作,能不能做?   --简单整体二分.   如果仅有 1. 2. 操作,能不能实时维护每个位置还剩下多少人?累计走了多少人?   --吉司机线段树.   所以,离线下来,把上两个重工业揉在一起就能粗暴地过掉这道题√ 复杂度 \(\mathcal O(n\log^2n)\)(\(n,m,q\) 同阶).   有 \(\m…
\(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个结点的树.称点集 \(S\) 到结点 \(u\) 的会合距离为 \(\sum_{v\in S}\operatorname{dist}(u,v)\).对于 \(|S|=1,2,\dots,n\),求使得满足 \(S\) 一定且 \(S\) 到 \(u\) 的会合距离最小时,可能选取的 \(u\) 的个数的最大值.   \(n\le2\times10^5\). \(\mathcal{Solution}\…
\(\mathcal{Description}\)   Link.   平面上有 \(n\) 个互不重合的点 \((x_{1..n},y_{1..n})\),求其两两曼哈顿距离的前 \(m\) 小值.   \(n,m\le2.5\times10^5\). \(\mathcal{Solution}\)   会做,但不完全会做.   数前 \(k\) 小的一种技术是:将解大致分类,在每类中维护最优解,一起放入堆中迭代.   应用到本题,按 \((x,y)\) 的二维偏序排序后,对于每个点,尝试维护其…
\(\mathcal{Description}\)   Link.   自己去读题面叭~ \(\mathcal{Solution}\)   首先,参悟[样例解释 #2].一种暴力的思路即为钦定集合 \(S\) 内的位置都合法,容斥计数.其中对于每条纸带的每个位置,有三种情况(令 _ 为"保持不变",注意没有被机器人经过的位置都有这种修改): 同时存在 _ 和 *:或者同时存在 0 和 1:只能为空,方案数为 \(1\): 否则,存在(_ 或 *)且存在(0 或 1):只能为空或 01…
\(\mathcal{Decription}\)   Link.   这是一道通信题.   给定一个 \(n\) 个点 \(m\) 条边的连通无向图与两个限制 \(A,B\).   程序 Anthony 需要用 \(0\sim A-1\) 共 \(A\) 中颜色为无向图的每条边染色.   程序 Catherine 需要帮助一只猫行走:已知猫所在结点邻接每种颜色的边的数量,你需要告诉猫走哪种颜色的边(但不能让它走特定某条),并保证猫从起点 \(s\) 到 \(0\) 所走的距离不超过两点最短距离…
\(\mathcal{Description}\)   Link.   给定序列 \(\{(a,b)_n\}\),\(q\) 组形如 \((l,r,c,d)\) 的询问,求 \[\Big|\{i\in[l,r]~\big|~a_i\oplus c\le \min\{b_i,d\}\}\Big| \]   \(n,q\le10^5\),\(a,b,c,d<2^{24}\). \(\mathcal{Solution}\)   CDQ 不熟练欸--   在 \(i\) 的限制条件中,最离谱的应该是 \…
\(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个结点的树,双向边权不相同.\(q\) 次询问,每次询问在树上标记 \(e\) 个点,标记的价值为所有趋向于某个标记点的有向边权值之和,求价值的最大值.   \(q\le n\le2\times10^5\). \(\mathcal{Solution}\)   \(e=1\text{ or }2\) 的时候可以直接换根求解.需要强调的是,当确定一个被标记的根时,其余标记点的贡献为根到这个标记点的有向路径…
\(\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!)\) 枚举 \(…
魔法题位面级乱杀. 「JOISC 2020 Day4」治疗计划 因为是不太聪明的 Joker,我就从头开始理思路了.中途也会说一些和 DP 算法本身有关的杂谈,给自己的冗长题解找借口. 首先,治疗方案不会重复使用.因为重复使用只会空加代价,而不会在特定时刻产生额外贡献.故而总决策方案应有 \(2^m\) 个,我们需要在这 \(2^m\) 个中找出最小可能花费. DFS 是最显然的算法,但显然不可做,不过它枚举状态的思路很好地把我们引向了 DP. 于是开始尝试设计 DP 状态. DP 状态定义中,…