codeforce-greedy
Jack_zhuiyi
这个作者很懒,什么都没留下…
展开
-
http://codeforces.com/problemset/problem/478/C
3种颜色涂桌子,要用到3种颜色,且3种的数量有限,不能只涂一种颜色,求最多能涂的数量。 可以确定的是上界为(a + b + c) / 3。 由题意,能涂的方式只有2种:1,1,1。2,1,0。 而3,0,0这种方式是不被允许的,那么我们就应该尽量避免发生这样的情况。而发生这样的情况的状态是只有1种颜色由剩余,其他两种都已用完,于是很容易想到把最开始数量较多的颜色和数量较少的颜色按照第二种方法...原创 2018-07-11 20:00:17 · 331 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/835/B he number on the board
交的有一个居然一直卡在case 10 不跑了??? 题意有点难懂,就是说黑板上有一个数字其位数和不小于k,有一个人通过改变各个位把它改成了n,那么求这个数使得其位数和n各个位数不同的最小值,也就是说要让a和n各个位数不同的数量最小,而且这个a的位数和不小于k,就把n中小的位数去变成9就好了。#include <iostream>#include <string>#...原创 2018-06-15 14:05:54 · 177 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/490/A Team Olympiad
这个和前面哪一个题很像,只是输出麻烦点而已。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#define MAX 105#define INF ...原创 2018-06-07 18:02:58 · 144 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/489/C Given Length and Sum of Digits...
深搜搞一下就好,小的数自然高位要取尽量小的,大的数高位取尽量大的。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#define MAX 105#define INF 0x3f3f3f3fusing namespace std;int ...原创 2018-06-07 17:52:20 · 143 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/432/A Choosing Teams
得到还能参加的人数除3向下取整就好。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#define MAX 105#define INF 0x3f3f3f3fusing namespace std;int a[10];int main...原创 2018-06-07 17:28:04 · 125 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/230/A Dragons
能力值越高自然更好,所以应该先杀能杀掉的龙再去杀剩下的。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#define MAX 105#define INF 0x3f3f3f3fusing namespace std;struct dr...原创 2018-06-07 17:22:01 · 282 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/405/A Gravity Flip
相当于重力是向右压的,实际上就相当于把木块从小到大排了一遍#include <iostream>#include <string>#include <cstdio>#include <algorithm>#define MAX 105#define INF 0x3f3f3f3fusing namespace std;int a[MA...原创 2018-06-07 17:16:16 · 185 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/149/A Business trip
排个序就搞定了。 不过这题我忘记判-1的情况了,果然还是得小心啊#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#define MAX 105#...原创 2018-06-07 22:17:06 · 196 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/785/B Anton and Classes
记录两个组内区间l值的最小最大值,r值得最小最大值即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>原创 2018-06-14 17:56:42 · 177 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/743/A Vladik and flights
由于只有2个机场,如果a,b不在同一个机场,那么必定可以从a所在机场走到b所在机场,或者通过a所在机场的其他飞机的位置走到b所在机场,而最小步数必然为1。#include <iostream>#include <cstdio>#include <cstdlib>#include <queue>#include <algorith...原创 2018-06-14 15:33:24 · 210 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/946/A Partition
负数则加入C,正数加入B即可#include <iostream>#include <cstdio>#include <cstdlib>#include <queue>#include <algorithm>#include <cstring>using namespace std;typedef long ...原创 2018-06-14 15:22:00 · 141 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/469/A I Wanna Be the Guy
记录已解决的问题数即可,注意不重复计数。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#define MAX 105#define INF 0x3f3f3f3fusing namespace std;bool a[MAX];int ...原创 2018-06-07 14:42:57 · 209 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/337/A Puzzles
区间滑一下就好。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#define MAX 105#define INF 0x3f3f3f3fusing namespace std;int a[MAX];int main() { ...原创 2018-06-07 14:36:28 · 165 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/160/A Twins
从大往小遍历的去加,直到拥有的大于剩下的价值。 老实说,当阅读理解做吧。#include <iostream>#include <string>#define MAX 105using namespace std;int a[MAX];int main() { freopen("a.txt", "r", stdin); freopen("b....原创 2018-06-07 12:47:34 · 176 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/545/B Equidistant String
只有s,t对应i位置不同时,才会产生一个距离差,于是想到每次先增大s的距离后增大t的距离,最后判断一下两个距离是否相等即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include &l...原创 2018-06-14 12:50:22 · 214 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/659/C Tanya and Toys
对a排个序,然后从1往后加即可,当然a中有的自然不加了。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>原创 2018-06-15 14:23:03 · 182 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/588/A Duff and Meat
优先队列水过去就好,当然是存在O(n)的,每次比较单价得到当前最小单价再去买即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#includ...原创 2018-06-09 00:03:39 · 182 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/489/B BerSU Ball
当二分图去跑,匈牙利算法就好,注意记录某个点已经不能再改变其配对点,防止爆T#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <...原创 2018-06-09 00:06:00 · 144 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/265/B
被题意秀了一脸,实际上第三个操作只能往后面的树去跳。#include <iostream>#include <cstdio>#include <list>#include <stack>#include <queue>#include <cstdlib>#include <set>#includ原创 2018-07-10 17:19:04 · 300 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/596/B
一路递推过去就好了。#include <iostream>#include <cstdio>#include <list>#include <stack>#include <queue>#include <cstdlib>#include <set>#include <map&原创 2018-07-10 15:20:10 · 276 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/779/C
根据差值按大小顺序排,选出前k个,其他的选两个值中较小的即可。#include <iostream>#include <cstdio>#include <list>#include <stack>#include <queue>#include <cstdlib>#include <set>#in原创 2018-07-10 15:10:50 · 237 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/389/A
实际上这题时GCD的。OK,想了想证明过程: 粗糙的归纳法: 1.2个数,显然就是GCD(a1,a2) 2.n个数,按此操作为GCD(a1,a2,a3…,an) 3.n+1个数,任取n个数按此操作得到的最小数GCD(a1,a2..,an),对第n+1个数a(n+1),按此操作则必定为GCD(a1,a2….,an,an+1) 归纳完毕。 当然上述肯定会有疑惑的地方,想必第3步时最令人困惑...原创 2018-07-10 10:06:51 · 239 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/478/B Random Teams
模拟几个数据可以发现一个特点,也就是最大值的取值是在m-1个1和n - (m - 1)组成的,可以想到其他情况就是把n-(m-1)这个数去分给其他数,也就是把这个数进行一个拆分。那么我们可以尝试的去猜想这样的拆分不会导出一个较大值,也就是说给定一个n,如果把它拆分成两个正整数a,b,那么(n-1)n/2 >= (a-1)*a/2 + (b-1)*b/ 2,其中n = a+b,(n-1)*n/...原创 2018-06-10 23:00:13 · 131 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/276/B Little Girl and Game
可以逆推一下通过偶数长串来达到回文串和通过奇数长串来达到回文串的前提串,这个前提串必定也一定是回文串了,因此如果初始时不是回文串,则剩下的只需要比较串长即可。#include<iostream>#include<queue>#include<string>#include<cstring>#include<cstdio>#i...原创 2018-06-16 19:08:53 · 235 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/779/B Weird Rounding
从低位往高位扫如果非0则删除,否则记录0的个数,如果达到k则不再遍历,最后判断是否0的个数足够不够则要求最后只留下一个0.#include<iostream>#include<queue>#include<string>#include<cstring>#include<cstdio>#include<algorith...原创 2018-06-16 12:22:40 · 223 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/401/C Team
构造法构造一下,分的情况有多种但是不难想到具体还是看代码吧。#include<iostream>#include<queue>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;int main(){ // m - 2*t...原创 2018-06-16 12:13:16 · 206 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/749/A Bachgold Problem
尽量用2自然是最好的,如果是奇数最后一个用3即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>#d原创 2018-06-09 00:22:26 · 154 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/439/A Devu, the Singer and Churu, the Joker
先判断休息时间加上歌唱时间是否超过活动时间,再尽量增多笑话的个数。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queu...原创 2018-06-09 00:17:29 · 157 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/557/A Ilya and Diplomas
给定三个数a,b,c的区间范围,使得a,b,c最大且满足a + b + c = n,另外a,b,c取最值得优先级为a >b > c.#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#...原创 2018-06-15 23:33:07 · 280 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/978/B File Name
扫一遍,记录x的个数,如果遇到不是x的字符判断已有x的个数即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue...原创 2018-06-15 23:23:36 · 169 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/651/B Beautiful Paintings
实际上就是给n个数形成多个递增的链,如果是相等的数自然不放在一起,因为这样是无法贡献值的。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#incl...原创 2018-06-15 23:16:30 · 189 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/525/A Vitaliy and Pie
从左往右扫过去,没钥匙的话就把答案加一,有钥匙就存一下。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>原创 2018-06-15 23:06:25 · 192 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/520/B Two Buttons
广搜一下,把搜索范围控制好再10^5以内即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>#def原创 2018-06-09 00:06:51 · 128 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/609/A USB Flash Drives
让尽量大的去存即可。#include <iostream>#include <algorithm>using namespace std;int a[1005];int main(){ int n,m,x; cin >> n >> m; for(int i = 0;i < n;++i){ c...原创 2018-06-14 12:43:18 · 173 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/285/C Building Permutation
排序后将从小到达往1-n去进行所谓的归位,如何证明这个是最优的呢。 该贪心算法可以做如下描述: A是一个长度为n的从小到大排序的序列a1 <= a2 <= a3 <= … <= an,初始时集合S为空,每一次贪心选择A中最小的,且未加入集合S的下标k,将其归位到|S| + 1的位置,得到权值abs(a[k] - k),将k加入到S中。 下面利用Exchange Arg...原创 2018-06-14 07:27:52 · 170 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/546/B Soldier and Badges
注意超过n的情况,因此我把上界设置为10000#include <bits/stdc++.h>using namespace std;typedef long long ll;#define PI (M_PI)#define INF (0x3f3f3f3f)#define MOD (1000000007)#define EPS (1e-12)#define MAX (...原创 2018-06-12 20:49:54 · 184 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/804/A Find Amir
从i到j花费(i + j) mod (n + 1),花费为0自然是最好的情况。因为(i+j) 的取值区间在[0,n-1]的范围内,对于1而言最好的走法是走到n去,花费为0,此时为了走完剩下的n-2座学校,必须从n或者1出发走到另一所学校去,可以发现无论怎么走都必定产生花费,为了使花费最少,自然选择花费为1的情况,那么可以从n走到2去,而此时又可以发现2可以走到9花费为0,以此推下去,每产生一个0花...原创 2018-06-12 20:36:00 · 143 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/320/A Magic Numbers
尽量去匹配更长的模式串,然后滑动匹配点,如果发现匹配长为0则无法匹配下去。#include <bits/stdc++.h>using namespace std;typedef long long ll;#define PI (M_PI)#define INF (0x3f3f3f3f)#define MOD (1000000007)#define EPS (1e-12)...原创 2018-06-12 20:18:35 · 132 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/381/A Sereja and Dima
由于策略是一定的,并且注意到每个数字都是不同的因此只需模拟即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;#define PI (M_PI)#define INF (0x3f3f3f3f)#define MOD (1000000007)#define EPS (1e-12)#def...原创 2018-06-12 20:12:43 · 220 阅读 · 0 评论 -
http://codeforces.com/problemset/problem/766/B Mahmoud and a Triangle
排个序,判断三个点是否能组成非退化三角形#include <bits/stdc++.h>using namespace std;typedef long long ll;#define PI (M_PI)#define INF (0x3f3f3f3f)#define MOD (1000000007)#define EPS (1e-12)#define MAX (100...原创 2018-06-12 20:00:06 · 221 阅读 · 0 评论