Solution -「CSP 2019」Partition】的更多相关文章

\(\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\) 的限制,表示…
\(\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]\).换言之,最终…
\(\mathcal{Description}\)   Link.   在一个 \(n\times m\) 的网格图中,每个格子上是空白 . 或沙子 #,四联通的沙子会连成一个整体.令此时所有沙子块同时开始匀速下落,下落时不同的沙子块不会再连成整体,求最终状态.   \(nm\le10^6\). \(\mathcal{Solution}\)   虽然切了但考点掌握得并不熟练.   考虑一列上的两堆沙子,上方一堆所在的块必然会被下方一堆所在的块托住,若从模拟入手,就是"先让后者下落,再让前者下落&…
\(\mathcal{Description}\)   Link.   有 \(n\) 个开关,初始时所有开关的状态为 \(0\).给定开关的目标状态 \(s_1,s_2,\cdots,s_n\).每次操作中会以正比于 \(p_i\) 的概率拨动开关 \(i\).求开关达到目标状态的期望操作次数,对 \(998244353\) 取模.   \(n\le100\),\(\sum p\le5\times10^4\). \(\mathcal{Solution}\)   不妨令 \(p_i\) 为一次操…
\(\mathcal{Description}\)   Link.   给定一棵含 \(n\) 个结点的树,双向边权不相同.\(q\) 次询问,每次询问在树上标记 \(e\) 个点,标记的价值为所有趋向于某个标记点的有向边权值之和,求价值的最大值.   \(q\le n\le2\times10^5\). \(\mathcal{Solution}\)   \(e=1\text{ or }2\) 的时候可以直接换根求解.需要强调的是,当确定一个被标记的根时,其余标记点的贡献为根到这个标记点的有向路径…
\(\mathcal{Description}\)   Link.   原题意足够简洁啦.( \(\mathcal{Solution}\)   乍一看比较棘手,但可以从座位的安排方式入手,有结论:   一个班的学生按身高排序后,相邻的两两坐在一桌.   证明略,比较显.   第二个结论:   设按上述方案分桌,从左至右将每桌编号为 \(1\sim n\).则每个班级的第 \(i\) 号桌都坐在同一个位子.   考虑交换两桌不能使答案变优即证.   考试的时候结论都看出来了结果写假了你敢信 qwq…
\(\mathcal{Description}\)   Link.   不想概括题意.jpg \(\mathcal{Solution}\)   定义点集 \(S_c=\{(u,v)|v=c\}\):第 \(k\) 层点表示所有满足 \(u=k\) 的结点 \((u,v)\).   尝试朴素 DP,令 \(f(i,j)\) 表示兔子从 \((0,x)\) 出发跳 \(i\) 步到达某个 \((u,v)\in S_j\) 的方案数(到达结点不同算不同方案):\(g(i,j)\) 表示兔子从 \((0…
「WC 2019」数树 一道涨姿势的EGF好题,官方题解我并没有完全看懂,尝试用指数型生成函数和组合意义的角度推了一波.考场上只得了 44 分也暴露了我在数数的一些基本套路上的不足,后面的 \(\exp\) 是真的神仙,做不出来当然很正常,而且我当时也不怎么会多项式. Task0 考虑公共边组成 \(k\) 个联通块,答案就是 \(y^k\) ,并查集维护一下即可,复杂度 \(\mathcal O(n\log n)\) . code namespace task0{ map<pair<int,…
LOJ#3054. 「HNOI 2019」鱼 https://loj.ac/problem/3054 题意 平面上有n个点,问能组成几个六个点的鱼.(n<=1000) 分析 鱼题,劲啊. 容易想到先枚举这个\(D\),然后极角序排一下,我们枚举\(A\),对\(B,E,F\)分别统计. 枚举\(A\)的过程中用一个指针维护\(E,F\)的范围,对答案贡献是一个\(\sum\binom{x}{2}\)的形式,容易维护. 然后现在要求\(B\)的方案数,可以发现符合条件的\(BC\)一定满足线段\(…
#3146. 「APIO 2019」路灯 题目描述 一辆自动驾驶的出租车正在 Innopolis 的街道上行驶.该街道上有 \(n + 1\) 个停车站点,它们将街道划分成了 \(n\) 条路段.每一路段都拥有一个路灯.当第 \(i\) 个路灯亮起,它将照亮连接第 \(i\) 与第 \(i + 1\) 个站点的路段.否则这条路段将是黑暗的. 安全起见,出租车只能在被照亮的路段上行驶.换言之,出租车能从站点 \(a\) 出发到达站点 \(b\ (a < b)\) 的条件是:连接站点 \(a\) 与…