贪心
林黛玉倒拔垂杨柳
你我最后也平凡到自命不凡
展开
-
牛客OI赛制测试赛3 毒瘤xor(前缀和+贪心)
题目链接:点此跳转题目描述:解题思路:异或1取反,异或0不变,那么对于本题如果原来的数这一位是1,那我们肯定希望它异或一个0;如果原来是0,肯定希望异或1。那么我们只需要求出[l,r]这个区间里面的数在每一位是1多还是0多,1多那么x的这一位就是0,0多x的这一位就是1,然后开一个前缀和数组统计一下每一位1的个数即可。Code:#include<iostream>#include<cstring>#include<algorithm>using nam原创 2020-10-04 20:44:59 · 153 阅读 · 0 评论 -
中国石油大学秋季组队训练赛第二场(2019-2020 ICPC, Asia Jakarta Regional Contest) H. Twin Buildin 贪心
题意: 有n个长方形的岛,给出长宽。现在想要在岛上建两个大小完全一样的长方形房子,房子的边必须和岛的边平行,可以同时建在一个岛上或者分别建在两个岛上,问最大能建多么大的。解题思路:先考虑建在一个岛上的情况,那么就是最大的岛的面积除以二,建在两个岛上时,我们要从第一个一直对比到最后一个,在这个过程中选出最优解,要注意精度问题,double不能存下longlong的值 ,要在输出的时候特殊处理一下。Code:#include<iostream>#include<cstdio>#原创 2020-08-31 16:05:00 · 267 阅读 · 0 评论 -
切长条 贪心
切长条题目大意:解题思路:贪心就完事了,把长条按最右端从小到大排序,每次使没被切过的长条最右端为判断点即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5 + 7;const ll mod = 1e9 + 7;struct p { ll L, R;//左边和右边} a[N];bool cmp(p a, p b) { if (a.R != b原创 2020-08-20 11:40:17 · 94 阅读 · 0 评论 -
智算之道 复赛B 网格 (贪心+dp)
网格解题思路:首先判断魔法格的 优先级,如果优先级小于等于普通格的话,直接走普通格即可,大于的话,把魔法格排序,从第一个开始,判断最多可走即可,注意要用longlongCode:#include <bits/stdc++.h>using namespace std;typedef long long ll;int n, m, w1, w2;pair<int, int>a[2002];int dp[2002], mx;bool chmax(int &a,原创 2020-08-20 10:05:36 · 127 阅读 · 0 评论 -
2020暑期牛客多校第八场(K)Kabaleo Lite(前缀和贪心,大数爆longlong__int128)
Kabaleo Lite题目大意:有n道菜,每道菜有a[i]的利润,b[i]的数量,然后有一堆人来吃,要满足以下两个条件 必须从第一道菜开始吃 吃的菜必须连续求最多有多少人来吃,和基于最多人来吃的最大利润和。解题思路:第一问:最多有多少人来吃,这个问题很简单,即第一道菜的数量a[1]就是来吃的人的最大值。(如果来吃的人小于a[1]的话,显然不够需要加到a[1].如果来吃的人大于a[1]的话,显然菜不够,要减到a[1])第二问:基于最多人来吃的最大利润和,记录一下每道菜的前缀和,然后用贪原创 2020-08-04 17:41:36 · 176 阅读 · 0 评论 -
《算法竞赛进阶指南》贪心篇 雷达设备
雷达设备题目链接:链接题目大意:二维平面上,给出一系列的点,然后在x轴上找到k个点,以他们为圆心,d为半径,形成的这些圆能否包含所有的点,如果可以的话,找出最小的k值。思路:把给出的点转化为区间,然后就是求用最少的点包含于所有的区间。首先把区间以右端点从小到大排序,以右端点设置雷达,如果下一个区间的左端点大于这个雷达,就新建一个雷达(以新区间的右端点)。Code:#pragma GCC optimiza(2) #include <iostream>#include &原创 2020-07-23 18:26:08 · 125 阅读 · 0 评论 -
《算法竞赛进阶指南》贪心篇 畜栏预定 (贪心+堆处理)
畜栏预定题目链接: 链接题目大意:有n头牛在吃k片草,一片草只能一个牛同时吃,牛吃饭有一个时间区间,在这个时间里,别的牛只能去吃别的草,问最少要准备几片草。思路:区间问题的贪心,首先把牛吃饭区间按照左端点从小到大排序一下,然后建立某片草没牛吃空闲的小根堆,如果不符合条件的话,建立新的草。如图:Code:#pragma GCC optimiza(2) #include <iostream>#include <cstdio>#include <cmath原创 2020-07-23 15:41:30 · 211 阅读 · 0 评论 -
《算法竞赛进阶指南》 贪心篇 防晒 (贪心+平衡树)
防晒题目链接: 链接题目大意:有n头奶牛,它们需要晒太阳,但是接受的太阳光强度有一个区间,必须抹上防晒霜 ,然后给出 m种防晒霜,有一个值,给牛涂上之后牛才可以晒太阳,每个防晒霜分别有kii瓶。思路:贪心+排序/ 平衡树实现对于每一个头奶牛而言,当然是要选择目前来说满足条件的最差的防晒霜,什么最差的定义,就是选择满足奶牛条件的SPF最大的那一瓶防晒霜.注意:降序排序,保证对于每一头牛而言,它用的是,可以使用的最差的防晒霜,因为值越小的防晒霜,有可能让更多的牛使用.而升序排列,就恰好反了.原创 2020-07-22 20:28:11 · 272 阅读 · 0 评论