CF
文章平均质量分 50
Apollo-yyy
考研失败的华子5G工程师一枚
展开
-
Codeforces Round #486 (Div. 3)
Codeforces Round #486 (Div. 3) (2018/06/01)菜鸡第一次打CF,晚上10点和主席跑到综合楼一起肝。一个小时写了前两个签到题然后摸鱼半小时后跑路去吃鸡了。。。凌晨2点多单排五杀第二,一晚上除了没吃到鸡手感还不错。今天学了下map又参考了董先森的代码后把C题过了,先上个博客把前三个题放上去。A. Diverse Teamtime limit per ...原创 2018-06-03 16:40:54 · 286 阅读 · 0 评论 -
codeforeces div3 494 C. Intense Heat
题目大意:n个数,求最大的连续k或者k个数以上的平均值,答案误差不得超过10^-6。解题思路:暴力就好了,需要注意的是最后的输出,我直接按照答案保留了小数点后15位。 代码如下:#include<iostream>#include<cstdio>#include<fstream>#include<set>#inc...原创 2018-08-13 15:50:28 · 167 阅读 · 0 评论 -
codeforces div3 494 D. Coins and Queries
题目大意:n枚硬币q个问题,每个问题下有一个价值b,问最少需要多少枚硬币得到b?可以理解为一个找零的问题。解题思路:明显一个贪心的思想,但是朴素的贪心法即使用数组然后排序逆序遍历超时了,桶标记只能采用map标记(数组标记爆内存),记录一下最大的硬币然后遍历一下小于等于最大硬币的所有2的次幂即可。 代码如下:#include<iostream>#include&l...原创 2018-08-13 16:46:51 · 173 阅读 · 0 评论 -
codeforces 490 div3 B. Reversing Encryption
题目大意:一个长度为n的字符串,有k次操作,每次把范围为1-d(d是n的因子,且d从大到小)的子字符串翻转。 现在给你k次翻转后的结果,要求输出原来的字符串。解题思路:给出结果求原串,操作的过程翻转一下就可以。原来是d递减,那么现在递增,一开始不知道reverse()函数,拿模拟写了。。。用reverse()函数好简单。。 模拟代码:#include&lt;iostre...原创 2018-08-13 20:40:57 · 171 阅读 · 0 评论 -
codeforces 490 div3 C.Alphabetic Removals
题目大意:长度为n的字符串,按照小写字母顺序表删除k个字母(删完a才能接着删b….)解题思路:模拟即可,我用STL 队列写了一发,熟悉一些队列操作。#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;fstream&gt;#include&lt;set&gt;原创 2018-08-13 20:48:29 · 152 阅读 · 0 评论 -
codeforces 481 div3 C. Letters
题目大意:n个宿舍楼m次查询,第二行给出每个宿舍楼的房间数,第三行每次查询要求输出b号房间在第几个宿舍楼的第几号房间。每个宿舍楼的房间都是从1开始编号的。解题思路:维护一个前缀和数组,代表到当前宿舍楼共有多少房间可用(包括之前的宿舍楼)二分查找宿舍楼的位置即可。 代码如下:#include<iostream>#include<cstdio>#i...原创 2018-08-16 10:49:35 · 186 阅读 · 0 评论 -
codeforce 481 div3 D. Almost Arithmetic Progression
题目大意:给你一个数列,每一项只能执行+1,-1或者不变(不算在操作次数内),最少操作多少次能使它变成一个等差数列,如果不能成为等差数列就输出-1。解题思路:首先根据前两项确定出公差然后模拟后面的情况即可。复杂度O(9n),前两项对应9种情况,对符合要求的数列更新最小操作次数。 代码如下:#include<iostream>#include<cstdi...原创 2018-08-16 11:00:31 · 193 阅读 · 0 评论 -
codeforces 481 div3 F. Mentors
题目大意:n个人,每个人对应一个能力值,接下来有m对互相不能“在一起”的人的编号。能力高的可以做能力低的人的老师,要求输出每个人最多有多少徒弟。解题思路:首先维护一个记录每个人可以拥有多少徒弟的数组,初始值为0。在输入不能在一起的人的时候,如果前者能力高于后者,那么前者徒弟就要-1,否则如果小于后者,那么后者徒弟数量-1。最后排序二分查找一次每个人第一次出现的位置即可(这里也可以用...原创 2018-08-16 14:31:35 · 171 阅读 · 0 评论 -
codeforces 481 div3 E. Bus Video System
题目大意:n个车站,告诉你每一站公交车上的人数变化,然后问初始时公交车上人员数量可能有几种情况(公交车载客量为W)。解题思路:本能的做法自然是枚举每一种可能去跑每一站但这样时间复杂度高达O(w*n),所以要想办法压缩区间。维护一个前缀和代表当前站的总人数变化请况,然后更新初始人数的上下界限,使之满足全部变化。最后如果下限高于上限说明可能数为0。 代码如下:#include...原创 2018-08-16 15:21:51 · 207 阅读 · 0 评论 -
codeforces round 506 div3 C. Maximal Intersection
题目大意:给你n的区间,要求输出n-1个区间的最长交集的长度(也就是需要删除一个区间)解题思路:当时没啥头绪,还以为是和容斥有关,主要是不知道如何求公共交集的长度。 今天看了下网上的代码,大致理解了过程。 对于n个区间来说,它们公共的交集长度就是最大左边界和最小右边界的差的绝对值。注意这个交集是这n个区间的子集合,当时没理解这一点,以为是只要是交集就行。那么保存下所有的左边界和...原创 2018-08-26 10:25:10 · 205 阅读 · 0 评论 -
codeforces round49 div2 C. Minimum Value Rectangle
题目大意:t个测试样例,每个样例n个数,找四个数组成的矩形使周长的平方对面积的商结果最小,输出这四个数(就是长和宽)。解题思路:推这个关系可以发现如果长宽相同那么结果就是最小的,否则的话两个数差值越小并且本身越大结果就越小。#include<iostream>#include<cstdio>#include<fstream>#inc...原创 2018-08-20 16:21:58 · 160 阅读 · 0 评论 -
codeforces round499 div2 A. Stages
题目大意:给你n个小写字母表示的阶段,然后火箭需要其中的k个,这k个必须不相邻并且递增。每一个字母有一个重量,a是1吨,b是2吨。。。问最少多少吨。解题思路:贪心思想,既然求最小,那首先排序,然后“相邻”位置进行比较,注意这里的相邻是指可以满足条件的“相邻”字母,不是数组中的相邻,我们可以先把满足条件的字母保存下来,然后从它的位置以后继续比较。 代码如下:#include...原创 2018-08-20 20:32:55 · 152 阅读 · 0 评论 -
codeforces round499 div2 C. Fly
题目大意:一个火箭从地球起飞最后要飞回地球,它每次从一个星球起飞和降落都要消耗燃料,消耗多少对应火箭的重量就要减少多少,起飞和降落都是一个单独到过程。首先给你n个星球和火箭本身的重量,然后n个数代表从第i个星球起飞一吨燃料可以举起的重量,最后一行n个数则是降落到第i个星球消耗一吨燃料能降落的重量,问最少携带多少燃料能进行一个来回?解题思路:题目看起来繁琐,实际上按照正常思维推公式就...原创 2018-08-20 20:45:02 · 234 阅读 · 0 评论 -
codeforces div3 494 B. Binary String Constructing
题目大意:给你n个0和m个1,要求输出有k个不同的“01”字符串(比如010110有4个不同,1010101有6个不同)。解题思路:一个思维题。构造一个这样的字符串首先知道一个01或者10就有一个不同,n个就有2*n-1个不同,因为答案要求是k,所以n=k/2,理论上01或者10都可以,但是由于0和1数量不同所以数量多的先输出,比如0多就先输出01,最后根据k是奇数还是偶数还有n,...原创 2018-08-13 15:41:49 · 150 阅读 · 0 评论 -
codeforces 490 div3 D. Equalize the Remainders
题目大意:给你n个数和一个m,要求余数为0-m-1的数的数量正好是n/m,m保证是n的因子,每个数只能执行加的操作,最后输出操作的次数以及修改后的数组结果。解题思路:主题思想是贪心,就是让那些余数值超过n/m的数向离他最近且余数值没有满足条件的数“移动”。这里的“移动”有个巧妙的处理,就是利用STL集合中的set.lower_bound()函数,集合中保存那些未满足条件的余数值,l...原创 2018-08-15 16:57:17 · 207 阅读 · 0 评论 -
Page Numbers
«Bersoft» company is working on a new version of its most popular text editor — Bord 2010. Bord, like many other text editors, should be able to print out multipage documents. A user keys a sequence o...原创 2018-08-06 20:55:45 · 586 阅读 · 0 评论 -
Codeforces Round #479 (Div. 3)
Codeforces Round #479 (Div. 3)A - Wrong SubtractionLittle girl Tanya is learning how to decrease a number by one, but she does it wrong with a number consisting of two or more digits. Tanya subt...原创 2018-05-16 21:16:59 · 314 阅读 · 0 评论 -
CF-Three displays
这题上来就来了一手暴力。。然后T了。看了网上的代码,大佬的暴力就是不一样啊,枚举中间的数,然后分别从左右找符合条件的。一个巧妙的n2复杂度。Three displaysIt is the middle of 2018 and Maria Stepanovna, who lives outside Krasnokamensk (a town in Zabaikalsky region), w...原创 2018-06-04 22:02:42 · 247 阅读 · 0 评论 -
Conan and Agasa play a Card Game
Conan and Agasa play a Card GameEdogawa Conan got tired of solving cases, and invited his friend, Professor Agasa, over. They decided to play a game of cards. Conan has n cards, and the i-th card ha...原创 2018-05-28 21:31:10 · 439 阅读 · 0 评论 -
CF-High School: Become Human
High School: Become HumanYear 2118. Androids are in mass production for decades now, and they do all the work for humans. But androids have to go to school to be able to solve creative tasks. Just l...原创 2018-06-05 16:34:19 · 244 阅读 · 0 评论 -
Multiplication Table
Bizon the Champion isn’t just charming, he also is very smart.While some of us were learning the multiplication table, Bizon the Champion had fun in his own manner. Bizon the Champion painted an n ×...原创 2018-07-23 23:20:09 · 1814 阅读 · 1 评论 -
Money Transfers
There are n banks in the city where Vasya lives, they are located in a circle, such that any two banks are neighbouring if their indices differ by no more than 1. Also, bank 1 and bank n are neighbour...原创 2018-07-22 23:15:06 · 390 阅读 · 0 评论 -
codeforces 502 div1+div2 B.The Bits
题目大意:有两个长度为n的二进制数a,b,问a里存在多少对可以交换的两位数使得a或b(a||b)结果和初始结果不同?解题思路:首先想到a串只有0和1交换才有可能使a||b结果发生变化,进而想到对应的b位置上必须不全是1才可以,但这个题O(n2)的做法会超时,正确的O(n)做法是在遍历a的时候分别统计4种情况的数量,即(ai,bi)——(0,1),(0,0),(1,0),(1,1...原创 2018-08-09 13:26:22 · 222 阅读 · 0 评论 -
codeforces 502 div1+div2 C. The Phone Number
题目大意:给一个数列长度n,要求输出一个最长上升序列长度和最长下降数列长度和最小的数列。解题思路:这个我是靠观察答案蒙出来的。具体算法的证明我也不懂。。。。答案将数列分段,每一段都是连续上升数列,这样LIS的长度就是每一段的长度,LDS的长度就是它可以分为几段。分段的依据就是n的根号,例如小于9大于3的每段长度为2(LIS长度),大于9小于16的每段长度为3。另一个难点在于输出,之...原创 2018-08-09 14:29:22 · 211 阅读 · 0 评论 -
codeforces-round501-div3
A.Points in Segments 题目大意:给你n个小区间和最大边界m,这n个区间分布在1-m的大数轴区间上,请你输出这个数轴上不属于任何小区间的数的数目和本身。解题思路:将输入的区间遍历对区间内的数字进行唯一标记并统计数量sum,则未在任何小区间的数字数目就是m-sum,最后遍历大区间,未被标记的就是不在任何小区间的数了。 代码如下:#include<...原创 2018-08-06 00:04:28 · 231 阅读 · 0 评论 -
Two Substrings
You are given string s. Your task is to determine if the given string s contains two non-overlapping substrings “AB” and “BA” (the substrings can go in any order).InputThe only line of input conta...原创 2018-08-06 20:03:01 · 262 阅读 · 0 评论 -
Different is Good
A wise man told Kerem “Different is good” once, so Kerem wants all things in his life to be different.Kerem recently got a string s consisting of lowercase English letters. Since Kerem likes it when...原创 2018-08-06 20:11:37 · 356 阅读 · 0 评论 -
Comparing Two Long Integers
You are given two very long integers a, b (leading zeroes are allowed). You should check what number a or b is greater or determine that they are equal.The input size is very large so don’t use the ...原创 2018-08-06 20:42:00 · 330 阅读 · 0 评论 -
codeforces round 497 div2
题目大意:给你一个数组,找里面有多少个数可以改变位置使其大于原来位置上的数。解题思路:一个思维题,存在一种可能就说明存在一个数大于另一个数。那么首先排序,然后从大到小寻找可以满足条件的对数,找到一个就要标记一个。这个题对时间卡的比较严格。如果在一轮中没有找到过的话,就证明后面所有的数全部相等,就没有必要在找下去了,程序结束。代码如下:#include<iostre...原创 2018-09-04 22:14:49 · 145 阅读 · 0 评论