![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
dp
SWUST_Vector
心怀希望的人最强大!!!
展开
-
家庭作业——并查集+贪心
题目链接:家庭作业 贪心解题:对于每一个作业肯定是要完成分数最大的,因此只需要在小于等于规定时间内完成即可,并且需要保证尽量在靠近规定时间的时候完成最好,少占用前面的时间。 并查集优化:使用并查集来记录前面最近的空余时间。 #include <bits/stdc++.h> using namespace std; const int N=1e6+75; int fa[N]; //父类数组; int dfs(int x){ //dfs查询根节点(即最近的空余原创 2020-11-04 20:09:18 · 271 阅读 · 0 评论 -
悬线dp(HDU1505)
HDU 1505 算法思想:对于每一点面积=up[i][j]*(r[j]-l[j]+1); 算法步骤: 1.统计每一层的最高长度up[][]; 2.利用up[][]维护r[]数组和l[]数组; #include <bits/stdc++.h> using namespace std; const int N=1234; int H[N][N],l[N],r[N]; int main()...原创 2020-03-29 12:49:09 · 284 阅读 · 0 评论 -
最长上升序列
第一种方法 复杂度(n2)虽然好理解但是耗时,会被卡时间; #include<stdio.h> #include<iostream> #include<algorithm> #include<cstring> #include<queue> #include<vector> #include<cmath> usin...原创 2019-08-10 16:17:08 · 125 阅读 · 0 评论 -
背包问题
动态规划入门——背包问题 注意计算机的最大优点在于它的强大计算功能,以及存储功能,你能做的就是合理利用这些优点该循环就循环,该遍历就遍历。要知道简洁的算法毕竟不是那么多。 最基础、最重要、最好玩——01背包* 问题描述: 有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。 例如...原创 2019-07-13 13:33:12 · 176 阅读 · 0 评论