贪心
_pkm_
love coding
展开
-
Codeforces Round #282 (Div. 1) A. Treasure (贪心)
题目链接 题意:给你一个序列,要变为完美序列,完美序列是这样的,每个位置的i左括号的个数要大于等于右括号的个数,最后左括号和有括号的数量必须相同,#可以变为1个或者多个右括号,多组解的话输出一个就可以啦。 解法:贪心,除了最后的一个#,其他的都变为1个右括号,然后检查一下。#define CF#ifndef CF #include<cstdio> #include<algorithm> #inc原创 2015-11-26 22:59:16 · 272 阅读 · 0 评论 -
Educational Codeforces Round 2C. Make Palindrome(贪心构造)
题目链接 题意:给你一个字符串,你可以任意的改变字母。和调整顺序,但是,调整顺序不计操作次数。要求操作次数最小,的时候字典序最小的回文串。 解法:考虑到是回文串,字符串里面最多只有一种奇数字母,我们统计好字母的个数,把后面的奇数的字母减少一个变为前面的是奇数的字母,这样既保证了操作次数小,也保证了字典序。 #define CF#ifndef CF #include<cstdio> #includ原创 2015-11-29 16:32:47 · 415 阅读 · 0 评论 -
Codeforces Round #334 (Div. 2)C. Alternative Thinking(贪心)
题目链接 题意:给你一个长度是n的01序列,然后你可以选择一个非空子串,进行反转操作,0变1,1变为0(只能操作以次),最后能形成的最长的交替序列,一共有多长。 解法:写几个情况分析下,就会发现,每次最多只能增加2,对于这个长度2的产生。 一:明显只要原来的序列存在长度不小于3的颜色一样的子串,就可以增加2,比如0[111]0–>01[0]10 二:(比赛的时候没有想到的),就是原来序列没有原创 2015-12-02 16:13:09 · 367 阅读 · 0 评论 -
Codeforces Round #334 (Div. 2)B. More Cowbell(二分+贪心)
题目链接 题意:给你n个物品的大小,和k个盒子,每个盒子最多只能放2个物品。 物品的大小按照升序给出,问你最小的盒子是多大 解答:二分盒子的大小S,然后判断下体积是S时需要的盒子数量是不是小于K的。这个地方要贪心,正确的方法是把体积大的和体积小的放在一起 #define CF #ifndef CF #include<cstdio> #include<algorithm> #include<cs原创 2015-12-02 16:03:26 · 407 阅读 · 0 评论 -
Codeforces Round #280 (Div. 2)C. Vanya and Exams(贪心)
题目链接 题意:告诉你某人有n们课程,每一门的课程有分数上限r,以达到及平均分avg,才能拿奖学金,然后给出每门课当前的得分ai,以及如果你写bi篇文章的话,会使你的该们课程的分数提升一点,。 解法:贪心,按照bi小的开始贪心的选择。 #define CF #ifndef CF #include<cstdio> #include<algorithm> #include<cstring> #inc原创 2015-12-02 10:56:42 · 381 阅读 · 0 评论 -
Codeforces Round #280 (Div. 2)B. Vanya and Lanterns(贪心)
题目链接 题意:告诉你借到的长度是L,然后有m个街灯位置,然后问你街灯的半径R至少多大,才能够使整个街道每个位置都有灯光覆盖。 解答:贪心,先计算最大的2个街灯之间的距离,然后再看下端点处 #define CF #ifndef CF #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<st原创 2015-12-02 10:52:58 · 279 阅读 · 0 评论 -
HDU5744(贪心)
题目连接 从奇数入手,考虑到个数为1的必定在一个串里面,然后大于1的奇数,减去1就是偶数了,就可以分配给每组#include<bits/stdc++.h> using namespace std;#define cl(a,b) memset(a,b,sizeof(a)) #define LL long longconst int maxn = 1e5+200; const int inf = 1原创 2016-07-22 16:55:21 · 458 阅读 · 0 评论 -
HDU5742(贪心)
题目链接 只要前两个尽量大,后面小就好#include<bits/stdc++.h> using namespace std;#define cl(a,b) memset(a,b,sizeof(a)) #define LL long long #define gcd __gcdconst int maxn = 1e4+200; const int inf = 1 << 23;LL a[maxn]原创 2016-07-22 16:57:31 · 313 阅读 · 0 评论