随笔分类 - 个人ACM练习题解
摘要:###题目地址 ##题意: 在 1~N 的某个全排列中有多少个连号区间?如果一个区间中的所有数字按升序排列后是连续数列,则称其“连号”,如3,4,5 ##分析: 蓝桥杯 2013 省 B。原题数据很水,可 过之。洛谷已加强时间限制,算是偏难的问题,应该被评为紫才对。 析合树的经典例题。
阅读全文
摘要:###题目地址 ##题意: 在一个DAG图中,点 i 只有最多m条出边连向 i+1 ~ i+m(m<=10),边权均为1。对于 ,依次输出当点k被删除时1到n的最短路。 ##分析: 标准做法无非就是预处理1到i的最短路和i到n的最短路,又由于题目性质,对于k我们只需对[k
阅读全文
摘要:###题目地址 ##题意: 把正整数序列分隔为m个区间,若单个区间的元素之和为X,则其贡献为 。求所有区间的贡献之和的最小值。 ##分析: wqs二分+斜率优化dp。 用单调队列发可以达到 ,但注意,为了保证偏序关系,(以我个人代码习惯)当dp[i]有多个转移方向时要尽量选
阅读全文
摘要:###题目地址 ##题意: 如题所述。 ##分析: 斜率优化dp模板题。 题目没看清就下手,自以为题面所述中 i > j;原始dp式子也没设计准确。 中途在错误方向上头铁时,甚至没注意到横坐标是沿负轴增长的。 ##思路 令$h=s_i+i,\ g
阅读全文
摘要:###题目地址 ##题意: 把正整数序列分隔为若干区间,若单个区间的元素之和为X,则其贡献为 。求所有区间的贡献之和的最大值。 ##分析: 斜率优化dp模板题。 这篇博客描述得很清晰(但是推出的式子不等号方向弄反了)。 整理不等式,得到斜率表达式。每到一个 i 时,可以立即获取当
阅读全文
摘要:###题目地址 ##题意: 从一个序列中取任意个元素进行异或,求能异或出的所有数字中的第 k 小。 ##分析: 性质:一个线性基异或上另一个不同的线性基,并作为自己的新值,这并不改变整个线性基的性质(线性基只有元素数量是固定的)。 从大到小枚举每一个线性基d[i],从它的第二高位往低位扫,如果扫到d
阅读全文
摘要:###题目地址 ##题意: 现在一共有 只神奇宝贝。 你有 个『宝贝球』和 个『超级球』。 『宝贝球』抓到第 只神奇宝贝的概率是 ,『超级球』抓到的概率则是 。 不能往同一只神奇宝贝上使用超过一个同种的『球』,但是可以往同一只上既使用『宝贝球』又使
阅读全文
摘要:###题目地址 ##题意: 如原题所述。 ##分析: 原理:当一个元素插入线性基失败时,表示可以由之前的元素异或得到。 ##思路 贪心思想。先将魔力值从大到小排序,再逐个插入线性基,若可插入,则计入结果。 我一开始在正确的思路上陷入了复杂的方向,想将元素按原顺序插入线性基,当遇到插入失败的元素时,再
阅读全文
摘要:一般的树形背包问题,往往与以下模板异曲同工。复杂度为 void dfs(int u) { sz[u] = 1; for(auto v:G[u]) { dfs(v); sz[u]+=sz[v]; for(int j=sz[u]; j>=1; --j) //滚动背包,枚举自己的所有状态
阅读全文
摘要:类比坐标轴上的接雨水,记一个单元格的水位高度为h(如果无水,则为该单元格的高度),可以知道,h为该单元格到所有边缘格的所有路径中,最大高度的最小值。(我是这样理解的:考虑水沿任何路径向边缘流动,这条路径的贡献就是其最高位置。所有路径最大高度组成了一个圈,由木桶效应可知,其中的最小值就是最终水位)。
阅读全文