Codeforces 漫漫补题路
立此专栏,励我补题路
从此鶸鸡证道
15zhazhahe
打杂小能手/吃/喝/睡/胖/菜/
展开
-
CodeForces 872A Search for Pretty Integers
题目链接:http://codeforces.com/contest/872/problem/A 题意:给你两个序列,一个长度为n的序列a,和长度为m的序列b,现在给你一个定义叫做漂亮数,漂亮数至少有一个数是来自a序列,至少有一个数来自b序列,现让你输出最小的漂亮数 解析:有为a和b序列的范围0~9,所以最小的漂亮数一定是两位数,那你从1到100枚举一下,判断是否合法即可#include <bi原创 2017-10-17 10:50:15 · 490 阅读 · 0 评论 -
CodeForces 872B Maximum of Maximums of Minimums
题目链接:http://codeforces.com/contest/872/problem/B 题意:给你一个长度为n序列,让你把他准确分为k个子序列,让你求每个子序列的最小后,再求这些最小值中的最大值,输出那个可能的最大的最大值 解析:如果k>=3肯定是直接输出序列的最大值,如果k==1,肯定输出序列的最小值,如果等于0,那么你只需要比较一下第一个和最后一个大小,选择大的那个输出即可,因为你原创 2017-10-17 10:53:48 · 448 阅读 · 0 评论 -
CodeForces 872C Maximum splitting
题目链接:http://codeforces.com/contest/872/problem/C 题意:给你一个数n,问你他最多能划分为几种几个合数的和 解析:打个表,找找规律。。。#include <bits/stdc++.h>using namespace std;int main(void){ int q,n; scanf("%d",&q); while(q-原创 2017-10-17 10:56:36 · 394 阅读 · 0 评论 -
CodeForces 876A Trip For Meal
题目链接:http://codeforces.com/contest/876/problem/A 题意:小熊维尼一天要吃n次饭,有三个吃饭的地点,初始在1号点,1号点去2号点的距离为a,1号去3号的距离为b,2号去3号的距离为c,在一个点吃完一顿以后,只能下次经过的时候才能再吃一顿,现在问你吃n顿走的最小路径长度为多少 解析:如果一天只吃一顿,那么不用走就可以了,如果要吃两顿,去2号点和3号点里原创 2017-10-17 16:21:42 · 666 阅读 · 0 评论 -
CodeForces 876B Divisiblity of Differences
题目链接:http://codeforces.com/contest/876/problem/B 题意:给你一个长度为n的序列,让你从这n个数里面,选k个数出来,这k个数中任意两个数的差,模m等于零 解析:其实一开始没思路的,后面发现如果两个数%一个数的结果是一样的,那么相减后的结果%这个数就等于零了,那么我直接处理处每个数%m的结果,加到一个vector里,然后去判断有没有一个vector的s原创 2017-10-17 16:24:50 · 549 阅读 · 0 评论 -
CodeForces 876C Classroom Watch
题目链接:http://codeforces.com/contest/876/problem/C 题意:给你一个正整数n,让你找出所有的x,使得x加上x的个位数的和等于n 解析:其实你可以理解成是x+y等于n,只是恰好y很灵性而已,如果直接找x,其实蛮难找的,但是y的范围确实有限定的,最多每一位都去9,所以你可以选择,枚举y,然后判断x是否合法即可,输出答案一定要降序!!!#include<bi原创 2017-10-17 16:28:21 · 449 阅读 · 0 评论 -
CodeForces 876D Sorting the Coins
题目链接:http://codeforces.com/contest/876/problem/D 题意:有n个位置,有n次操作,每次操作在第p[i]位上放上一枚硬币,然后每次放上一枚硬币以后,你要从左往右扫一遍,如果一个硬币右边没有硬币,你就要把他移动到右边有硬币位置,然后在去看下一个硬币,一直重复,知道当前的所有硬币都移到最右边,问你每次操作,需要多少步才能移到最后,初始状态算一步 解析:你只原创 2017-10-17 17:18:15 · 622 阅读 · 0 评论 -
CodeForces 862A Mahmoud and Ehab and the MEX
题目链接:http://codeforces.com/contest/862/problem/A 题意:给你一个大小为n的集合,你现在有添加和删除操作,问你要经过多少操作,才能使得这个集合里,最小的没有出现的元素为x 解析:假设给你一个空集合,那么需要的操作数是x,但是如果这个多一个小于x的元素,那么你就不用再添加了,所以操作数-1,如果有x,操作数要+1,因为要删除它#include <bit原创 2017-10-17 20:59:26 · 528 阅读 · 0 评论 -
CodeForces 864A Fair Game
题目链接:http://codeforces.com/contest/864/problem/A 题意:有一个游戏,给你一个长度为n的序列,两个人分别选两个数字,你选择了一个数字,你就能把这串序列的所有数字拿走,现在让你判断这个游戏是否公平,如果选完这两个数字,就把所有的数字拿走了,且两个人手上的数字个数是一样的,就称为公平游戏,否则不公平 解析:其实说白了,就问你这个序列是否有两种数字,且个数原创 2017-10-13 22:03:07 · 514 阅读 · 0 评论 -
CodeForces 864B Polycarp and Letters
题目链接:http://codeforces.com/contest/864/problem/B 题意:给你一串长度为n的字符串(由大小写字母组成),现在这个人只喜欢小写字母,现在让你求一段最长的连续子串(全由小写字母组成,并且夹在大写字母之间)长度 解析:从第一个大写字母开始,到第二个就更新答案,一直这样做下去#include <bits/stdc++.h>using namespace s原创 2017-10-13 22:07:38 · 457 阅读 · 0 评论 -
CodeForces 864C Bus
题目链接:http://codeforces.com/contest/864/problem/C 题意:在一个一位数轴上,有一辆车,出发点在0,目标点在a,车的邮箱容量为b,加油站的位置为f,你要跑k趟,问你最少要加几次油 解析:直接模拟吧,就是你到当前的加油点,判断当前油量能否到达下一个加油点,如果能就不加油,否则加油,如果加油都到不了,就直接输出-1#include <bits/stdc++原创 2017-10-13 22:16:54 · 396 阅读 · 0 评论 -
CodeForces 864D Make a Permutation!
题目链接:http://codeforces.com/contest/864/problem/D 题意:给你一个长度为n的数组,问你要替换几个数字,才能使得这个数组变为全排列,并且在改动最小的情况下,字典序最小的全排列 解析:首先,因为保证了,一定在1~n里面,所以重复的数字肯定是要被替换掉的,记录一下,然后替换也是有要求的,肯定是先把小的放上去,反正就这样乱搞一下就可以了#include <b原创 2017-10-13 22:22:54 · 379 阅读 · 0 评论 -
CodeForces 864E Fire
题目链接:http://codeforces.com/contest/864/problem/E 题意:现在一个房子里着火了,你要从这个房子里抢救一些东西出来,有n件物品,抢救第i件物品,需要花费ti的时间,这件物品价值为pi,如果物品超过di的时间还没有被救出来,就救不了,现在问你最大能救出的价值为多少,并且输出救了的物品的id 解析:其实跟背包一样的,dp[j]表示j时刻救了多少价值的物品,原创 2017-10-13 22:30:03 · 584 阅读 · 0 评论 -
CodeForces 867B Save the problem!
题目链接:http://codeforces.com/contest/867/problem/B 题意:有一个数n,可以被若干个数组合合成,且组合的方法数为x,现在告诉你x,让你给出n和那若干个数 解析:之所以有那么多种方法,是因为有些数字是可以通过倍数关系来相互替代,然后1和2是可以组成全部数字的,而且两个1可以代替一个2,所以随着数字的增大,方法数也一定是增大的,所以找一下规律,逆推一下即可原创 2017-10-11 22:01:00 · 457 阅读 · 0 评论 -
CodeForces 867C Ordering Pizza
题目链接:http://codeforces.com/contest/867/problem/C 题意:有2种披萨,每次预定一份披萨,能把披萨分成S分,有n个人,第i个人要吃si块,吃第一种,每块披萨能增长ai的幸福值,吃第二种披萨,每块能增长bi的幸福值,现在问你能怎样预定披萨,能使得预定的披萨尽可能少,且还能满足所有人的胃口,还使得幸福值尽可能大 解析:首先贪心的来存答案,就是每个人都吃幸福原创 2017-10-11 22:34:05 · 560 阅读 · 0 评论 -
CodeForces 867E Buy Low Sell High
题目链接:http://codeforces.com/contest/867/problem/E 题意:有一只股票,在第i天的价格为pi,现在你每天只可以买进当天的这一股,或者卖出一股,或者什么都不做,现在问你经过你的操作以后,最多能赚多少钱 解析:最基本遵守的肯定是低价买进高价卖出,记录到当前为止的最小的一股的价格,这一股是肯定要卖出的,只是有可能现在不一定是这时候卖出去是最优的,有可能在之后原创 2017-10-11 23:06:28 · 646 阅读 · 0 评论 -
CodeForces 868A Bark to Unlock
题目链接:http://codeforces.com/contest/868/problem/A 题意:给你一个由两个字母组成的字符串s,和n个长度也为2的字符串,现在问你能否用着n个字符串随意拼接(使用次数不限),使得s为拼出的字符串的子串 解析:因为只有两个字符,所以肯定是某一个字符串的第一个字符是等于s最后一个字符并且s的第一个字符等于某一个字符串的最后一个,或者s本身就等于某一个字符串#原创 2017-10-11 21:01:42 · 570 阅读 · 0 评论 -
CodeForces 868B Race Against Time
题目链接:http://codeforces.com/contest/868/problem/B 题意:大概就是h,m,s表示某一个时间点,然后给你两个整点t1和t2,问你第一个时间点的三个指针是否被夹在t1和t2之间 解析:其实直接算一下是不是都比min(t1,t2)大,且比max(t1,t2)小,反过来也是,不过要注意的是,你分钟大于0的时候,时针指向的位置是由偏差的,分针也是同理#incl原创 2017-10-11 21:05:46 · 435 阅读 · 0 评论 -
CodeForces 868C Qualification Rounds
题目链接:http://codeforces.com/contest/868/problem/C 题意:有n到题目,有k支队为,每只队伍对于每到题目来说,有会(1)的有不会(0)的,现在问你能不能从这n道题里面选一套有趣的题目出来,使得每只队伍会的题目最多不超过所选题目的一半 解析:k最多就4支队,其实对于这n道题来说,如果有解,你一定能选出两道题,有的队伍会,其他队伍不会,原因嘛,emmmm,原创 2017-10-11 21:45:08 · 623 阅读 · 0 评论 -
CodeForces 867A Between the Offices
题目链接:http://codeforces.com/contest/867/problem/A 题意:有一个人在S和F城工作,然而这个人很喜欢从S城去F城,现在告诉你这n天,他每天所在的城市,问你他从S城去F城的次数是否总航班次数的一半多 解析:直接统计一下航班,判断一下即可#include <bits/stdc++.h>using namespace std;int main(void)原创 2017-10-11 21:53:21 · 846 阅读 · 0 评论 -
CodeForces 869A The Artful Expedient
题目链接:http://codeforces.com/contest/869/problem/A 题意:给你长度都为n的序列,xn和yn,问你存在多少组pair(i.j),即x[i]^y[j]是这2n个元素里出现过的,如果存在偶数组,则Karen获胜,否则Koyomi获胜 解析:存一下之前的数,2000个数直接枚举算一下,判断一下之前是否出现过,算一下次数#include <bits/stdc+原创 2017-10-09 11:06:08 · 566 阅读 · 0 评论 -
CodeForces 869B The Eternal Immortality
题目链接:题目链接:http://codeforces.com/contest/869/problem/B 题意:给你一个a,b,让你求b!/a!结果的个位数的值 解析:很明显的一点是,如果一个数乘0,那么个位数一定是0,那么你只需要判断这些连乘的数的个数是否大于10个,如果大于10个,直接输出0就好了,如果小于10个,那你自己算一下就可以了。注意a,b相等需要特判一下#include <bit原创 2017-10-09 11:21:11 · 526 阅读 · 0 评论 -
CodeForces 869C The Intriguing Obsession【排列组合】
题目链接:http://codeforces.com/contest/869/problem/C 题意:有3种点,数量分别为a,b,c,让你对这3种点相互连线,使得相同种类点之间的最短距离至少为3,或者不连通,问你总共有多少种方法 解析:由于最短距离至少为3,那么内部肯定是不能相互连线的,那么需要考虑的就是和其他种类连,那这样的情况下,无论你怎么连,只会有要么不连通,要么最短距离只能为3,所以你原创 2017-10-09 11:51:34 · 782 阅读 · 0 评论 -
CodeForces 835A Key races
题目链接:http://codeforces.com/contest/835/problem/A 题意:有两个人比赛打字,总共n个字符,第一个人需要花费t1连接系统获得想要打字的内容,第一个人打一个字花费v1秒,打完以后需要花费t1秒提交结果,第二个人也是一样的操作,问你谁快 解析:直接加一下,算一下,比较一下就可以#include <bits/stdc++.h>using namespace原创 2017-08-01 21:26:00 · 805 阅读 · 0 评论 -
CodeForces 835B The number on the board
题目链接:http://codeforces.com/contest/835/problem/B 题意:黑板上有一个数,你只知道这个数的每一位的和不小于k,现在有一个人不小心改动了这个数,把这个数变成n了,现在问你这个人从最初的数最少改变了几位数 解析:首先先把n的每一位数求和,如果大于等于k那么就是没有改变,如果小于他,那肯定是从位数最小的数开始改变,然后扫一遍即可#include <bits原创 2017-08-01 21:31:47 · 968 阅读 · 0 评论 -
CodeForces 835C Star sky
题目链接:http://codeforces.com/contest/835/problem/C 题意:有一片星空这个星空里有n个星星,每个星星的位置为(xi,yi),初始亮度为si,所有星星的最大亮度为c,没过一个时间,亮度加1,达到最大c,就置为0,现在有q次询问,每此询问t时刻,(x1,y1)(x2,y2)范围里所有星星的总亮度 解析:可以直接二维树状数组来做预处理,也可以用类似一个前缀和原创 2017-08-01 22:20:19 · 1037 阅读 · 0 评论 -
CodeForces 834A The Useless Toy
题目链接:http://codeforces.com/contest/834/problem/A 题意:有v,<,^,>,四个符号,分别由v顺时针旋转90度依次得到,现在告诉你其实符号,和结束符号,需要经过n次选择,问你是顺时针旋转获得,还是逆时针旋转获得,亦或是顺时针或逆时针旋转都能获得 解析:反正是一个为4的循环节,取一下模就出来了#include <bits/stdc++.h>using原创 2017-07-31 16:30:41 · 713 阅读 · 0 评论 -
CodeForces 834B The Festive Evening
题目链接:http://codeforces.com/contest/834/problem/B 题意:有n个门口,k个护卫,n个门口分别允许对应的大写字母进入,一个门口开始进人时,就需要排一个护卫去,知道这个门的所有人进完才能把护卫召回来,现告诉你来宾的顺序,问你是否会出现护卫人手不足的情况 解析:直接扫一遍,模拟下就可以了#include <bits/stdc++.h>using name原创 2017-07-31 17:03:58 · 557 阅读 · 0 评论 -
CodeForces 834C The Meaningless Game
题目链接:http://codeforces.com/contest/834/problem/C 题意:一个人和他的一只狗一起玩游戏,游戏n局,游戏规则如下,每轮两人选择一个数字k,先喊出来的那个就在原有的积分乘上k^2,另一个则乘上k,最后,那个人忘了游戏谁赢了,只是记得每局的两人最后得分,但又不确定这个得分是否正确,让你来判断,这些给出的得分是否合法 解析:首先一个乘k^2,一个乘k,那么g原创 2017-07-31 17:13:18 · 709 阅读 · 0 评论 -
CodeForces 831A Unimodal Array
题目链接:http://codeforces.com/contest/831/problem/A 题意:给你一个长度为n的序列,这个序列满足,按顺序出现严格递增,保持不变,严格递减,递增和递减可以没有,让你判断给出的序列是否合法 解析:直接按这个规则扫一遍数组,判断是否能扫完整个数组#include <bits/stdc++.h>using namespace std;const int m原创 2017-07-14 08:52:55 · 760 阅读 · 0 评论 -
CodeForces 831B Keyboard Layouts
题目链接:http://codeforces.com/contest/831/problem/B 题意:给你两个长度为26的字符串,表示两种a-z的映射(也就是键盘改了键),现在给出你用第一种键盘打出的字符,让你求用第二种键盘打出的结果 解析:直接做就可以了,数字直接输出,字符在第一个找到对应的,然后输出在第二个字符串的位置#include <bits/stdc++.h>using names原创 2017-07-14 08:57:04 · 722 阅读 · 0 评论 -
CodeForces 831C Jury Marks
题目链接:http://codeforces.com/contest/831/problem/C 题意:主角看电视,电视里有k个评委给参赛者打分,每个评委打了ai分,即参赛者的初始分加上这些评委打分,等于一个结果,但是主角不是很记得所有结果,只记得n个结果,即bj(加上若干个ai的结果),现问你他的初始分有多少种可能(注意a按时间顺序给出,b不是按时间顺序给出) 解析:直接枚举可能的初始值,即b原创 2017-07-14 10:11:47 · 875 阅读 · 0 评论 -
CodeForces 831D Office Keys
题目链接:http://codeforces.com/contest/831/problem/D 题意:有一个数轴,有n个人分别在ai的地方,你要去目的地p,但是去目的地之前必需去拿钥匙,有k把钥匙,每个人每秒只能移动一格,问你所有人都进到办公室需要最少需要多少时间 解析:由于不知道怎么想贪心策略,但是发现数据的规模并不大,n^2应该是能过的,而每个人只能对应一把钥匙,那么就直接排个序,然后枚举原创 2017-07-14 11:11:13 · 949 阅读 · 0 评论 -
CodeForces 821A Okabe and Future Gadget Laboratory
题目链接:http://codeforces.com/contest/821/problem/A 题意:给你一个n*n的矩阵,问你对于矩阵里每一个不等于1的元素a[x][y]来说,是否存在s和t使得a[x][s]+a[t][y] = a[x][y],如果对于每一个都存在,那么输出yes,否则输出no 解析:由于n比较小只有50,所以直接暴力枚举就好#include <bits/stdc++.h>原创 2017-07-11 12:45:03 · 439 阅读 · 0 评论 -
CodeForces 828A Restaurant Tables
题目链接:有一个餐厅,他有a张一人座位,b张双人座位,有n组人来这个餐厅,每组人都是一个或两个人。对于一个人来说,如果有单人座就优先分配单人座,如果没有,有双人座就分配双人座,若没有单独的双人座,就和他人共享,如果在没有就拒绝为他们服务,对于双人来说,有双人座就接收,否则拒绝,问你一共拒绝了多少人 解析:直接按照题意模拟就好#include <bits/stdc++.h>using namesp原创 2017-07-12 09:38:09 · 749 阅读 · 0 评论 -
CodeForces 828B Black Square
题目链接:http://codeforces.com/contest/828/problem/B 题意:有一个n*m的二维矩阵,其中W代表白色,B代表黑色,让你把一部分白色变成黑色,使得这个二维矩阵里面有一个黑色正方形,输出改变的个数 解析:确定原图中黑的边界,然后判断是否合法,如果合法就拿黑的面积减去黑的个数,否则输出-1#include <bits/stdc++.h>using names原创 2017-07-12 09:46:31 · 590 阅读 · 0 评论 -
CodeForces 828C String Reconstruction
题目链接:http://codeforces.com/contest/828/problem/C 题意:告诉你一些字符串的信息,要求你重组并输出字典序最小的这个字符串,告诉你的信息是,某个子串在某几个位置出现,保证给的信息不冲突 解析:直接模拟做,但是要避免掉一些重复的情况#include <bits/stdc++.h>using namespace std;const int maxn =原创 2017-07-12 13:19:15 · 952 阅读 · 0 评论 -
CodeForces 820A Mister B and Book Reading
题目链接:http://codeforces.com/contest/820/problem/A 题意:一个人要读书,一本书有c面,他第一天读v0面,然后每天多读a面,即v0+a,v0+2a以此类推,每天读的面数不能超过v1,而且隔天还要读l面是用来复习用的,问你需要几天能读完这本书 解析:按照题意直接模拟就可以了#include <bits/stdc++.h>using namespace原创 2017-07-10 20:17:46 · 832 阅读 · 0 评论 -
CodeForces 820B Mister B and Angle in Polygon
题目链接:http://codeforces.com/contest/820/problem/B 题意:有个正凸多边形,现在告诉你一个角度a,让你从多边形里面找一个角,使得尽可能的接近a,输出任意一组顶点编号 解析:如果把多边形外接圆,相当于有n-2个圆周角,固定一条边,移动另一条边,每次增长的度数就是圆周角的大小,维护一下最小值就直接出结果了#include <bits/stdc++.h>u原创 2017-07-11 00:00:27 · 952 阅读 · 0 评论 -
CodeForces 822A I'm bored with life
题目链接:http://codeforces.com/contest/822/problem/A 题意:给你两个数a,b,让你求gcd(a!,b!) 解析:很明显gcd(a!,b!)=min(a,b)!,而且题目说明了min(a,b)<=12,所以直接去最小值,然后求一下阶乘就可以了#include <bits/stdc++.h>using namespace std;int main(vo原创 2017-07-08 10:40:45 · 1029 阅读 · 0 评论