自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZSQ

新的一天,新的不会

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

原创 CodeForces 731 C.Socks(贪心+并查集)

Description m天n只袜子,袜子有k种颜色,每次操作可以将任一只袜子染成这k种颜色的任一种,要求第i天只能穿第li只和第ri只袜子,问最少操作多少次可以使得每一天穿的袜子颜色都相同 Input 第一行三个整数n,m,k分别表示袜子数,天数和颜色数,之后n个整数c[i]表示第i只袜子的颜色,最后m行每天两个整数li和ri表示第i天要穿的两只袜子(2Output 输出最少操作数使得

2017-04-29 11:12:12 626

原创 CodeForces 731 B.Coupons and Discounts(水~)

Description n天,第i天需要ai个披萨,有两种买法,第一种是一次买俩,第二种是连续两天一天买一个总共两个,当天买的披萨必须当天吃,买多了就浪费了,问是否会浪费 Input 第一行一整数n表示天数,之后n个整数a[i]表示每天所需的披萨数量(1Output 如果存在不浪费的方案则输出YES,否则输出NO Sample Input 4 1 2 1 2 Sample Out

2017-04-29 11:11:57 492

原创 CodeForces 731 A.Night at the Museum(水~)

Description 一个键盘如下: 问至少转多少格可以打出串s Input 一个字符串s,串长不超过100 Output 输出打出s最少需要转多少格 Sample Input zeus Sample Output 18 Solution 简单题,每次顺时针转和逆时针转取个较小值 Code#include#include#include#include

2017-04-29 11:11:37 949

原创 CodeForces 652 A.Gabriel and Caterpillar(水~)

Description 爬树,白天定义为早上十点到晚上十点,其他是夜里,白天爬a米,夜里掉b米,从一个下午的两点开始爬,几天后可以从高度为h1的地方爬到高度为h2的地方 Input 第一行两个整数h1,h2表示起点和终点的高度,第二行两个整数a和b表示白天爬上的距离和夜里掉下来的距离(1<=h1 < h2<=1e5,1<=a,b<=1e5) Output 输出第几天可以爬到终点,如果永远

2017-04-29 11:11:25 473

原创 CodeForces 651 A.Joysticks(贪心)

Description 两个数a和b,每一轮可以选择一个数让其减2,另一个数加一,当一个数为0或者两个数不够减2的时候结束,问最多可以进行多少轮 Input 两个数a和b(1Output 输出最多可以进行多少轮 Sample Input 3 5 Sample Output 6 Solution 贪心,每次选较大值减2 Code#include#include#i

2017-04-29 11:10:37 385

原创 CodeForces 650 B.Image Preview(二分)

Description n张照片,第i张右边是第i+1张,第n张往右是第一张,第一张左边是第n张,每次向左或向右划过一张图片花费时间a,照片有两种放置状态w和h,遇到w需要花费时间b旋转屏幕,没看过的照片要花时间1去看,看过就不用看了,问T时间内最多可以看多少张照片 Input 第一行四个整数n,a,b,T分别表示照片数量,划过一张照片用时和旋转屏幕用时以及总时间,之后一个长度为n的字符串表示

2017-04-28 23:37:40 349

原创 CodeForces 650 A.Watchmen(map)

Description 给出n个点,求哈密顿距离和欧氏距离相等的点对 Input 第一行一整数n表示点数,之后n行每行两个整数x和y表示该点坐标(1Output 输出哈密顿距离和欧氏距离相等的点对数 Sample Input 3 1 1 7 5 1 5 Sample Output 2 Solution 满足条件的点对必然是横纵坐标至少有一个相等的,故拿map存一下一个横

2017-04-28 23:37:21 368

原创 CodeForces 645 E.Intellectual Inquiry(dp+贪心)

Description 给出一个只由前k个小写字母组成的长度为m的字符串,要求在后面添上n个字符(只能是前k个小写字母)使得组成的新串的不同子串数量最大 Input 第一行两整数n和k表示要添加的字符数和可以用的小写字母数量,之后一个长度为m的只有前k个小写字母组成的字符串(0<=n<=1e6,1<=k<=26,1<=m<=1e6) Output 输出最大的不同子串数量 Sample I

2017-04-28 23:37:07 417

原创 CodeForces 645 D.Robot Rapping Results Report(二分+dfs)

Description n个机器人,每个机器人有一个不同的级别,级别介于1~n,高级别的可以打败低级别的,现在给出n个机器人的m场比赛胜负情况,问最少需要前几场比赛就可以确定每个机器人的级别 Input 第一行两个整数n和m表示机器人个数和比赛场数,之后m行每行两个整数u和v表示机器人u打败机器人v (2<=n<=1e5,1<=m<=min(n*(n-1)/2,1e5)) Output

2017-04-28 14:45:19 470

原创 CodeForces 645 C.Enduring Exodus(水~)

Description 一排n个屋子,0表示屋子是空的,1表示屋子被占了,现在要选k个空屋子放牛,一个空屋子待人,最小化人和牛的距离最大值 Input 第一行两个整数n和k表示屋子数和牛数,之后一个长度为n的01串表示每个屋子的占用情况(1Output 输出最小化后的人牛距离最大值 Sample Input 7 2 0100100 Sample Output 2 Soluti

2017-04-28 14:36:37 410

原创 CodeForces 645 B.Mischievous Mess Makers(水~)

Description 1~n按顺序排好组成一个序列,每次操作可以交换任意两个数位置,问经过不超过k次操作得到的新序列的逆序对数最大值 Input 两个整数n和k(1<=n,k<=1e5) Output 输出移动k个数后得到新序列的最大逆序对数 Sample Input 5 2 Sample Output 10 Solution 至多经过n/2次交换就可以把序列变成n~1,所以

2017-04-28 14:27:44 460

原创 CodeForces 645 A.Amity Assessment(水~)

Description 给出两个2*2的数码,问第一个是否可以通过适当转化变成第二个 Input 给出两个2*2矩阵表示这两个数码,X表示该处为空 Output 如果可以互相转化则输出YES,否则输出NO Sample Input AB XC XB AC Sample Output YES Solution 两个数码可以相互转化当且仅当在不考虑X的时候旋转同构,故判一下

2017-04-28 14:20:40 452

原创 CodeForces 644 B.Processing Queries(队列)

Description 一个服务站,n个人来,第i个人在t[i]时刻来,需要占用d[i]时间,如果一个人来的时候服务站没有人则直接接受服务,否则如果服务站等待的人少于b个该人会排队等候,否则该人离开不接受服务,问每个人处理完自己的事情的时刻,如果该人离开则输出-1 Input 第一行两个整数n和b表示总人数和排队人数上限,之后n行每行两个整数t[i]和d[i]表示第i个人到达服务站的时间和接受

2017-04-28 14:09:25 485

原创 CodeForces 644 A.Parliament of Berland(构造)

Description 一个a*b的会场,有n个人来开会,问如何安排座位能够使得任意两个奇偶性相同的客人不相邻 Input 三个整数n,a,b表示客人数和会场规模(1<=n<=1e4,1<=a,b<=100) Output 如果存在合法方案则输出一个a*b矩阵表示每位客人的位置,某个位置为0表示该位置为空,否则输出-1 Sample Input 3 2 2 Sample Output

2017-04-28 14:05:33 401

原创 CodeForces 643 B.Bear and Two Paths(构造)

Description 给出n个点,要求用至多k条无向边构造出从a到b和从c到d的哈密顿通路,且a和b之间以及c和d之间不能右边,如果存在则输出这两条哈密顿通路,否则输出-1 Input 第一行两个整数n和k表示点数和边数上限,之后四个两两不同的整数a,b,c,d(4<=n<=1000,n-1<=k<=2n-2,1<=a,b,c,d<=n) Output 如果存在合法方案则输出a->b和c

2017-04-28 14:00:56 524

原创 CodeForces 643 A.Bear and Colors(水~)

Description n个球,每个球有一个颜色c[i],对于一个区间里的球,定义该区间的统治颜色为出现次数最多的颜色,如果有多种颜色出现次数都是最多的则选择颜色编号小的那个座位统治颜色,现在对于每种颜色,输出其作为统治颜色的区间数 Input 第一行一整数n表示气球数量,之后n个整数c[i]表示每个气球的颜色(1<=n<=5000,1<=c[i]<=n) Output 输出n个整数表示每

2017-04-28 13:48:44 376

原创 CodeForces 641 E.Little Artem and Time Machine(BIT+map)

Description 一个初始为空的可重集,给出n种操作: 1 t x:在t时刻插入一个x 2 t x:在t时刻删除一个x 3 t x:查询t时刻x的数量 Input 第一行一整数n表示操作数,之后n行每行一个操作(1<=n<=1e5,1<=t,x<=1e9) Output 对于每次查询,输出查询结果 Sample Input 6 1 1 5 3 5 5 1 2 5 3

2017-04-28 13:36:45 477

原创 CodeForces 641 C.Little Artem and Dance(水~)

Description n对男女顺时针站在一个环的n个位置上跳舞(n为偶),起初编号为i的男生和编号为i的女生在第i个位置跳舞,有两种操作: 1 x:所有男生移动x个位置,x为正则顺时针移动,为负则逆时针移动 2:和编号为i的女生跳舞的男生与和编号为i+1的女生跳舞的男生互换,i=1,3,…,n-1 给出q个操作,问操作后与第i个女生跳舞的男生编号 Input 第一行两整数n和q表示男生

2017-04-28 13:17:40 452

原创 CodeForces 641 B.Little Artem and Matrix(水~)

Description 给出一个n*m矩阵,初始都是0,q次操作,操作分三种: 1 r:把第r行元素右移一位,即第i个元素放在第i+1个位置,第m个元素放在第一个位置 2 c:把第c列元素下移一位,即第i个元素放在第i+1个位置,第n个元素放在第一个位置 3 r c x:把第r行第c个元素变为x 输出操作后的矩阵 Input 第一行三个整数n,m,q表示矩阵规模和操作数,之后q行每行一

2017-04-28 11:46:21 508

原创 CodeForces 641 A.Little Artem and Grasshopper(水~)

Description 1~n上每个点都有一步操作,即往左或往右走若干步,不用考虑经过点的操作,起点在1,问是否能够走出区间[1,n] Input 第一行一整数n,之后一个长度为n的字符串表示每个点上操作的方向,之后n个整数d[i]表示到达i点处后需要走几步 Output 如果可以走出[1,n]则输出FINITE,否则输出INFINITE Sample Input 2 < 1

2017-04-28 11:34:57 636

原创 CodeForces 639 B.Bear and Forgotten Tree 3(构造)

Description 构造一棵点数为n,直径为d,深度为h的树 Input 三个整数n,d,h(2<=n<=1e6,1<=h<=d<=n-1) Output 如果存在合法方案则输出该树,否则输出-1 Sample Input 5 3 2 Sample Output 1 2 1 3 3 4 3 5 Solution d > 2h或d < h都无解,d > h的时候以1为根

2017-04-28 11:26:00 468

原创 CodeForces 639 A.Bear and Displayed Friends(水~)

Description 一个人有n个朋友,他和第i个朋友的关系程度用t[i]表示,现在他和朋友们打游戏,最多可以和k个在线的朋友打游戏,如果在线朋友很多那就选择关系最好的k个,起初所有朋友都不在线,有两种操作: 1 x:朋友x上线 2 x:查询朋友x是否在和这个人打游戏 Input 第一行三个整数n,q,k表示朋友数,操作数和每次打游戏人数上限,之后n个不同的整数t[i]表示和第i个朋友的

2017-04-28 11:05:14 346

原创 CodeForces 638 B.Making Genome in Berland(水~)

Description 一个只由小写字母组成的字符串,且每个小写字母最多出现一次,现在给出这个字符串的n个子串,求出符合条件的最短的合法串 Input 第一行一整数n表示给出的子串数量,之后给出n个子串 Output 输出满足条件的最短串 Sample Input 3 bcd ab cdef Sample Output abcdef Solution 根据输入的子串得到每

2017-04-28 10:56:51 513

原创 CodeForces 638 A.Home Numbers(水~)

Description n个房子如下图放置,问去编号为a的房子最短要走多少米 Input 两个整数n和a表示房子数和要去的房子的编号(1<=a<=n<=1e5) Output 输出去编号为a的房子最短要走多少米 Sample Input 4 2 Sample Output 2 Solution 水题,去奇数房需走(a+1)/2米,去偶数房需走(n-a)/2+1米 Code

2017-04-28 10:44:41 267

原创 CodeForces 637 D.Running with Obstacles(贪心)

Description 一个人跨栏跑,有n个栏,第i个栏的位置在x[i]处,起点在x=0处,终点在x=m处,每次跳跃至少要助跑s米,一跳至多可以跳d米,注意起跳点和落地点不能有栏且只能在整数位置起跳和落地,问该人是否可以顺利到达终点,如果可以则输出方案,否则输出IMPOSSIBLE Input 第一行四个整数n,m,s,d表示栏的数量,终点位置,助跑长度和跳跃长度,之后n个整数x[i]表示第i

2017-04-28 10:44:01 467

原创 CodeForces 637 C.Promocodes with Mistakes(水~)

Description 有n个长度均为6的校验码,要求最大的容错率k,使得对于任意一个校验码都可以判定其在不超过k个错误下为这n个校验码中的哪一个 Input 第一行一整数n表示校验码数量,之后n个长度为6的数字串s[i] (1<=n<=1000) Output 输出满足条件的最大容错率k Sample Input 2 000000 999999 Sample Output 2

2017-04-27 14:49:28 532

原创 CodeForces 637 B.Chat Order(水~)

Description 有一堆人的申请,先来的人在下面,一个人可能交了很多次申请,现在从下往上开始处理,如果一个人之前已经处理过就不处理了,问处理的顺序 Input 第一行一整数n表示申请的数量,之后n个串长不超过10的串表示每次申请的人(1<=n<=2e5) Output 输出处理的顺序 Sample Input 4 alex ivan roman ivan Sample

2017-04-27 14:28:38 712

原创 CodeForces 637 A.Voting for Photos(水~)

Description 给出n个数,求其中出现次数最多的数字,如果有多种方案,则输出最先达到最大数量的数字 Input 第一个一整数n表示数字数量,之后n个整数a[i] (1<=n<=1000,1<=a[i]<=1e6) Output 输出答案 Sample Input 5 1 3 2 2 1 Sample Output 2 Solution 拿map存一下每个数的数量和其最

2017-04-27 14:24:34 380

原创 CodeForces 635 A.Orchestra(水~)

Description 一个r*c的墙,上面有n个位置有图,如果一张照片中有至少k张图那么这张照片合法,照片可以是任意尺寸,问有多少张不同的合法照片 Input 第一行四个整数r,c,n,k分别表示墙的大小,图片数量和合法照片中图片的数量,之后n行每行两个整数x,y表示该张图的位置(1<=r,c,n<=10,1<=k<=n) Output 输出合法图照片的数量 Sample Input

2017-04-27 14:20:19 338

原创 CodeForces 634 A.Island Puzzle(水~)

Description n个位置,相邻两个位置均互通,n和1也互通,把1~n-1放进去,一个数字只能移动到相邻的空位置上去,给出一个初始状态和一个目标状态,问是否初始状态是否可以经过适当移动变为目标状态 Input 第一行一整数n表示位置数,之后两个长度为n的序列a[i]和b[i]表示初始状态和目标状态中每个位置上放的数字,0表示该位置为空(2<=n<=2e5) Output 如果初始状态

2017-04-27 14:12:45 460

原创 CodeForces 633 D.Fibonacci-ish(枚举)

Description 称一个序列f是斐波那契的当且仅当该序列满足下列三条性质: 1.序列长度至少为2 2.f[0]和f[1]任意 3.f[i]=f[i-2]+f[i-1],i>=2 现在给出一个长度为n的序列a,问从a中最多可以选出多少数字使其组成一个斐波那契的序列 Input 第一行一整数n表示序列长度,之后n个整数a[i]表示该序列(2<=n<=1000,|a[i]|<=1e9)

2017-04-27 14:05:55 418

原创 CodeForces 633 B.A Trivial Problem(二分+数论)

Description 问哪些数的阶乘后面有m个0 Input 一个整数m(1<=m<=1e5) Output 输出满足条件的数的个数以及升序输出这些数 Sample Input 1 Sample Output 5 5 6 7 8 9 Solution n!后面0的个数为n!质因子分解后5的幂指数,如果n是满足条件的最小的数字,那么n必然可以被5整除(否则(n-1)!后面必然

2017-04-27 13:56:03 479

原创 CodeForces 633 A.Ebony and Ivory(水~)

Description 给出三个正整数a,b,c,问是否存在非负整数x和y满足x*a+y*b=c Input 三个整数a,b,c(1<=a,b<=100,1<=c<=1e4) Output 如果存在满足条件的x和y则输出Yes,否则输出No Sample Input 4 6 15 Sample Output No Solution 简单题,直接枚举x判断c-x*a是否可以整除b

2017-04-27 13:47:55 339

原创 CodeForces 632 C.The Smallest String Concatenation(水~)

Description 给出n个字符串a1,…,an,将这n个字符串组合起来,问字典序最小的 Input 第一行一整数n表示字符串数量,之后n个串长不超过50的串,总串厂不超过5e4(1<=n<=5e4) Output 输出字典序最小的组合方案 Sample Input 4 abba abacaba bcd er Sample Output abacabaabbabcder

2017-04-27 11:49:50 447

原创 CodeForces 632 B.Alice, Bob, Two Teams(水~)

Description 有n个物品,分为A和B两种,每个物品有一个价值pi,Bob可以把任意一个前缀或者后缀中所有A物品变成B物品,B物品变成A物品,之后Bob拿到所有B物品,问Bob能拿到的物品的最大价值 Input 第一行一整数n表示物品数量,之后n个整数pi表示第i个物品的价值,最后一个长度为n的字符串表示每个物品的种类(1<=n<=5e5,1<=pi<=1e9) Output 输出

2017-04-27 11:45:19 346

原创 CodeForces 632 A.Grandma Laura and Apples(水~)

Description 一个老人卖苹果,有n位顾客依次来买,每次每位顾客都会买一半数量的苹果,如果苹果数量x为奇数,老人会把剩下的半个苹果送个客人,也就是说客人只花了x/2+0.5个苹果的价钱买了x/2+1个苹果,老人记得送给了哪些客人半个苹果,问老人总共得到多少钱,假设一个苹果价格为p Input 第一行两个整数n和p表示客人数量和苹果单价,之后n行每行输入一个字符串,half表示苹果数量为

2017-04-27 11:38:07 343

原创 CodeForces 631 C.Report(单调栈)

Description 给出一个长度为n的序列a,两种操作: 1 x:把前x个数升序排 2 x:把前x个数降序排 问m次操作后的序列 Input 第一行两个整数n和m分别表示序列长度和操作数,之后n个整数ai表示该序列,最后m行每行表示一个操作(1<=n,m<=2e5) Output 输出操作后的序列 Sample Input 3 1 1 2 3 2 2 Sample Ou

2017-04-27 11:28:16 435

原创 CodeForces 631 B.Print Check(水~)

Description 给出一个n*m的网格图,起初所有格子颜色都是0,之后k次操作,每次把某一行或某一列涂成某种颜色,要求输出操作完后所有格子的颜色 Input 第一行三个整数n,m,k分别表示网格图的规模和操作数,之后k行每行三个整数op x c表示一次操作,op=1表示将第x行染成c颜色,op=2表示将第x列染成c颜色(1<=n,m<=5e3,1<=n*m<=1e5,1<=k<=1e5,

2017-04-27 11:09:57 284

原创 CodeForces 631 A.Interview(水~)

Description f(x,l,r)表示将x序列的第l个元素到第r个元素按位或后的结果,给出两个长度为n的序列,问f(a,l,r)+f(b,l,r)的最大值,1<=l<=r<=n Input 第一行一整数n表示序列长度,之后输入两个长度为n的序列a和b(0<=ai,bi<=1e9) Output 输出f(a,l,r)+f(b,l,r)的最大值,1<=l<=r<=n Sample In

2017-04-27 11:01:51 306

原创 CodeForces 625 D.Finals in arithmetic(构造)

Description 给出一个数字n,问是否存在一个数a,使得a和其反串ar加起来等于n Input 一个整数n(1<=n<=10^100000) Output 如果存在合法方案则输出任一个,否则输出0 Sample Input 4 Sample Output 2 Solution 在不进位的情况下a和ar加起来应该是一个回文串,用两个指针l和r分别从n的左边和右边开始往中间

2017-04-27 10:47:25 374

空空如也

空空如也

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

TA关注的人

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