![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
f(x)f(x)f(x)
小白一只
展开
-
状压dp入门题 《P1896 [SCOI2005]互不侵犯》
P1896 [SCOI2005]互不侵犯原题戳我qwq题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。输入格式只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)输出格式所得方案数样例:输出:3 2输入:16状态压缩动态规划 俗称 状压dp状压dp状压dp。状态压缩通常采用二进制来表示状态和运行,原创 2020-08-08 21:50:41 · 291 阅读 · 2 评论 -
没有上司的舞会(树形dp入门题)
洛谷 P1352没有上司的舞会题目描述*某大学有 n 个职员,编号为 1…n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 r[i]r[ i ]r[i],但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。输入格式输入的第一行是一个整数 nnn。第 2 到第 (n+1)(n + 1原创 2020-07-23 09:46:42 · 1280 阅读 · 4 评论 -
石子合并(一排石头哦)区间dp入门
石子合并(一排石头)题目描述有N堆石子排成一排(n<=100),现要将石子有次序地合并成一堆,规定每次只能选相邻的两堆合并成一堆,并将新的一堆的石子数,记为改次合并的得分,编一程序,由文件读入堆数n及每堆石子数(<=200);(1)选择一种合并石子的方案,使得做n-1次合并,得分的总和最少(2)选择一种合并石子的方案,使得做n-1次合并,得分的总和最多输入第一行为石子堆数n第二行为每堆石子数,每两个数之间用一空格分隔。输出从第1至第n行为得分最小合并方案,第n+1行为空行,从原创 2020-07-23 08:07:26 · 194 阅读 · 1 评论 -
问题 G: 2017夏令营第一阶段(Day3)问题G :维修栅栏(fence)
问题 G: 2017夏令营第一阶段(Day3)问题G :维修栅栏(fence)题目描述农场的栅栏年久失修,出现了多处破损,晶晶准备维修它,栅栏是由n块木板组成的,每块木板可能已经损坏也可能没有损坏。晶晶知道,维修连续m个木板(这m个木板不一定都是损坏的)的费用是sqrt(m)。可是,怎样设计方案才能使总费用最低呢?请你也来帮帮忙。输入第一行包含一个整数n(n≤2500),表示栅栏的长度;第二行包含n个由空格分开的整数。如果第i个数字是0,则表示第i块木板已经损坏,否则表示没有损坏。输出仅包含原创 2020-06-12 13:46:44 · 309 阅读 · 1 评论 -
问题 A: 2017夏令营第一阶段(Day3)问题A拆分数字I
问题 A: 2017夏令营第一阶段(Day3)问题A拆分数字I题目描述把数字N拆分一些正整数的和,问有多少种不同的方法?例如:N=4,有1+1+1+1、1+1+2、1+2+1、1+3、2+1+1、2+2、3+1、4八种方法输入第一行:一个整数N,范围在[1,50]。输出输出方案数。样例输入3样例输出4题目分析首先,我们来分析一下题目。数据1<=n<=50,数据范围并不是很大,直接硬做不是问题。还有一种思想就是递归,但是因为本博主太水 ,不太会。以下是本博主原创 2020-06-10 14:01:51 · 239 阅读 · 0 评论