上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页
摘要: 题目链接:HRBUST 1819 石子合并问题--圆形版 题目大意: 题解: 区间$dp$模板题,由于是圆形操场,所以将数据再拓展一遍,用前缀和存储石子堆数量。 #include <iostream> using namespace std; #define INF 0x3f3f3f3f int d 阅读全文
posted @ 2021-07-26 02:21 ZZHHOOUU 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 题目链接:51Nod 1183 编辑距离 题目大意: 题解: 设$dp[i][j]$为字符串$A$的前$i$个字符变成字符串$B$的前$j$个字符需要的最小操作数。 若字符串$A$的第$i$个字符与字符串$B$的第$j$个字符相等,则问题变成将字符串$A$的前$i-1$个字符变成字符串$B$的前$j 阅读全文
posted @ 2021-07-26 01:19 ZZHHOOUU 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题目链接:51Nod 1006 最长公共子序列Lcs 题目大意: 题解: 最长公共子序列模板题,设$dp[i][j]$为字符串$A[1...i]$与字符串$B[1...j]$的最长公共子序列长度,则状态转移方程为: \(dp[i][j] = max\{dp[i-1][j-1] + (A[i] == 阅读全文
posted @ 2021-07-26 01:07 ZZHHOOUU 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 题目链接:HRBUST 1377 金明的预算方案 题目大意: 题解: 将主件和其附件分为一组,组内包含主件、主件和附件$1$、主件和附件$2$、主件和附件$1,2$至多四个物品。 对所有组进行$01$背包,每组只能选一个。 #include <cstring> #include <iostream> 阅读全文
posted @ 2021-07-26 00:56 ZZHHOOUU 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题目链接:51Nod 2649 完全背包 题目大意: 题解: 完全背包模板题。 #include <iostream> using namespace std; int dp[50010], v[110], c[110], n, V; int main() { cin >> n >> V; for 阅读全文
posted @ 2021-07-26 00:50 ZZHHOOUU 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目链接:计蒜客 T2129 采药 题目大意: 有许多药材,都有各自采摘需要的时间和其价值,要求在规定时间内采药使获得的价值最大。 题解: $01$背包模板题。 #include <iostream> using namespace std; int dp[1010], t, m, w, v; in 阅读全文
posted @ 2021-07-26 00:45 ZZHHOOUU 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目链接:计蒜客 T1408 矩形嵌套 题目大意: 题解: 按宽对矩形从小到大排序,宽相等的矩形长更大的在前面,再对矩形的长计算最长升。 #include <algorithm> #include <iostream> using namespace std; int dp[1010], len, 阅读全文
posted @ 2021-07-26 00:38 ZZHHOOUU 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题目链接:OpenJudge 2711 合唱队形 题目大意: 题解: 正反各求一次最长上升序列,对每个点取正反两次以该点为最高点的最长上升子序列长度之和(注意该点被取两次,需要减一)即为以该点为最高点的最长合唱队列。 #include <algorithm> #include <iostream> 阅读全文
posted @ 2021-07-26 00:29 ZZHHOOUU 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 题目链接:51Nod 2080 最长上升子序列 题目大意: 求最长上升子序列长度。 题解: 最长升模板题。 #include <algorithm> #include <iostream> using namespace std; int dp[1010], len, a[1010], n; int 阅读全文
posted @ 2021-07-26 00:21 ZZHHOOUU 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 比赛链接:2021 nuaa 暑期模拟赛 **比赛码:**1234554321 D - 然叔的玩具熊 答案是单调的,考虑每个数能成为答案的最大区间长度,即这个数是区间最小值,所以找每个数前后第一个小于它的即可得到最长长度,短的长度可以通过后缀最大传递下来。 单调栈可以$O(n)$。 #include 阅读全文
posted @ 2021-07-11 11:32 ZZHHOOUU 阅读(75) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页