摘要:
Description 洛谷传送门 Solution 区间dp 状态定义 根据套路,我们定义 \(dp[i][j]\) 表示取走区间 \([i, j]\) 的最小花费。 但是只有区间范围似乎并不好转移,因为我们也不知道区间最大值以及最小值是多少。 所以我们再定义一个 \(f[i][j][x][y]\ 阅读全文
摘要:
Description 原题链接 Solution 很巧妙的一种思想:分类讨论 分为 6 种情况,如下图: 可以发现,每一张图都被分为了 3 块,我们就可以分别在这三个部分中各选择一个 \(k * k\) 的矩形,取最大值。 具体实现: 首先要进行预处理,设一个点为 \((x, y)\) 我们要预处 阅读全文
摘要:
Description 洛谷传送门 有一些小于$10^6$的质数,你需要把它们倒过来并补成一个 7 位数,例如质数 700001,将转变成 1000070,900001,将转变为 1000090,你要将转变后的数存成一个序列。输入有两种操作: 查询:输入q i,你需要输出这个序列中前 \(i\) 小 阅读全文
摘要:
Description 内部题目,不放链接了。 Solution emm乍一看,感觉一点思路都没有。\(or\),\(and\) 的期望怎么算啊?\(xor\) 的期望又怎么算錒? 我们发现数字的每一位是互不干扰的,那就可以对于每一位分别处理。 然后对于 \(or\),\(and\),\(xor\) 阅读全文
摘要:
Description 内部题目,不放链接了。 Solution 题意大概就是让求平均数大于 \(m\) 的子段的个数。 很容易想到前缀和,但是这个前缀和该怎么用呢? 我们可以先把 \(a\) 序列每个数都减去 \(m\) 之后在做前缀和。 这样判断一个子段是否合法只需要判断子段和是否大于 0,即可 阅读全文
摘要:
Description 内部题目,不放链接了。 Solution 类似于状压 \(dp\),我们对于每一位分别处理。 判断同一个父节点的两个儿子,若对应位字母相同,则不处理。 若不同,就把状态 或 起来,并把差异值加一。 然后……就没有然后了。 这题可以用 \(bitset\) 维护。 Code # 阅读全文
摘要:
Description POJ传送门 (简化版)只输出操作次数,不用输出方案。 Solution 直接爆搜?显然复杂度会炸。 考虑优化,我们想到 \(IDA*\)(迭代加深搜索),这篇博客默认你已经会了这个算法,如果还不会的话可以去网上搜一下。 不难发现,本题的乐观估价函数为 \(8 - cnt\) 阅读全文
该文被密码保护。 阅读全文
摘要:
Description CF898F Restoring the Expression Solution 很明显的一道哈希题,那么我们考虑哈希能否支持加法。 我们通过列举大量式子发现,普通的哈希是不行的,但是我们换一个乘数,也就是令 \(Base = 10\),那么是不是就可以支持加法了呢。 但是这 阅读全文