cf
文章平均质量分 66
ACMer_hades
没有伞的孩子只能够努力奔跑!
展开
-
Codeforces Round #306 (Div. 2)
最近是怎么了,老是掉分,sad = =.......明明都会做,但一到比赛时,就没有想法了。。。估计是太困了吧。。。A. Two Substringstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutput原创 2015-06-07 21:13:43 · 642 阅读 · 0 评论 -
Codeforces Round #324 (Div. 2)——D. Dima and Lisa
题意:现在有一个奇数n,让你求把这个奇数拆成小于等于3个素数的和的方案。思路:首先我们肯定是从大到小枚举素数,然后如果n还没被减完,那么我们从小到大枚举素数,然后如果是素数的话,那么就把它存下来,然后直到满足为止。#include#include#include#include#include#includeusing namespace std;typedef __原创 2015-10-08 21:31:49 · 481 阅读 · 0 评论 -
Codeforces Round #324 (Div. 2)——B. Kolya and Tanya
题意:现在有n个人,按照顺时针方向座位,然后每个人最多可以有1~3个糖,问你满足ai + ai + n + ai + 2n ≠ 6这样的情况有几种,并输出方案数。思路:一开始我一直在正着推,但是忘记了高中那个公式,然后看了一下题解,正难则反嘛。因为每个人都有3中拿糖的情况,然后原创 2015-10-08 22:42:37 · 450 阅读 · 0 评论 -
Codeforces Round #324 (Div. 2)——C. Marina and Vasya
题意:现在给你长度为n的两个字符串,然后让你求第三个字符串,使得它与a串和b串的不同的字符数有t个,然后让你输出这个满足方案的字符串,如果不存在,则输出-1。思路:就是分情况讨论,但是我一开始讨论的方向不对,所以感觉自己像是陷进去了,然后搞了好久都没A。。。1)当不同字母的数量小于等于t时,那么我们只需要在相同的地方找t-dif个就好了,然后其他的选择与a,b两串都不同的方案。原创 2015-10-08 21:19:36 · 551 阅读 · 0 评论 -
Codeforces Round #6——C. Alice, Bob and Chocolate(想法题)
题意:现在有n个巧克力棒,然后一个从左边开始吃,一个从右边开始吃,当两者同时吃到一个巧克力棒时,那么归为左边的那个人。思路:设置头尾两个指针,因为这里两个人同时吃不方便模拟,所以我们就设为左边一个人吃一次,然后右边一个人吃一次,交替进行,然后遇到同一根时,就是当时间相同时,那么这时也归左边那个人。#include#include#include#include#includ原创 2015-10-09 19:01:18 · 436 阅读 · 0 评论 -
Codeforces Round #328 (Div. 2) B. The Monster and the Squirrel(math)
题意:现在有一个由n个点组成的凸多边形,然后从点1开始按照顺序朝各个点发射射线,当射线遇到一个点或是一条射线时,它就会停止。然后问你这样子整个图形总共被划分成了多少个区间。思路:一开始题意没有读清楚,这题只要画几个图形找规律就好了。一开始肯定是1点出发的线把整个图形划分成了n-2块,然后剩下的射线就只能在那些已经划分好的区域内进行了。注意首尾那两个矩形和中间那个不同,然后再找一下规原创 2015-11-10 15:24:36 · 493 阅读 · 0 评论 -
Codeforces Round #328 (Div. 2) C. The Big Race (math)
这道题搞了我好几天o(╯□╰)o,看来数学思维还得加强。。题意:现在有一段长为t的路程,A每次走的路程为w米,B每次走的路程为b米。然后叫你判断有多少中情况它们两个人能够打成平手(也就是让你从1~t中选择几种路程,使得他们能够打成平手),打成平手的条件是这两个人走的路程是相等的,并且最多的走的路程要小于等于t。思路:这两个人能够走的路程是相等时当且仅当x%w+r=x%b+r,其中x原创 2015-11-10 14:58:25 · 746 阅读 · 0 评论 -
Codeforces Round #6——E. Exposition
题意:现在有n个数,每个数有高度为h[i]。现在我们要选择一段连续的区间,使得hmax-hmin然后求a:是最多能够展出的书本数 b:有几个这样的区间。思路:因为数的个数比较多,所以我们很容易想到要用线段树来维护一段区间的最值 。然后用二分来求区间长度,然后枚举区间。(二分我一开始没有想到,我一开始还想着for两遍,但是肯定T.....)然后就query一下就好了,因为每原创 2015-10-10 16:47:57 · 686 阅读 · 0 评论 -
Codeforces Beta Round #3-C. Tic-tac-toe
题意:就是给你一个井字棋的棋面,然后让你判断当前属于哪种情况。思路:首先就是判断不合法的情况没有考虑清楚。最重要的一点是我们应该先判断X是否赢,因为它是先手,然后再判断0是否赢。其他的就没有什么了,一开始代码写的不好看,所以一直错。感觉还是应该写成函数的形式这样子比较清晰。#include#include#include#include#include#inc原创 2015-09-22 16:28:31 · 711 阅读 · 0 评论 -
Codeforces Round #327 (Div. 2)——B. Rebranding
题意:现在有一个长度为n的字符串,然后有m个操作,对于每个操作,给出两个字符x,y; 使字符串中所有x字符全都变成y字符,同时y字符也变成x字符。思路:真是智商拙计了。。。比赛时候竟然卡了这题(弱)伤(菜)心这里我们不要对原串进行操作,我们只需对26个字母进行操作就好。数组b的作用是记录当前这个字母现在应该在第几个字母所在的位置,然后a数组是记录当前字母所在的位置此时应该填写什原创 2015-10-26 19:24:52 · 515 阅读 · 0 评论 -
Codeforces Round #327 (Div. 2)——C. Median Smoothing
题意:现在有n个数字,然后对于这n个数字,它的首和尾是不会发生变化的,然后对于中间的i从2~n-1的数,b[i]的值为a[i-1],a[i],a[i+1]的中位数。然后问你最少进行几次变化,使得b[i]都不会发生变化了,并且输出b[i]的值。思路:想了好久,没有理清思路,首先我们要知道对于一个串,它会发生变化当且它是一个01这种类型的串,因为0与1相互间隔时才会需要交换。其实只要发现了原创 2015-10-27 23:24:36 · 540 阅读 · 0 评论 -
Codeforces Round #331 (Div. 2)——C. Wilbur and Points
MD,又因为一个傻逼错误搞了一个下午+一个晚上。。忧桑= =题意:现在有n个点,然后给出n个点的x,y坐标。然后这些坐标必须满足条件:比如说分配给点(x,y)的标号是i,那么点(x',y')的标号就必须是大于i的(这里x'>=x 或者 y'>=y 或者 x'>=x&&y'>=y)然后给你n个的权值w[i],并且告诉你n个点的权值的计算公式是: s(xi, yi) = yi - xi =原创 2015-11-17 21:31:57 · 597 阅读 · 0 评论 -
Codeforces Round #332 (Div. 2)——C. Day at the Beach
题意:现在有n个城堡,然后每个城堡都有一个高度h[i],现在问你要把这个n个城堡按照高度来排序的话,最多需要进行几次操作。操作必须满足:现在你可以把城堡划分为几个块,然后必须满足如下条件:1)城堡被划分为连续的blocks,这连续的blocks必须满足里面的城堡序号是连续的。2)每个块都是单独进行sort的,即为当这几个块都sort完成后,我们必须满足所有这n个城堡的高度都是按原创 2015-11-21 13:54:19 · 510 阅读 · 0 评论 -
Codeforces Round #340 (Div. 2)——C
题意:给你两个喷泉和n个花的位置,要能够使这两个喷泉完全包含所有的花,问你r1^2+r2^2的最小值是多少。思路:因为只有两个喷泉,所以只需要分别以这两个喷泉为中心进行枚举就好了。注意要开ll,否则会爆int。。#include#include#include#include#include#include#include#include#includeusing原创 2016-01-24 11:50:27 · 514 阅读 · 0 评论 -
Codeforces Beta Round #5——D. Follow Traffic Rules
题意:现在告诉你有一条道路,然后车子的加速度为a,它所能够达到的最大速度为v。现在有一个限速的点,然后在那个点的那一瞬间你的车速不能超过w,限速点所在距离起点d距离处,然后道路的总长度为l。问你最少多少时间能够走完整条道路。思路:这题好麻烦啊。。。一不小心就会出错。我是先求出到达w所需要的时间,然后利用v=a*t1算出到达w点时的速度,如果v否则的话,1)我们在0~d的原创 2015-10-06 15:08:08 · 685 阅读 · 0 评论 -
Codeforces Round #299 (Div. 2)——C. Tavas and Karafs
快被二分搞死了。。。听一个大神说最好选择一种适合自己的写法然后搞懂它。一开始用昨天那种写法,发现姿势不对,于是跑去又重新搞了一遍二分写法的区别。题意:现在告诉你每个点i的高度的求法是si=A+B*(i-1);然后有n次询问,对于每次询问我们给出l,t,m,分别代表起点l,然后是最多可以吃的次数t,每次最多可以吃掉几个食物m。每次吃一个食物只能把每个食物的高度减少1。然后问你在满足上原创 2015-10-02 23:50:14 · 525 阅读 · 0 评论 -
Codeforces Round #310 (Div. 2)
看来最近身体状况并不是很好啊。。。最近竟然有一次熬夜,然后心脏开始难受了,我可不想有心脏病啊,劳资还要上分呢。。。 ==b首先是第一题,手速慢了一些,脑子也慢了些,然后回过神来,woc,1600个人过了。。。虽然是1A,但是时间太长,所以导致我后面的题目都没来的及看。A. Case of the Zeros and Onestime limit per test原创 2015-06-29 22:00:38 · 1035 阅读 · 0 评论 -
Codeforces Round #311 (Div. 2)
我只想说还好我没有放弃,还好我坚持下来了。终于变成蓝名了,也许这对很多人来说并不算什么,但是对于一个打了这么多场才好不容易加分的人来说,我真的有点激动。心脏的难受也许有点是因为晚上做题时太激动了,看别人过得那么快自己也紧张了。后来看到有很多大神给我的建议是,初学者,手速并不是唯一重要的关键,掌握算法,一步步系统的完善它才是最重要的。所以这一回也没有太紧张,也没有做一题看一下排名。原创 2015-07-01 16:43:30 · 820 阅读 · 2 评论 -
Codeforces Round #Pi (Div. 2) —— C-Geometric Progression
题意:现在有n个数,然后给出一个数k(代表的是等比数列中的那个公比),然后第二行给出n个数,代表的是这个序列。最后的问题是叫你找出在这个序列中满足公比为k的三个数有几种,并输出方案总数。思路:这道题很巧妙啊,用到了map。首先我们先记录下每种数出现过了几次,这里因为数太大了,直接用数组存会爆掉,所以改用map。我们需要两个map,分别记为mp1,mp2. 然后在for的原创 2015-08-08 00:16:27 · 872 阅读 · 0 评论 -
Codeforces Round #Pi (Div. 2) ——B. Berland National Library
这道题我一开始想了很久,但是fst 了。而且赛后想的也不是很清楚,所以有必要把它单独分出来讲清楚。题意:现在在log中有n条记录。然后每一条记录都写成:"+ri"或是"-ri"的形式。(其中+是代表有人进入,-代表有人出去)ri代表的是进入人的号码。然后问你房间中最多同时有几个人存在。思路:我们需要两个变量max与sum,其中max是记录房间的最大容量的,sum是表示当前还有多原创 2015-08-07 15:12:33 · 720 阅读 · 0 评论 -
Codeforces Round #315 (Div. 2)——C. Primes or Palindromes?
这道题竟然是一个大暴力。。。题意: π(n):小于等于n的数中素数的个数 rub(n) :小于等于n的数中属于回文数的个数然后给你两个数p,q,其中A=p/q; 然后要你找到对于给定的A,找到使得π(n) ≤ A·rub(n)最大的n。(A思路:首先我们可以暴力算出当n为大概150万左右的时候,π(n)大概是 rub(n) 的42倍。所以我们只需要for原创 2015-08-11 23:47:07 · 607 阅读 · 0 评论 -
Codeforces Round #318-(B. Bear and Three Musketeers)
这道题做的时候还剩下30多分钟了,于是有点慌。。。果然心理素质还是有待提高,这么水的题都没有过):导致又掉rating了。。。题意:现在给你n个人,m个询问,然后接下来m行告诉你a与b是相互认识的,但是这个认识不能够相互传递,也就是说a认识b,b认识c,但是a并不认识c。然后问你是否能够在这n个人中选取3个人,使得它们认识其他人的总数最少,并且这三个人要相互认识(也就是a-b,b-c,原创 2015-08-30 21:31:39 · 664 阅读 · 0 评论 -
Codeforces Round #318-(D. Bear and Blocks)
这道题我上来就是想到的是暴力,每次都把表面的那一层减掉,直到所有的高度为0为止。但是T了。题意:现在有n个方格,然后每个方格都有一个高度,然后每次都可以把那些非完整块(就是它的四个方向没有被完全包围)给连在一起消去。问你最后把所有的方块消去需要几次。思路:我们只需要从左边,右边分别进行一次消去,然后最后进行一次判断就好了。最多的次数不可能超过最大的那个的高度。首先初始化为h1[原创 2015-08-30 21:51:43 · 714 阅读 · 0 评论 -
Codeforces Round #Pi (Div. 2) —— D One-Dimensional Battle Ships
题目的意思是:现在有一个长度为n,宽为1的方格,在上面可以放大小为1*a船,然后输入为n,k,a;分别为平地的大小,船的数量,船的长度。一个叫alice的人已经在地图上摆好了船的位置。然后bob总共可以有m次攻击的机会,然后他每次攻击的点为xi,但是alice并不会告诉它有没有打中(也就是说每次都认为他是miss的),问你,bob可以在第几次攻击的时候推测出alice在撒谎,如果推测不原创 2015-08-08 00:37:30 · 953 阅读 · 0 评论 -
Codeforces Beta Round #3——B. Lorry
题意:现在告诉你有n个物品,背包的体积为V。然后n行,有两种类型的物品,如果是1类型的物品,那么它的体积为1,如果是2类型的物品,那么它的体积为2。并同时告诉了我们每种物品的价值。问你在不超过背包的容量的情况下,所能获得的背包的最大价值。并同时输出被选在背包中的物品的序号。思路:因为V十分大,所以肯定不能是01背包。于是我们对每种物品的价值排序,然后优先选择价值高的。然原创 2015-09-25 20:09:09 · 770 阅读 · 0 评论 -
Codeforces Round #319 (Div. 2)——B. Modulo Sum(01背包)
题意:现在你有一个长度为n的数组,然后问你能否在这个数组中找一个非空的子序列,然后使得它们的和%m==0.思路:一开始想了想dfs,但是明显不可行,因为数据范围太大。 但是又有什么可以找子序列呢?(非连续),于是类比到了01背包,用了dp。但是还是挺巧妙的方法。#include#include#include#includeusing namespace std;原创 2015-09-11 17:07:35 · 949 阅读 · 3 评论 -
Codeforces Round #319 (Div. 2) ——C. Vasya and Petya's Game(数学题)
题意:现在A选了一个数x,范围在1~n内,你每次可以询问一个数y,然后A会告诉你x%y是否等于0,然后问你以最少的步数猜出这个数的过程,并输出最小步数。思路:感觉像是推理题,数学问题果然还是不强。首先我们肯定要选取p^k(p是素因子),这里可以用反证法理解,如果不选p^k,那么就分辨不出p^k了。所以肯定要选p^k。或者说,质数的指数次都是要被查询的,这里一开始我不是很明白,但原创 2015-09-11 16:59:21 · 678 阅读 · 0 评论 -
Codeforces Beta Round #4 (Div. 2 Only)——D. Mysterious Present
题意:现在我们有n封信封,然后我们有一张卡片,并且我们知道它的长度和宽度。然后n行我们知道每个信封的长度和宽度。现在我们想形成一个链,这条链的长度就是这条链中所含有的信封的数量,但是必须同时保证在信封中含有那张卡片。然后问你我们最多可以形成多长的链,并且输出我们选取的链的编号(从最小的那个信封开始输出)。思路:就是一个求LIS以及保存下我们所选择的信封编号就好了,保存编号就原创 2015-09-28 21:46:49 · 508 阅读 · 0 评论 -
Codeforces Beta Round #5——C. Longest Regular Bracket Sequence
这道题卡了很久没想出来方法,又看题解了= =题意:现在给你一个串,然后让你求出这个串中最长的匹配长度以及是同样是这个最大长度的子串的个数。思路:第一种方法:可以用栈来做,就像判断括号是否匹配那样,当遇到'('时,我们把当前点的坐标给压入栈中,然后遇到')'时,我们从栈中弹出,然后判断是否匹配。求距离的话就是像尺取法一样根据左右点的取值然后来算出长度。#include原创 2015-09-29 21:41:06 · 506 阅读 · 0 评论 -
Codeforces Round #340 (Div. 2)——D
题意:给你3个点的坐标,然后问你最少用几条折线就可以把这3个点给连接起来,并且同时要满足这几条折线都平行于坐标轴。(具体详见样例)思路:直接模拟,要小心。。。#include#include#include#include#include#include#include#include#includeusing namespace std;typedef __i原创 2016-01-24 13:37:58 · 435 阅读 · 0 评论