贪心
贪心
谁是凶手1703
这个作者很懒,什么都没留下…
展开
-
区间覆盖问题【贪心】【双指针】
https://www.acwing.com/activity/content/problem/content/1114/1/贪心思路:把所有区间按照起点排序遍历每个区间,找到可以进过st的最远距离,用双指针算法#include<bits/stdc++.h>using namespace std;const int N=1e5+10;typedef pair<int...原创 2019-08-22 20:30:28 · 113 阅读 · 0 评论 -
超市【堆 贪心】
https://www.acwing.com/problem/content/description/147/先按照过期时间排序;定义小根堆(权重)小根堆代表前q.size(),卖出的商品遍历每一个商品,如果当前的商品过期时间>q.size() 把商品入堆反之,比较堆顶元素,若堆顶元素值比商品值小。pop掉,商品入堆#include<iostream>#inclu...原创 2019-08-24 16:23:12 · 129 阅读 · 0 评论 -
超市【贪心+并查集优化】
https://www.acwing.com/solution/acwing/content/1350/贪心策略:在不过期的时间内优先卖出利润更大的产品。按照价值降序,每次扫描到一个价值,尝试一下在过期之前能不能卖出去;此时可能已经有比它更大价值的产品占用了一些日期,于是从过期时间往前面找,直到找到一个空位置。如果这个空位置大于0,那么就把这个产品安排在这天卖出。暴力找位置最坏复杂度可以达...原创 2019-08-24 19:27:56 · 147 阅读 · 0 评论 -
导弹防御系统【dfs+贪心】
题意 问最少有多少个上升子序列 和下降子序列 可以覆盖一个序列#include<bits/stdc++.h>using namespace std;const int N=100;int a[N],up[N],down[N];int n;bool dfs(int depth,int u,int su,int sd){ if(su+sd>depth) re...原创 2019-10-30 23:11:55 · 255 阅读 · 0 评论 -
基础贪心算法小总结
区间选点&最大不相交数量做法 按照右端点排序,然后模拟,期间记录一个last变量#include<bits/stdc++.h>using namespace std;const int N=1e5;typedef pair<int,int>pll;pll a[N];int n;int main(){ cin>>n; for(int i=0;i<n;i++) { cin>>a[i].s原创 2020-08-14 10:21:56 · 90 阅读 · 0 评论