题目描述 题解 考虑暴力dp: $f_{i,j}$表示前 $i$ 个分 $j$ 段的最小值,于是 $f_{i,j}=min{f_{k,j-1}+w_{k+1,i}}$ 其实想一下应该会发现上述dp具有决策单调性,于是我们可以分治求出每个 $i$ 的决策点 效率: $O(nklogn)$ 代码 #in ...
分类:
其他好文 时间:
2020-02-08 15:48:26
阅读次数:
60
题目描述 题解 考虑最高位 $k$ ,如果 $m_i$第 $k$ 位为 $1$ ,且 $x_i$ 第 $k$ 位为 $0$ 的话,那其他的 $x$ 可以取任意值,因为 $x_i$ 可以取到 $[0,2^k)$ 的任意一个数,所以可以调整一下,据此我们可以列出dp: $f_{i,j}$ 表示前 $i$ ...
分类:
其他好文 时间:
2020-02-08 15:27:33
阅读次数:
50
这题我们发现其实是dp的状态机模型,虽然我们发现一个数字可以更改多次 但是我们只要求相邻的不同,所以一个数字最多只跳两次,因为这样就能保证相邻不同,越多没有意义且费钱 所以我们只需三个for循环就能转移 另外本题有几个注意点 1.数据范围很大,所以不能用cin 2.memset会超时,血的教训,在大 ...
分类:
其他好文 时间:
2020-02-08 13:46:36
阅读次数:
63
Problem Description "互不侵犯" 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 Analysis of ideas 把每一行的每一个状态用一个二进制数表示 定义dp[i][j ...
分类:
其他好文 时间:
2020-02-08 13:30:12
阅读次数:
43
题目 "传送门" 思路 注意题目中的最后一段话 这意味这选出的序列可以不是连续的 之后我们考虑最后的答案长什么样子 因为只能反转一次 所以最后的答案一定是由4个部分组成 [1111$\cdots$] [222$\cdots$] [111$\cdots$ ] [222$\cdots$ ] 如果没有可以 ...
分类:
其他好文 时间:
2020-02-08 13:22:05
阅读次数:
56
从一个序列中每次取出一个回文串,求最少取几次(取出后两端外的数会相接) 设 $f[i][j]$ 为在闭区间 $[i,j]$ 取完所有的花费,则有 $f[i][i]=1, f[i][i+1]=1+[a[i] \neq a[i+1]]$ 转移方程 $f[i][j] = f[i+1][j 1], a[i] ...
分类:
其他好文 时间:
2020-02-08 10:10:04
阅读次数:
77
找到同时存在于 $k \leq 5$ 个排列中的 LCS Solution 记录每行中每个元素的出现位置,那么本质上是一个 $k$ 维偏序问题 对于 $j using namespace std; int n,k,f[1005],a[1005],p[6][1005]; int main() { ci ...
分类:
其他好文 时间:
2020-02-08 10:01:59
阅读次数:
53
给出 N 个植物,每个植物都属于一个品种,共计 m 个品种,分落在不同的位置上(在一个数轴上,而且数轴是无限长度的),保证读入的位置是按照升序读入的。 现在我们可以进行一个操作:取任意一个位置上的植物,移动到任意一个没有植物的位子上去。 问我们最少进行多少次操作,能够使得从左到右,是按照品种升序排列 ...
分类:
其他好文 时间:
2020-02-08 09:17:13
阅读次数:
61
题目链接: "http://poj.org/problem?id=2373" 题目描述 农夫约翰的奶牛们发现了在牧场的山脊上长着味道非常不错的三叶草。为了让这些三叶草得到灌溉,农夫约翰正在山脊上安装洒水器。 为了让安装流程得到简化,每一个洒水器必须沿着山脊进行安装(我们可以将山脊按成一个一维的长度为 ...
分类:
其他好文 时间:
2020-02-08 00:00:55
阅读次数:
89
题目地址 题意:给定N K W,初始值为0,每次等概率从[1,W]中选一个数加上,大于等于K即停止,问 停止时 小于等于N的概率。 定义状态,dp[i]表示停止时数字为i的概率,所以答案就是dp[k]+dp[k+1]+...dp[n] 状态转移,因为每次只能选[1,W],而且是等概率,所以dp[i] ...
分类:
其他好文 时间:
2020-02-07 22:50:15
阅读次数:
123