
CF
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
CodeForces 251A Points on Line(二分)
题目连接:CodeForces 251A Points on Line原创 2013-10-17 23:59:08 · 1410 阅读 · 0 评论 -
CodeForces 275C k-Multiple Free Set(二分)
题目链接:CodeForces 275C k-Multiple Free Set题目大意:给出n和k,然后给出元素个数为n的集合num,现在要从num集合中挑选出尽量多的元素组成新的集合,新的集合的要求是集合中不存在元素x , y(x 解题思路:将num数组排序,对应每个数值的num[i] * k进行二分搜索,如果搜索到,cnt--。这里有两个坑点:1、因为原创 2013-10-17 23:58:07 · 1571 阅读 · 0 评论 -
CodeForces 287B Pipeline(二分)
题目链接:CodeForces 287B Pipeline题目大意:自来水厂要为n个客户供水,现在有k - 1种分离器,分离器的out口分别为2~k。问说给出n和k,最少需要多少的分离器可以满足所有客户供水,不能满足输出-1。解题思路:一开始用遍历试了一下,超时了,后来大伙伴告诉我们说二分搜索分两种,其中一种就是二分答案,然后就向着这个方向去做了,结果发现本题的问题不是搜索原创 2013-10-17 23:48:39 · 1864 阅读 · 0 评论 -
CodeForces 302B Eugeny and Play List(遍历)
题目链接:CodeForces 302B Eugeny and Play List题目大意: Eugeny 喜欢听歌,他有一个播放列表,里面有n首歌,给出n和m,然后给出每首歌曲的次数ci和时间ti,接下来给出m次询问,在给出的询问时间中,Eugeny在听哪首歌曲。(歌曲列表按照顺序播放,当第i首歌听过ci遍后才听下一首歌)解题思路:很水的一道题目,直接遍历一遍就可以了。原创 2013-10-17 23:34:53 · 1354 阅读 · 0 评论 -
CodeForces Good Bye 2013
Problem A: New Year Candles (379A)题目大意:给出a和b,表示有现在有a根蜡烛,烧完b根蜡烛后可以换取新的一根蜡烛,问最多可以点多少根蜡烛。解题思路:水题。#include #include int main() { int ans = 0, a, b; scanf("%d%d", &a, &b); while (a原创 2013-12-31 13:18:32 · 1736 阅读 · 1 评论 -
CodeForces 378A Playing with Dice(水题)
题目链接: CodeForces 378A Playing with Dice题目大意:两个人猜数1~6,给出a和b,然后随机丢一个色子,问说接近a的可能,相等的可能,以及接近b的可能。解题思路:完完全全的签到题。#include #include #include int main() { int a, b; int x = 0, y原创 2014-01-29 17:43:16 · 1462 阅读 · 0 评论 -
CodeForces 337C Captains Mode(dp+位运算+贪心)
题目链接:CodeForces 337C Captains Mode题目大意:dota2游戏选择英雄,先给出n个英雄的力量值,然后给出m个操作,p/b num,p代表第num个玩家可以选择一个英雄,b 代表第num个玩家可以封掉一个英雄,即谁都不可以选,然后两队选完之后,比较说两队英雄总力量值的差,两人都按照最优方案去选择。解题思路:dp+位运算+贪心。首先原创 2014-01-29 17:34:34 · 2496 阅读 · 0 评论 -
CodeForces 378B Semifinals(贪心)
题目链接:CodeForces 378B Semifinals题目大意:有两场半决赛,每场各有n各人参加,现在有一个k值,表示说半决赛的前k名可以直接晋级总决赛,因为要选出n个人参加决赛,所以2*(n -k)要在剩下的人中选前2*(n-k)名,k的取值范围为0~n/2,问说那些人是有可能晋级决赛的。解题思路:直接按照k = 0和k = n / 2的方案去选,原创 2014-01-29 17:45:20 · 1481 阅读 · 0 评论 -
CodeForces 337B Preparing for the Contest(二分+贪心+优先队列)
题目链接:CodeForces 337B Preparing for the Contest题目大意:有n个人,m个病毒,s张通行证,然后给出m个病毒的等级,n个人的等级,以及n个人去杀病毒所需要的通行证数量,问所最少花费几天可以杀光病毒,并输出每个病毒被那一个人所清理。PS:人要杀病毒必须等级大于等于病毒,一个人只需支付一次通行证。解题思路:二分+贪心+优原创 2014-01-29 17:49:10 · 2002 阅读 · 0 评论 -
Codeforces 385E Bear in the Field(矩阵快速幂)
题目链接:Codeforces 385E Bear in the Field题目大意:有一片n*n的草莓地,每个位置的初始草莓量为横坐标和纵坐标的和,然后每过一秒增长一个草莓。然后给出熊的初始位置(sx,sy),以及移动的速度(dx,dy),每一秒发生的事:(1)速度增加k(k为该位置的草莓数);(2)熊的位置发生移动;(3)每个位置上草莓数+1解题思路:矩阵快速幂,根据题原创 2014-01-30 11:38:39 · 2267 阅读 · 0 评论 -
Codeforces 385D Bear and Floodlight(几何+dp)
题目链接:Codeforces 385D Bear and Floodlight题目大意:给出一个区间[l, r],然后给出n个探照灯,问说n个探照灯能照到区间[l,r]的最大范围。解题思路:用二进制表示说哪些灯被选中了,dp[i]表示这些灯能够照到的最大范围。#include #include #include #include using name原创 2014-01-30 11:56:23 · 2208 阅读 · 0 评论 -
Codeforces 385C Bear and Prime Numbers(数论)
题目链接:Codeforces 385C Bear and Prime Numbers题目大意:给出一个长度为n的序列,然后有m次询问,每次询问给出a, b,然后计算[a,b]中所有素数的F(x)之和,F(x)为计算序列中有几个数为x的倍数。解题思路:数论题,因为内存空间限制为512M,所以可以开的下10^7的数组,然后用筛选法求素数的同时计算个数。#inclu原创 2014-01-30 12:30:45 · 2446 阅读 · 0 评论 -
Codeforces 385B Bear and Strings(字符串)
题目连接:Codeforces 385B Bear and Strings题目大意:给出一个字符串,问说该字符串中有多少个子串包含“bear”。解题思路:遍历,每次找到“bear”,就用该串前面个字符数x,以及该串后面的字符数y,ans += (x+1)*(y+1)- 前一个“bear”所在位置的字符串(重复的)#include #include #incl原创 2014-01-30 12:34:50 · 2169 阅读 · 0 评论 -
Codeforces 385A Bear and Raspberry(水题)
题目链接:Codeforces 385A Bear and Raspberry题目大意:就是给出一个序列,然后相邻两个数之间差的最大值于C的差,小于0的话要输出0.解题思路:水题。#include #include #include using namespace std;const int N = 105;int n, c, a[N];in原创 2014-01-30 13:00:28 · 1412 阅读 · 0 评论 -
Codeforces 387B George and Round(贪心)
题目连接:Codeforces 387B George and Round题目大意:有n个任务,给出n个任务的复杂度,序列a。然后可以事做好一些复杂度的准备,m个序列b,这要复杂度b[i] >= a[j],就可以省去一次工作量,问说还要解决几个问题。解题思路:贪心,尽量用小的b解决小的a,然后a从小的开始抵消。#include #include const原创 2014-02-01 00:24:35 · 2319 阅读 · 0 评论 -
Codeforces 382A Ksenia and Pan Scales(水题)
题目链接:Codeforces 382A Ksenia and Pan Scales题目大意:判断两边是否可以拥有相同的字母数,每个字母z原创 2014-02-01 17:32:48 · 1387 阅读 · 0 评论 -
Codeforces 387E George and Cards(二分+树状数组)
题目链接:Codeforces 387E George and Cards题目大意:给出一个长度为n的序列,然后在给出一个长度为k的条件序列,要求将原先的删除n-k个后得到的序列满足条件序列,条件序列b[i],表示序列的前i个元素中必须包含有b[i]这个数。删除操作,选取一个区间,删除中间的最小值,并且获得相应的区间长度的什么奖励,问说最多可以获得多少奖励(奖励啥看不懂)。原创 2014-02-01 22:26:38 · 1931 阅读 · 0 评论 -
Codeforces 382C Arithmetic Progression(排序+分类)
题目链接:Codeforces 382C Arithmetic Progression题目大意:给出一个长度为n的序列,表示有n张卡片,上面的数字,现在还有一张卡片,上面没有数字,问说可以写几种数字在这张卡片上面,使得n+1张卡片上的数字可以排列成一个等差数列,有无限多种时输出-1.解题思路:分类,n为1、2、3、3+,四种,注意相同的数字算一种。#includ原创 2014-02-02 18:32:14 · 1764 阅读 · 0 评论 -
Codefoces 387A George and Sleep(水题)
题目链接:Codefoces 387A George and Sleep题目大意:给出一个时间,然后往前推一个时间长度,给出那时的时间。解题思路:水题,注意借位即可。#include #include int main() { int h, m, hh, mm; scanf("%d:%d", &h, &m); scanf("%d:%d", &hh,原创 2014-01-31 23:58:45 · 1313 阅读 · 0 评论 -
Codeforces 387C George and Number(贪心)
题目链接:Codeforces 387C George and Number题目大意:给定一个数,要求找到一个集合,通过题目给定的变换方式可以得到给定得数,输出集合元素个数的最大值。变换方式为每次从集合中取出任意两个数,连接成一个新的数,要求两个数中较大的数必须放在前面;然后连接成的新的数放回集合中,重复上述操作,直到只剩一个数。(元素不可以是0)解题思路:揣摩题意揣了很久原创 2014-02-01 15:14:06 · 2320 阅读 · 0 评论 -
Codeforces 384A Coder(水题)
题目链接:Codeforces 384A Coder题目大意:给出n,在一个n * n的棋盘,要求在这个棋盘上方尽量多的棋子,棋子不能相邻,给出摆法。解题思路:错开摆就行了,水题。#include #include #include using namespace std;int main () { int n; scanf("%d", &n);原创 2014-02-03 13:10:04 · 1299 阅读 · 0 评论 -
Codeforces 383A Milking cows(贪心)
题目链接:Codeforces 383A Milking cows题目大意:一个农场有n头奶牛,现在农场主要挤奶,0代表朝左,1代表朝右。如果奶牛看到其他奶牛被挤奶的话,会受到惊吓,产奶量会减少1。问说一个序列使得损失最少。解题思路:先将脸朝左的按照从右到左的顺序挤掉,再将朝右的按照从左到右挤掉。损失数只要计算前缀和即可。#include #include原创 2014-02-03 14:37:41 · 2006 阅读 · 0 评论 -
Codeforces 387D George and Interesting Graph(二分图匹配)
题目链接:Codeforces 387D George and Interesting Graph题目大意:定义一种有趣图:有向无子环图,存在一个根磨合任意节点有一去路和一回路(本身也有),然后除去根以外的所有点的入度和出度均为2。现在给出一张图,问说最少给进行几次操作可以使得图变成有趣图,操作可以是删除和添加一条边。解题思路:枚举根,判断以该节点为根需要几次操作,维护最小原创 2014-02-01 23:58:33 · 2272 阅读 · 0 评论 -
Codeforces 382B Number Busters(数论)
题目链接:Codeforces 382B Number Busters题目大意:给出a,b,w,x,c;每经过一秒,进行操作c = c - 1,若果b >= x的话,b=b-x;否则a=a-1,b=w-(x-b)。问多少秒后c解题思路:c每一秒都会减少,但是只有在b>=x时,a才不会变,换句话说,只有在bb - x * (c - a) + k * (w - x) + x原创 2014-02-02 17:27:43 · 1757 阅读 · 0 评论 -
Codeforces 382D Ksenia and Pawns(逆向dfs)
题目链接:Codeforces 382D Ksenia and Pawns题目大意:给出一张图,然后任意选取两个位置摆放卒,这两个卒按照图上的方向移动,问说总步数的最大值是多少,两个卒不可以同时在一个位置上。解题思路:逆向dfs,以为卒一旦放在图上,他的路线就已经被确定,所以只要枚举所有的‘#’,然后逆向的dfs出路线维护最大值和第二大值。如果最大值大于第二大值,那么答案就原创 2014-02-03 12:54:15 · 1672 阅读 · 0 评论 -
Codeforces 384B Multitasking(贪心)
题目链接:Codeforces 384B Multitasking题目大意:给出n,m,k,表示说有n个长度为m的序列,要求进行排序,最多执行m*(m-1)/2次交换,给出每次交换的位置,k为1的话交换位置大的在前面,k=0,小的在前面。解题思路:贪心,直接冒泡排序,次数刚好是m*(m-1)/2次。#include #include int main ()原创 2014-02-03 13:57:07 · 1699 阅读 · 0 评论 -
Codeforces 383B Volcanoes(排序+检索)
题目链接:Codeforces 383B Volcanoes题目大意:给出n和m,表示在一个n*n的图上,从(1,1)开始移动,每可以向下或向右移动,问是否可以移动(n,n),m表示说有m块障碍物,给出它们的坐标。解题思路:将障碍物按照y坐标大小后按照x坐标排序,然后对于每一列考虑可以移动到的区间。ans始终等于2*n-2。#include #include原创 2014-02-07 17:55:41 · 1932 阅读 · 0 评论 -
Codeforces 388A Fox and Box Accumulation(贪心)
题目链接:Codeforces 388A Fox and Box Accumulation题目大意:给出n个箱子,每个箱子告诉你说最多可以在这个箱子上面放几个箱子,问说最少需要垒多少落。解题思路:x最大才105,用一个cnt数组记录下每种箱子的个数,然后从最小的开始一直往上加,直到不能加为止。#include #include #include usin原创 2014-02-08 12:45:17 · 1822 阅读 · 0 评论 -
Codeforces 394A Counting Sticks(水题)
题目链接:Codeforces 394A Counting Sticks题目大意:给出一个由木棍组成的式子,要求移动最多一个木棍,使得式子为等式。解题思路:水题,注意加数和和都不可以为0.#include #include const int N = 505;char str[N];int a, b, c, s;void init() { get原创 2014-02-21 09:31:12 · 948 阅读 · 0 评论 -
Codeforces 392C Yet Another Number Sequence(矩阵快速幂)
题目链接:Codeforces 392C Yet Another Number Sequence题目大意:给出n和k,表示一个序列A[i],求前n项A[i]的和,结果可以% 1e9+7。A[i] = i^k * F[i],F[i] = F[i-1] + F[i-2](斐波那契数列)。解题思路:首先(i+1)^k = C(k,k) * i ^ k + C(k, k-1)原创 2014-02-20 22:14:10 · 2252 阅读 · 0 评论 -
Codeforces 389A Fox and Number Game(欧几里得求最大公约数)
题目链接:Codeforces 389A Fox and Number Game题目大意:给出n个数,执行n次操作,要求执行操作之后,使得这n个数的总和最小,操作是:取出小标i和j的数,如果有num[i] > num[j],则可以执行num[i] = num[i] - num[j]。解题思路:因为只要有一大一小就肯定可以执行操作,所以到最后肯定剩下的数都是一样的,而且就是这原创 2014-02-07 22:21:35 · 1444 阅读 · 0 评论 -
Codeforces 389B Fox and Cross(dfs)
题目链接:Codeforces 389B Fox and Cross题目大意:给出一张n*n的图,问说是否能用十字架将所有‘#’的位置补全。解题思路:纯dfs,水题。#include #include const int N = 105;const int d[5][2] = { {0, 0}, {1, -1}, {1, 0}, {1, 1}, {2,原创 2014-02-07 22:45:20 · 1232 阅读 · 0 评论 -
Codeforces 381B Sereja and Stairs(水题)
题目链接:Codeforces 381B Sereja and Stairs题目大意:给出若干个数,要求从中挑选出尽量多的数字组成一个先递增,后递减的序列。解题思路:因为每个数字最大5000,所以开一个数组记录下每个数字出现过的次数,然后正的遍历一次,反着遍历一次即可。#include #include #include using namespace原创 2014-02-08 22:55:49 · 1102 阅读 · 0 评论 -
Codeforces 383C Propagating tree(树状数组)
题目链接:Codeforces 383C Propagating tree题目大意:给出一颗有n个节点并一1为根节点的树,每个节点有它的权值,现在进行m次操作,操作分为添加和查询,当一个节点的权值添加val,则它的孩子节点的权值要添加-b。解题思路:首先通过dfs将树抽象成树状数组,然后以和根节点的层数关系作为d,开两个树状数组分别计算添加值和减少值。#incl原创 2014-02-07 18:00:46 · 2213 阅读 · 0 评论 -
Codeforces 388B Fox and Minimal path(构造)
题目链接:Codeforces 388B Fox and Minimal path题目大意:给出k,要求构建一张图,从点1到达点2的最短路径有k条。解题思路:二进制数差分,因为没有要求说节点尽量少,所以直接构造出初始图,当k >= (1#include #include const int N = 105;int g[N][N];inline vo原创 2014-02-08 15:04:31 · 2301 阅读 · 0 评论 -
Codeforces 388C Fox and Card Game(贪心)
题目链接:Codeforces 388C Fox and Card Game题目大意:给出n叠牌,每叠牌有s[i]张,然后有两个人进行游戏,A只能从牌底拿牌,B只能从牌顶拿牌,那到牌的牌面总和即为的分,两人均按照最优的方式取牌,问说最后两人的得分。解题思路:很像博弈题,但是可以用贪心做。首先对于每堆牌来说,要么奇数,要么偶数,偶数的时:两个各取一半,因为如果靠近A这边的一半原创 2014-02-08 15:44:35 · 2913 阅读 · 0 评论 -
Codeforces 394B Very Beautiful Number(水题)
题目链接:Codeforces 394B Very Beautiful Number题目大意:给出p和x,要求找出一个p位数,要求p*x = t,t 为p的各位移动到最前面。解题思路:水题,注意前导0的情况是不可以的。#include #include const int N = 1e6+10;bool flag;int n, x, s[N];b原创 2014-02-21 09:36:16 · 1134 阅读 · 0 评论 -
Codeforces 394D Physical Education and Buns(暴力)
题目链接:Codeforces 394D Physical Education and Buns题目大意:给出含有n个数的集合(数的位置可以交换),要求n个数中的每个数进行小于k次的修改(+1或-1),然后该集合可以构成等差递增的序列,要求k尽量小。解题思路:枚举公差d,默认首项为0,然后遍历集合,维护修改的最大值和最小值(注意有负数的情况,为向下修改),然后去中间原创 2014-02-22 09:47:41 · 1490 阅读 · 0 评论 -
Codeforces 394C Dominoes(贪心)
题目链接:Codeforces 394C Dominoes题目大意:给出若干个骨牌,有00, 01, 10, 11四种骨牌,要求重排后,每一竖的上1的个数的最大值最小。解题思路:贪心,奇数行从1~m放,偶数行从m~1放,均从11先放,在放10,和01(01和10是一样的,因为可以旋转),注意奇数行01,偶数就得10.#include #include co原创 2014-02-21 09:42:03 · 1245 阅读 · 0 评论 -
Codeforces 381A Sereja and Dima(模拟)
题目链接:Codeforces 381A Sereja and Dima题目大意:给出一串数字,两个人玩游戏,可以从头和从尾取数字,每个人都尽量取的数字总和大。解题思路:水题,直接模拟,每次取走头或尾中交大的值。#include #include const int N = 1005;int n, num[N];void init () { sc原创 2014-02-08 22:32:03 · 1191 阅读 · 0 评论