摘要:
本周总结 写完了这周写的题之后,对线性dp的几个常见模型更加了解了,加深了对 《背包九讲》里面的内容的理解。 大主题 动态规划 小专题 刷了 《算法竞赛》 上的线性dp的课后习题。写了线性dp以及背包问题,两个问题的文档。 题目完成情况 40多道线性dp的题目(包括背包问题) 题解见文档末尾: 20 阅读全文
摘要:
P1858 多人背包 题意: 一共有 $K$ 个人,每个人的背包容量相同都为 $V$ ,一共有 $N$ 种物品,每个人每种物品都最多选一个。要求每个人的选的物品总体积必须等于背包的体积。并且要求这 $K$ 个的 选法都不相同,求在满足上面要求的前提下,包里物品的总价值是多少? 思路: 要求总和最大, 阅读全文
摘要:
HDU 1712 ACboy needs your help 题意: 一共有 $n$ 轮,给出在每一轮中,选择 $y$ 份获得的价值。现在一共可以选择 $m$ 份,求最终获得的最大价值是多少。 思路: 其实相当于每一轮,只能在众多物品中选择一样,其实就是一个典型的分组背包问题了。 实现: #incl 阅读全文
摘要:
P1833 樱花 题意: 混合背包问题。 思路: 将时间点相减变成限制的一个时间段之后就是一个混合背包的模板。 https://www.cnblogs.com/zxr000/p/16999868.html 实现: #include <bits/stdc++.h> using namespace st 阅读全文
摘要:
P1853 投资的最大效益 题意: 初始资金为 $s$ ,一共有 $n$ 年,$d$ 种债卷,给出债卷的投资额和年利息,求 $n$ 年后可以获得的最多资金? 思路: 由于每年之间买债卷是互不影响的,所以我们先看一年如何买。 假设当前资金为 $sum$ 然后求怎么买收益最高,其实就是一个多重背包问题。 阅读全文
摘要:
P1060 开心的金明 题意: 01背包问题 思路: 01背包模板 实现: #include<stdio.h> #include<algorithm> using namespace std; int dp[30005] = {0}; int val[30]; int lev[30]; int ma 阅读全文
摘要:
题意: 太长了:https://www.luogu.com.cn/problem/P5301 思路: https://www.cnblogs.com/do-while-true/p/14993015.html https://www.luogu.com.cn/blog/genshy/solution 阅读全文
摘要:
P3558 BAJ-Bytecomputer 题意: 给定一个长度为 $n$ 的只包含 $-1,0,1$ 的数列 $a$ ,每次操作可以使 $a_i \leftarrow a_i + a_{I - 1}$ ,求最少操作次数使得序列单调不降。如果不可能通过改操作使得序列不下降,输出 BRAK 思路: 阅读全文
摘要:
P3336 [ZJOI2013]话旧 题意: $f(x)$ 为定义在 $[0,N]$ 的连续函数 $f(x)$ ,其中 $N$ 是整数,满足 $f(0) = f(N) = 0$ ,它的所有极值点在正输出去到,且 $f(x)$ 的 极小值 均是 $0$ 。对于任意的 $0$ 到 $N-1$ 之间的整数 阅读全文
摘要:
Cf 54C First Digit Law 题意: 一个数组中有n个数,给出第 $i$ 个数的范围 $[l_i,r_i]$ ,定义这n个数中以1开头的数为特殊数,求这n个数中,特殊的数出现的比例至少为k%的概率。 数据范围: $ 1 \le n \le 1000, 1\le L_i \le R_i 阅读全文