随笔分类 - dp
摘要:传送门 题意 给一串卡片,每个卡片有一个长度。将这串卡片进行折叠,但必须保持首尾相接,类似于一沓点卡。问最小的折叠后的宽度。 分析 首先题目给的是从0点出发。但实际上我们可以让出发点不固定,这样可以固定左端点,可以假设最终的左端点是原点。那么设置一个dp 。其中 dp[i][j] 表示前 i 个卡片
阅读全文
摘要:记录一个比较有意思的题目 题意: 给一个数组 a 从数组中删除一个元素的时候,后面的元素会自动前移。问最少删除多少元素可以使得数组中 a[i]==i 的元素数量>=k; 做法: 考虑 dp dp[i][j]代表前i个元素删除 j 个时的满足条件的数量 。转移分删除当前i元素和不删 分别是 dp[i-
阅读全文
摘要:https://codeforces.ml/contest/1391/problem/D 位运算,绝妙的一个题 #include <iostream> #include <cstring> #include <cstdio> #include <vector> using namespace std
阅读全文
摘要:又是一个div3的简单dp 题意 给个链接自行体会 http://codeforces.com/problemset/problem/1324/E 代码 #include<bits/stdc++.h> using namespace std; int dp[2005][2005]; int a[20
阅读全文
摘要:前言 有一说一,这是我做过最简单的一道E题 题意 告诉你有个大楼,然后让你求出从一楼到每一楼的最短时间。其中,上楼有两种方式1.走楼梯2.坐电梯。楼梯可以直接走,电梯需要一个等待时间。数据给出层与层之间不算等待时间的两种方式上楼所需的时间。 做法 很容易想到dp,而且是最基础的dp(估计div3也就
阅读全文
摘要:链接https://www.luogu.com.cn/problem/P1879 题目 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。 遗憾的
阅读全文
摘要:链接 https://www.luogu.com.cn/problem/P2051 记录下第一次过省选难度的题。 题目分析 由题意可知每一列和每一行能同时存在的炮都不能超过2个,否则就会互殴。那么只需要记录每一行有1个炮的列数和有2个炮的列数递推即可。 具体做法 设状态dp[i][j][k]其中i代
阅读全文
摘要:[ZJOI2007]棋盘制作 题目链接 题目梗概 这是一个提高+难度的题,但是感觉并配不上这个难度,主要想记一种矩形里面求最大子矩形的方法。 这个做法我称之为吊着的dailinzu法。 具体做法 具体来讲就是想象有一条条线吊着dailinzu然后对每个位置对齐,然后分别求出三个方向的线。这样就确定了
阅读全文
摘要:教育场的一道区间dp题; 题目让在相邻两项如果相等则可以合并且++的条件下求最短的区间长度。 可以枚举区间长度,然后再在每个长度下遍历数组。 而对于每一个区间,其最终值等于其子区间值的和。那么就需要遍历每个长度时遍历其子区间。 如果遇到某两个子区间之间经过一系列操作后长度都为1且相等,则可以将他们合
阅读全文
摘要:考虑用dp的做法,容易想到价格低的物品一定要比价格高的物品拿的优先级高,所以排序。 dp[i]表示取前i件物品需要的最少价格,当超越了价格,就不算。 转移方程为 dp[i]=min(dp[i-1]+a[i],dp[i-k]+a[i]) 表示当前物品单独买和买一送一的情况; 取最小值。 上代码 #in
阅读全文
摘要:第四次写题解,请多指教! http://codeforces.com/contest/1287/problem/C题目链接 题目大意是有一个数字串挂有1-n n个数字,现在上面缺失了一些数字,让你找出使得复杂度最低的填补方式,求出最低复杂度。 数据量只有100;显然可以用dp来做;创建一个四维dp[
阅读全文

浙公网安备 33010602011771号