![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 64
a1214034447
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #843 (Div. 2) A-E
Codeforces Round #843 (Div. 2)原创 2023-02-02 17:23:28 · 104 阅读 · 0 评论 -
Codeforces Round #842 (Div. 2) A-E
Codeforces Round #842 (Div. 2)原创 2023-01-11 10:38:55 · 214 阅读 · 0 评论 -
Codeforces Round #818 (Div. 2) A-E
Codeforces Round #818 (Div. 2)原创 2022-11-04 16:54:51 · 87 阅读 · 0 评论 -
Codeforces Round #821 (Div. 2) A-D2
Codeforces Round #821 (Div. 2)原创 2022-09-22 15:38:17 · 112 阅读 · 0 评论 -
Codeforces Round #802 (Div. 2) 题解
Codeforces Round #802 (Div. 2)原创 2022-09-08 20:12:29 · 412 阅读 · 0 评论 -
Codeforces Round #800 (Div. 2) E. Keshi in Search of AmShZ
Codeforces Round #800 (Div. 2) E. Keshi in Search of AmShZ原创 2022-08-18 17:10:25 · 136 阅读 · 0 评论 -
CodeForces 1250G [贪心]
题目链接:https://codeforces.com/contest/1250/problem/G解题思路:题目的另一个意思就是每次按动reset意思就是原来的sa,sb(表示a,b现在的积分)变成了sa = sa -min(sa,sb),sb = sb - min(sa,sb),根据这一的性质我们就可以都得到一个结论就是,当只执行到第i轮时,最后一次按下了reset是在第k轮...原创 2019-11-03 22:53:07 · 440 阅读 · 0 评论 -
Gym - 100451J - 贪心
题目链接:https://vjudge.net/problem/Gym-100451J 解题思路:明显每一步花费的时间不会超过t+1,那么我们先按照这个规则先放满n个数进去,也就是如果第一个周期的数超过t+1时换到第2个周期。。。,但是这样并不是最优解,因为虽然最大值不会超过t+1,但也不说明它会趋近于t+1,这时我们就要找它真正的趋近值,如果我们现在要在已经放满n个里面再放进下一个周...原创 2019-01-12 20:21:31 · 208 阅读 · 0 评论 -
Comet OJ - Contest #1 部分题解
题目链接:https://cometoj.com/contest/35/problemsA.牛吃草问题#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;...原创 2019-04-16 13:25:05 · 286 阅读 · 0 评论 -
Codeforces Round #553 (Div. 2) 题解
题目链接:http://codeforces.com/contest/1151A. Maxim and Biology暴力每个做起点即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mx = 1e2 + 10;char s[mx]; int main(...原创 2019-04-25 21:54:53 · 157 阅读 · 0 评论 -
Codeforces Round #551 (Div. 2) 题解
题目链接:http://codeforces.com/contest/1153A. Serval and Bus计算每一班车到达车站的时间超过m,并且离m最近的时间去最小就好了。#include <bits/stdc++.h>using namespace std;const int mx = 1e2 + 10;int main(){ int n,m; ...原创 2019-04-23 17:05:14 · 198 阅读 · 0 评论 -
Gym - 100519H [二分+贪心]
题目链接:https://vjudge.net/problem/Gym-100519H解题思路:以度最大的那个点为根节点,那么从根节点出去的肯定要么是直线,要么就是圆。然后我们再看这题要怎么做,首先二分答案,然后就是要想怎么贪心,怎么样才能使得建立房屋的数量尽量小呢,那么就要尽量使得每个位置的兔子只能去一个屋子,也就是假设答案为x,那么就可以在一条长为2*x+1的链的中间放置一个...原创 2019-05-16 21:06:32 · 332 阅读 · 0 评论 -
Comet OJ - Contest #4 A-E
题目链接:https://cometoj.com/contest/39/problemsA.骚动时节的少女们水题略。B.奇偶性1.当k是奇数时,所有数都是奇数,所以直接输出r-l+1.2.当k是偶数时,显然是偶数的位置是p = x*(k+1) - 1,x = 1,2,3,4....,所以对于这种情况来说只要多做个除法就好了#include <bits/std...原创 2019-05-28 14:30:08 · 298 阅读 · 0 评论 -
牛客想开了大赛2 题解
题目链接:https://ac.nowcoder.com/acm/contest/907#questionA.【六】平面公式:(n*n+n)/2 + 1,n为直线数目B.【一】n的约数枚举质因子和每个质因子的个数,显然个数肯定从多到少。#include<bits/stdc++.h>typedef long long ll;using namespace ...原创 2019-06-01 17:05:51 · 141 阅读 · 0 评论 -
Codeforces Round #566 (Div. 2) A-E
题目链接:http://codeforces.com/contest/1182A. Filling Shapes每两列有2种方法,所以是2的n/2次方#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mod = 998244353;const int mx =...原创 2019-06-13 16:38:16 · 339 阅读 · 0 评论 -
Codeforces #564 (Div. 2) C. Nauuo and Cards[贪心]
题目链接:http://codeforces.com/contest/1173/problem/C解题思路:很明显总的抽卡次数是不会超过2*n的。然后我们再将情况分成两种:1.编号1的卡片已经在里面了,并且最底部已经形成了一个1~x的连续的卡片,而且之后x+1,x+2都可以来得及补上,在这种情况下抽卡次数肯定就不会超过n了。2.编号为1的卡片只能从外面重新再进来,这个时候很明...原创 2019-06-09 20:41:08 · 170 阅读 · 0 评论 -
Comet OJ - Contest #5 A-E
题目链接:https://www.cometoj.com/contest/46/problemsA.迫真字符串#include<bits/stdc++.h>using namespace std;const int mx = 2e5+7;int a[20],n;char s[mx];int main(){ scanf("%s",s); for(int i=...原创 2019-06-18 19:25:52 · 544 阅读 · 0 评论 -
Gym - 100520B - 数学
题目链接:https://vjudge.net/problem/Gym-100520B 解题思路:算出每个线段的x区间,那么选择一个区间使得选到这里面达到条件的概率是A,也就是选择区间里的满足条件的长度刚好是总长度*A。因为超过是没意义的。那么也就是枚举l左端点,或者r右端点就行了。枚举l的左端点就是在每段线段的可行区间的左端点,枚举r右端点也就是每段可行的右端点。最后注意线段与x轴平...原创 2018-11-15 22:12:16 · 136 阅读 · 0 评论 -
牛客国庆集训派对Day6 - H 贪心
题目链接:点击这里 解题思路:本题可以理解为前一半是每次都爬到比自己在的更高的山,后一半是每次都下到比自己更低的山.所以答案就是2*max(a[i]) #include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 998244353;const int mx ...原创 2018-10-09 20:34:44 · 163 阅读 · 0 评论 -
hdu 6438 - 贪心
题目链接:点击这里 解题思路:从左到右枚举,并把每个数插入set当中,每次询问到i位置时,查看set中最小的值a是否小于第i个数b,如果小于,加上它们的差值,并且插入两个b进去,第二个b是为了反悔用到,假设我后面有值c>b,那么显然c-a要优于b-a,此时的c-b+b-a刚好变成c-a,另外的一个b就是正常的插入了,当然反悔的b不用再增加次数。如果b<=a,则只插入一个b就...原创 2018-08-25 20:21:06 · 316 阅读 · 0 评论 -
Educational Codeforces Round 21-D
链接:点击打开链接题解:首先总和肯定是要偶数,然后对切割点位置进行枚举,分两种情况:一种是左边拿一个到右边,一种是右边拿一个到左边。判断这样能不能成立就行了。代码:#include #include #include#include#include #includeusing namespace std; #define lson l,m,rt<<1原创 2017-05-16 18:16:32 · 195 阅读 · 0 评论 -
Educational Codeforces Round 21-E-贪心背包or
链接:点击打开链接题解:一.可以按单位价值排序,然后一直取到超过m为止,这里可以知道要是正好取到m那么这个配置肯定是最优的,剩下的两种情况就是m-1,和m-2那么就要dp四种情况,1.从剩下的拿出填满它.2.从已取当中拿去一出来从剩下的拿2进去.3...4...以此类推,可以发现我们最后只需要dp剩下1-5的质量就可以了二.考虑质量1和质量2的情况的最优,最后再对质量3枚举就行了。原创 2017-05-17 21:11:04 · 282 阅读 · 0 评论 -
hdu 2612-bfs
解题思路:数据小,分两次bfs,暴力求解代码:#include#include#include#include#include#includeconst int mx=3e2+10,co[4][2]={1,0,0,1,-1,0,0,-1},inf = 1e9;typedef long long ll;using namespace std;char map[mx]原创 2017-06-03 11:47:18 · 342 阅读 · 0 评论 -
“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-专题
题目链接:点击打开链接说明:前五题简单题就不写了。。。F:这是裸nlogn的求最长上升序列算法,前后各求一下取小就行了。#include#include#include#include#includeusing namespace std;typedef long long ll;const int mx = 5e5+10,mod = 1e9+7;i原创 2017-07-10 19:27:32 · 585 阅读 · 2 评论 -
Codeforces Round #423 Div. 2-专题
A:水题不懂的看下代码就懂了#include#include#include#include#include#include#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1#define inf 0x3f3f3f3fusing namespace std;typedef long long ll;const int原创 2017-07-12 20:33:51 · 208 阅读 · 0 评论 -
Codeforces Round #424 Div. 2专题
A题:波峰的时候可以连续相等否则其他不行。然后满足只有一个波峰或者单调就行了。代码:#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>...原创 2017-07-20 18:53:57 · 219 阅读 · 0 评论 -
hdu 6140 - 暴力
题目链接:点击打开链接题解思路:没看到题目到底干嘛。以为是任意一个位置,没想到是固定从第一个位置开始,那么一开始的区间就是[-1,1],那么如果接下来a[i]是正的且满足r>=a[i]则r+=a[i],a[i]是负的且满足-l>=a[i],则 l-=a[i],如果可正可否也是这样的道理。代码:#include #include #include #include原创 2017-08-17 20:23:01 · 486 阅读 · 0 评论 -
Codeforces Round #428 (Div. 2) - 专题
A:水题#include#include#include#include#include#includeusing namespace std;typedef long long ll;#define inf 0x3f3f3f3fconst int mx = 1e4+5,mod = 1e9+7;int n,m,a[mx];int main(){ scanf("%d原创 2017-08-15 19:05:20 · 192 阅读 · 0 评论 -
hdu 5999 - 贪心
题目链接:点击打开链接题解思路:排个序然后从倒数第三个开始每三个三个去就OK了。代码:#includeusing namespace std;typedef long long ll;const int mx = 1e5+5;int n,m,a[mx];int main(){ int t,cas = 1; scanf("%d",&t);原创 2017-11-10 20:55:07 · 306 阅读 · 0 评论 -
福建省第八届程序设计大赛专题
A:鸡兔同笼问题。小学生都会。。。B:判断两三角形是否相交或包含或相离。那么判断一个点是否在一个多边形内的算法有多种可以看角和是不是360或者用这个点延伸一条射线看他与多边形的交点是否为奇数就行了。#include <stdio.h>#include <cstring>#include <map>#include <string...原创 2017-07-24 18:57:34 · 331 阅读 · 0 评论 -
CF #470 div2 思维+贪心模拟
解题思路:果然贪心是这个世界上最恶心的思想,BUG太多了,让人崩溃。一开始以为会很难,比较就100多人过,没想到啥算法都没有,都是我也错了好几发,主要是没考虑完整。根据那个转换格式,容易发现B和C其实是一样,那么就把三个字符的问题变成了2个。那么我们需要用到两个数组,一个是记前i个字符中B的个数(C已经都看成B了),一个是从i位置往前有多少个连续的A字符。根据推算,可知,一个B可变出无限个前导A+...原创 2018-03-16 21:59:34 · 286 阅读 · 0 评论 -
CF #469 div2 -C - 贪心
解题思路:这题条件放的很松,所以每次只要一直找,找到不能找为止就停,然后全都匹配完之后发现1还有剩,那么就是不可行的。所以这题用set是很好做的 #include<bits/stdc++.h>using namespace std;typedef long long ll;const int mx = 2e5+10;int n,m,q,number[mx];c...原创 2018-03-27 20:21:17 · 148 阅读 · 0 评论 -
CF #460 div2 -F - 贪心
解题思路:这题虽然代码很短,但是真的很难想怎么贪心。其实有一点很容易发现,就是如果学生有剩下,那最后必定是在中间的宿舍,所以我们要尽量使得两端的宿舍能填满尽量填满,所以就可以考虑所以能到达i宿舍的宿舍人数的和减去已经填进去的学生人数是否能大于等于b就可以了。#include<bits/stdc++.h>using namespace std;typedef long long ll...原创 2018-03-27 20:45:48 · 127 阅读 · 0 评论 -
Wannafly挑战12 D矩阵计数 - 贪心
题目链接: 点击打开链接:题解思路:我们不妨先求出不满足条件的矩阵有多少,最后用全部的减去一下就可以了。如图平面上有四个是1的点,假设先枚举到绿色那块的右上方那个点,首先我们是以x轴坐标大小排好序的,那么我们发现绿色1号那块与4号里面所有的点一对一形成的矩形都是不满足的,其次是2号应该是与3号那块,为什么呢?因为黄色边那个点之前已经把3号上面那块算过了,所以这次只要算3号那块就可以了,之后5和6都...原创 2018-03-27 21:17:51 · 247 阅读 · 0 评论 -
国际象棋马互相攻击问题
题解思路:已知一只马可以废掉8个位置,那么最优的方法就是让多匹马废掉的位置尽量相同就可以了。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int mx = 1e3 + 10;const int N = 101;const int dx[8] = {1,-1,2,-2,1,-1,2,-...原创 2018-03-27 21:30:44 · 876 阅读 · 0 评论 -
Codeforces 982C - 贪心
解题思路:1.当n为奇数时肯定有一棵树的顶点数为奇数,所以一定不行。以任意一个顶点为根,求出所有点的根的树大小,用set维护以某点为根的树大小,从小到大枚举,当遇到树大小为偶数时就可以将其切下来。持续进行此操作即可。#include<bits/stdc++.h>#define fi first#define se secondusing namespace std;typede...原创 2018-06-01 18:06:44 · 297 阅读 · 0 评论 -
hdu 6299 - xjb贪心
题目链接:点击这里 解题思路:先把每个字符串消成))(((这样的情况,也就时该消的都消掉之后肯定最后剩下不能消的。然后两个字符串谁排在后面谁排前面看哪个顺序抵消的括号数多久按哪个顺序。不会证明。。。。 #include<iostream>#include<cstring>#include<algorithm>#include<...原创 2018-08-05 12:43:23 · 188 阅读 · 0 评论 -
大学生程序设计邀请赛(华东师范大学)-F-贪心
链接:点击打开链接直接贪心按r从小到大排,然后再用树状数组维护区间现有路灯数,接着直接暴力就可以了。代码:#includeconst int mx=1e3+10;typedef long long ll; using namespace std;int x,n,m,k,sum[mx];bool vis[mx];struct sec{ int l,r,t;原创 2017-05-14 10:38:44 · 239 阅读 · 0 评论