自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack_zhuiyi的博客

do what you want to do.

  • 博客(190)
  • 收藏
  • 关注

原创 https://www.hackerrank.com/challenges/die-hard-3/problem

仔细看看还真是这么回事,大可以把打水看成是往答案ans中加一瓶水,而而倒水则可以看成是把答案ans减掉一瓶水,而从一罐到另一罐的水不关,倒掉的话实际上就和这个线性组合类似了:m = ax + by,如果说y为负数,可以类比上面的思想,实际上相当于往a中倒水然后倒到b中,然后把b中的水满的倒掉y罐,正数的话类似即可。#include <cstdlib>#include <io...

2018-07-14 21:48:58 616

原创 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 289

原创 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 277

原创 http://codeforces.com/problemset/problem/596/B

一路递推过去就好了。#include <iostream>#include <cstdio>#include <list>#include <stack>#include <queue>#include <cstdlib>#include <set>#include <map&amp

2018-07-10 15:20:10 258

原创 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 196

原创 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 217

原创 http://codeforces.com/problemset/problem/4/B Before an Exam

大可以直接先加最小值然后去逐渐逼近目标值。#include <iostream>#include <queue>#include <cstdio>using namespace std;int main(){ int d,sumTime,l[35],r[35],a[35]; cin >> d >> sumTi...

2018-06-21 16:41:21 200

原创 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 195

原创 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 188

原创 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 162

原创 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 245

原创 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 148

原创 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 154

原创 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 169

原创 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 156

原创 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 159

原创 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 160

原创 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 168

原创 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 125

原创 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 190

原创 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 149

原创 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 154

原创 http://codeforces.com/problemset/problem/903/A Hungry Student Problem

可以假定这样的数字x = 7a + 3b,那么取t = x % 7,t 在[0,6]范围内,t = 3k时自然可行,t=其他情况时讨论即可。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#in...

2018-06-14 06:21:17 196

原创 http://codeforces.com/problemset/problem/447/B DZY Loves Strings

插入最大权值放最后自然是最好的。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>#define MAX

2018-06-13 23:38:04 170

原创 http://codeforces.com/problemset/problem/3/A Shortest path of the king

启发式搜索写一写就搞定了,因为不存在障碍物所以每一次走的都必定是最短路中的。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include &lt...

2018-06-13 23:30:24 139

原创 http://codeforces.com/problemset/problem/538/B Quasi Binary

为了尽可能减少数的个数,那么就要尽可能减少对于每一个位仍然还留有的个数,于是从高位开始,尽可能减少比当前位小的位数中数的大小。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include &...

2018-06-13 22:39:40 226

原创 http://codeforces.com/problemset/problem/545/C Woodcutters

别的不管,能砍则砍。你问为啥这样可以搞到最优解??? 可以这样考虑,一开始第一个位置的树肯定往左砍,接下来考虑第二棵树,往左砍的话需要判断是否会不合法,如果合法往左砍当然好咯,否则的话,看往右砍行不行,如果行则砍下去,你说不砍行不行??如果不砍肯定不能达到最优解咯,因为不砍,它右边那棵树有可能砍不掉或者往右砍影响到更右边的树能不能砍,所以说,我宁愿把这棵树先砍了,它右边的树能不能砍另外考虑。其实...

2018-06-13 20:03:15 214

原创 http://codeforces.com/problemset/problem/258/A Little Elephant and Bits

无论如何都是要删除1个字符的,首先可以想到最好是去删0,如果没有0的话就删1即可,如果有0删最最高位的0,使得其他位的移动最少。#include <iostream>#include <cstdio>#include <algorithm>#include <string>using namespace std;int main(){...

2018-06-13 15:00:42 136

原创 http://codeforces.com/problemset/problem/385/A Bear and Raspberry

题意可能难懂,其实就是一个人可以借一个东西,需要付出c,但是可以先欠着,然后在每一天卖出去有不同的价格,但在s天卖出必定在s+1天买进,求最大所得,可以不去借。#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int main(){ in...

2018-06-13 14:41:20 123

原创 http://codeforces.com/problemset/problem/508/B Anton and currency you all know

交换最后一位与其他的某一位使得此数为偶数且最大,首先要是偶数必定其某一位是偶数,其次如果要达到最大,那么如果这最后一位比高位中某个偶数位大的话就直接交换就可以得到最大的了,否则的话,如果找不到这样小的偶数位,那就和最低的那一个偶数位交换。#include <iostream>#include <string>#include <cstdio>#in...

2018-06-13 12:21:01 119

原创 http://codeforces.com/problemset/problem/570/B Simple Game

可以这样考虑,相对m而言,a有三种取值情况,a>m,a=m,a#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <que

2018-06-12 23:21:58 144

原创 http://codeforces.com/problemset/problem/34/B Sale

这个题真的无聊了,排个序取负的然后最后结果取绝对值。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#include <queue>#

2018-06-12 22:53:52 132

原创 http://codeforces.com/problemset/problem/670/A Holidays

容易想到,先排两天假期在前面可以产生最大的假期,注意最小的假期,也需要注意最后不足一周的情况。#include <iostream>#include <string>#include <cstdio>#include <algorithm>#include <vector>#include <stack>#in...

2018-06-12 22:32:03 114

原创 http://codeforces.com/problemset/problem/919/A Supermarket

部分背包。#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 (1000000)#define L...

2018-06-12 20:55:43 127

原创 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 152

原创 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 129

原创 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 107

原创 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 182

原创 http://codeforces.com/problemset/problem/545/D Queue

首先从小到达排尝试让更少的人不失望,但是如果有失望的可以把直接排到队尾去,这样可以使得尽可能多的人不失望,因为失望的人肯定会失望,因为前者已经是最短的时间了,不可能让他不失望了。#include <iostream>#include <string>#include <cstdio>#include <algorithm>

2018-06-12 20:00:42 128

原创 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 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除