贪心
cc 提升ing 变优秀ing
有需要搜广推nlp实习生的部门吗?
展开
-
leetcode:1029. 两地调度(中等)
题目:分析:看完题目之后,个人思路:暴力的话就是 2的n次方 的复杂度。然后应该就是再次基础上进行的一个剪枝吧!然后看标签是一个贪心。然后想了想,2N * 2个数据中,最大,最小的那个数据都有可能被选到的。最值贪心不行。题解:可以直接理解:A【i】-B【i】或者按照题解:全部都去A,花费sum,然后要减去(B【i】- A【i】),为去B而不去A多出来的费用,sum-n/2 个(B【i】- A【i】),sum是一定的,然后减去的当然越小越好。代码:class Solution {原创 2021-02-20 17:54:10 · 121 阅读 · 0 评论 -
leetcode:995. K 连续位的最小翻转次数(困难,贪心,差分)
题目:分析:在洛谷上应该做过。但是依然没有想出来,看到贪心标签才想起来当时是只管后面,不管前面。 虽然不清楚为啥,仅仅是感觉。这次细细看看题解。本来想直接进行模拟,ok,然后想到了差分。class Solution {public: int minKBitFlips(vector<int>& v, int K) { vector<int> v2(v.size()+2,0); int k=0; int i原创 2021-02-18 11:20:30 · 120 阅读 · 1 评论 -
leetcode:1023. 驼峰式匹配(双指针,中等,贪心)
题目:分析:看完題感觉没什么意思,就是一个双指针。想了一会也没想出题的亮点。看题解才看到亮点,也是设置为精华的原因,不用双指针那么复杂,删掉模式串,剩下的都是小写,那么就是true了。本人还是太菜了。但是代码实现好像是一样的啊啊!差不多。代码:class Solution {public: bool f(string s,string pattern) { int i=0;//queries int j=0;//pattern原创 2021-02-12 11:32:31 · 1258 阅读 · 2 评论 -
leetcode:1024. 视频拼接(中等,贪心)
题目:分析:快3周没写代码了。以后再次恢复正常情况下每天1-3题吧。不是区间dp问题,自己还是想了1-2min的。一个贪心题,还是挺容易想的。代码:class Solution {public: static bool cmp(vector<int> &a,vector<int> &b) { if(a[0]==b[0]) return a[1]<b[1]; return a[0]<b[0];原创 2021-02-04 20:54:43 · 2542 阅读 · 1 评论 -
leetcode:5634. 删除子字符串的最大得分(贪心,栈)
题目:分析:都想到了贪心,先ab或ba,选择分数大的。奈何只想到了replace,没有想到栈,太菜了。代码:class Solution {public: int maximumGain(string s, int x, int y) { stack<int> st; for(int i=s.size()-1;i>=0;i--) { st.push(s[i]); }原创 2021-01-10 16:54:15 · 153 阅读 · 0 评论 -
leetcode:406. 根据身高重建队列(中等,)
题目:分析1:上一年做过,竟然没做出来!按照身高从高到低的放即可,因为低的不会影响高的。排序后,第二个元素代表其放在哪个位置。分析2,:按照从低到高。留位置即可。刚开始自己想的时候还以为不可行。代碼:用分析1的,insert大显身手!!!class Solution {public: static bool cmp(vector<int>& v1,vector<int>& v2) { if(v1[0]==v2[0原创 2020-12-01 16:40:54 · 130 阅读 · 3 评论 -
leetcode:948. 令牌放置(中等,贪心)
题目:分析:首先注意,每个令牌只能使用一次。我们要获得更多的分数,应该先打开小的,然后获得最大的分数。贪心算法,直接设置每次更新一个,看看能往前推进多少。自己写出来了。代码:class Solution {public: int bagOfTokensScore(vector<int>& tokens, int p) { sort(tokens.begin(),tokens.end()); if(tokens.size()==0||p<token原创 2020-09-20 20:37:51 · 117 阅读 · 0 评论 -
洛谷:P4053 [JSOI2007]建筑抢修(提高+/省选-,贪心)
题目:分析:还是不会。看题解:很简单。相当于一个背包。首先按照维修截止时间来排序。之后发现下一个维修不了了,与之前在维修队列里面的最大值进行比较。代码:原创 2020-09-19 14:57:07 · 136 阅读 · 0 评论 -
洛谷:P3124 [USACO15OPEN]Trapped in the Haybales S(提高+/省选-,贪心)
题目:分析:边贪心,边暴力,边枚举认真想想其实挺简单的。分情况:初始只能撞坏一个。很简单。不简单啊,因为起初不能撞坏的,之后可能撞坏。初始能撞坏两个。转化为只能撞坏一个的。自己想了很长时间,最后看了答案,可以枚举每个柱子当做最终的要添加稻草的柱子。代码:#include<bits/stdc++.h>using namespace std;int m,n;struct node{ int x,v;//};bool cmp(struct node n1,struct no原创 2020-09-15 23:28:09 · 187 阅读 · 0 评论 -
洛谷:P5019 铺设道路(贪心,普及-)
题目:分析:稍想一下就是贪心哦。代码:#include<bits/stdc++.h>using namespace std;int A[100005];int main(){ int m; cin>>m; for(int i=0;i<m;i++) cin>>A[i];long long ans=A[0]; int now=A[0]; for(int i=1;i<m;i++) { if(A[i]==now) ; if(A[i]原创 2020-09-10 16:48:33 · 206 阅读 · 0 评论 -
洛谷:P3817 小A的糖果(贪心,)
题目:分析:很简单的一个贪心,希望考场上自己也能冷静分析。从左到右,当发现第一对和超过x,显然删除右边的。一个坑,最小为0.代码:#include<bits/stdc++.h>using namespace std;int m,x;int A[100005];int main(){ cin>>m>>x; for(int i=0;i<m;i++) cin>>A[i]; long long ans=0; for(int i=0;原创 2020-09-10 11:07:52 · 172 阅读 · 0 评论 -
洛谷:P1803 凌乱的yyy / 线段覆盖(普及-,最简单的区间问题)
题目:代码:#include<bits/stdc++.h>using namespace std;struct node{ int x1,x2;}nn[1000005];bool cmp(node n1,node n2){ return n1.x2<n2.x2;}int main(){ int m; cin>>m; for(int i=0;i<m;i++) cin>>nn[i].x1>>nn[i].x2; sort原创 2020-09-09 23:30:39 · 147 阅读 · 0 评论 -
洛谷:P4995 跳跳!(普及/提高-,贪心)
题目:分析:最高,最低吧。代码:#include<bits/stdc++.h>using namespace std;int main(){ int m; vector<int> v; cin>>m; for(int i=0;i<m;i++) { int c; cin>>c; v.push_back(c); } sort(v.begin(),v.end()); int a1=0,a2=v.size()-1; in原创 2020-09-09 20:03:00 · 264 阅读 · 0 评论 -
贪心:455. 分发饼干
问题:来源:leetcode分析:要先排序。我的贪心策略:都从小到大排序之后,看最小的饼干是否满足最小胃口的孩子,不满足,尝试下一块饼干。代码: vector<int> g;//胃 vector<int> s;//饼大小 sort(g.begin(),g.end()); sort(s.begin(),s.end()); int n=0; i...原创 2019-11-24 15:07:37 · 169 阅读 · 0 评论