
CodeForces
PK__PK
这个作者很懒,什么都没留下…
展开
-
CodeForces - 499 C Crazy Town (几何+思维)
题目链接:点击打开链接题意:笛卡尔坐标系上有n条直线,已知a,b的坐标,问从a抵达b需要经过几块(块之间经过的前提是相邻的)。保证点不在交点,交线上。题解:对于每条直线来说,若起始位置和终点在不同侧的话,就意味着他们之间需要跨越一个方块。换一种说法就是,他们之间有几条线就有个几个方格需要跨越。实现起来很简单。#include<bits/stdc++.h>using namespace...原创 2018-05-25 08:56:01 · 377 阅读 · 0 评论 -
Codeforces Round #520 (Div. 2) A - A Prank (暴力)
题目链接:http://codeforces.com/contest/1062/problem/A题意:给你一个长度为n的递增序列ai,可以删去一些连续的数字,得到bi。并且你能通过bi,恢复ai。问删去的数字最长能是多少。字符串长度不超100,数字大小不超过1000.题解:从每个位置 i 开始扩展,看a[j] - a[i] == j - i 若相等就ans++。求一个最大ans即可。...原创 2018-11-19 13:42:53 · 301 阅读 · 0 评论 -
Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) C - Playing Piano(DP)
题目链接:http://codeforces.com/contest/1079/problem/C题意:给你一个长度为n的序列a,根据序列a,按照如下要求构造序列b:1:若a【i】 > a【i+1】 则,b【i】 > b【i+1】1:若a【i】 < a【i+1】 则,b【i】 < b【i+1】1:若a【i】 = a【i+1】 则,b【i】 != b【i...原创 2018-11-21 15:12:08 · 771 阅读 · 0 评论 -
Codeforces Round #521 (Div. 3) E - Thematic Contests (二分 + STL)
题目链接:http://codeforces.com/contest/1077/problem/E题意:首先给你一个长度为n的序列,表示一共有n个问题。其中某些问题属于同一种话题。现在要让你举办一天接一天的比赛,每天比赛要选择这些话题中的选择一个话题来进行解决问题。每天的比赛有如下要求:第一 :当天话题对应的问题的个数应该是前天的两倍。如:前一天我们讨论的是话题3,问题个数为2的话,当天我...原创 2018-11-21 11:30:41 · 288 阅读 · 0 评论 -
Codeforces Round #521 (Div. 3) D - Cutting Out (二分)
题目链接:http://codeforces.com/contest/1077/problem/D题意:给你一个长度为n的序列,选出从中选出一个长度 t 的子序列s,每次从序列中删去s序列中的数字。求能删最多次的序列t。n 范围 2e6题解:先解释一波样例。7 31 2 3 2 4 3 1原序列长度为7,要求序列长度为3为了使删的次数最多我们选择1 2 3 这...原创 2018-11-20 21:46:12 · 279 阅读 · 0 评论 -
Codeforces Round #521 (Div. 3) C - Good Array (前缀和)
题目链接:http://codeforces.com/contest/1077/problem/C题意:一个长度为n的序列。删掉某个数字,使得序列最大值等于其他数字的总和。问有多少种情况。题解:先解释一下样例。52 5 1 2 2如我们删掉某个2的话,就会有 5 = 2 + 1 + 2总有三种删法题解:n是2e5,a【i】是1e6.暴力枚举没戏。桶排记录每一位数字的位置...原创 2018-11-20 15:49:37 · 269 阅读 · 0 评论 -
Codeforces Round #521 (Div. 3) B - Disturbed People (贪心)
题目链接:http://codeforces.com/contest/1077/problem/B题意:给你一长度为n的01序列。0表示当前位置的房子灯是灭的,1表示当前房子的位置灯是亮的。判断某个位置的房子是否被打扰的条件为。a【i】 = 0,a【i+1】 = a【i - 1】 = 1. (2 <= i <= n)。求最少关掉几盏灯没有人被打扰。题解:每当我们遇到 1 0 ...原创 2018-11-20 15:31:17 · 204 阅读 · 0 评论 -
Codeforces Round #521 (Div. 3) A - Frog Jumping (思维)
题目链接:http://codeforces.com/contest/1077/problem/A题意:一只青蛙第一次会向右跳am,第二次会向左跳bm,第三次向右跳am,第四次会向右跳bm……,给你a和b,还有一个n。n表示跳n次。问n次之后青蛙的位置。题解:模拟这个过程会超时,嗯判断n是奇数还是偶数,偶数就(a-b)*(n/2),奇数就是 (a-b)*(n/2) + a.代码如下:...原创 2018-11-20 15:22:08 · 247 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) D - Edge Deletion (最短路)
题目链接:http://codeforces.com/contest/1076/problem/D题意:给你一张图G,n个点,m条边,然后再给出一个k,表示在原先的图中最多选k条边,组成新图G1。使得G1中所节点数最多,并且1到G1各点的最短路不变。题解:这道题两种解法:第一种先求出最短路的路径,用这个路径再建一个树,然后从1这个点bfs跑一边,输出前k条边即可。第二种用优先队列优...原创 2018-11-14 20:39:12 · 319 阅读 · 0 评论 -
Codeforces Round #523 (Div. 2) A - Coins (贪心)
题目链接:http://codeforces.com/contest/1061/problem/A题意:给定两个数字n,m,表示每次可以从1到n选一个数字,然后让m减去这个数字。求减到0所需要的最小次数。题解:贪心思路为:每次选个最大的数字,即n,然后m减去n。其实 就是 m % n == 0 就输出 。m/n,否则就输出 m/n + 1.代码如下:#include<bit...原创 2018-11-23 21:17:58 · 196 阅读 · 0 评论 -
Codeforces Round #523 (Div. 2) B - Views Matter (贪心)
题目链接:http://codeforces.com/contest/1061/problem/B题意:输入一个n,m,表示有n行可以放置木块的地方。然后输入 每个位置 i 的木块的高度,高度不会m,然后你可以移任意一块木块,并且这个是无重力的,即使你移走靠下的,上面的木块也不会掉下去。问:最多可以移走多少块,让这些木块的俯视图,和右视图没有变化。题解:思考一个问题。在无重力环境下,想要让...原创 2018-11-23 21:52:27 · 214 阅读 · 0 评论 -
Codeforces Round #524 (Div. 2) A - Petya and Origami (模拟)
题目链接:http://codeforces.com/contest/1080/problem/A题意:现在要邀请n给人来参加派对,所以你要制作n张请帖,每张请帖要用到2张红色贴纸,5张绿色贴纸,8张蓝色贴纸。超市中一包贴纸有k张,请问需要买多少包贴纸。题意:统计出来各个颜色的贴纸各需要多少张。然后分别除k 向上取整,求个总和即可。代码如下:#include<bits/st...原创 2018-12-06 15:54:01 · 374 阅读 · 0 评论 -
Codeforces Round #523 (Div. 2) D - TV Shows (贪心 +二分+ STL应用)
题目链接:http://codeforces.com/contest/1061/problem/D题意:有 n 个 节目,每个节目都有开始时间和结束时间,你可以租电视来播放这些节目,每个电视的租金为 x + (使用这个电视的结束时间 - 使用这个电视开始时间) * y。问你现在想播放所有节目,你最少需要花费多少租金。题解:我们不难想到,要按照节目的的开始时间为第一优先级,结束时间为第二优先...原创 2018-12-06 15:43:38 · 397 阅读 · 0 评论 -
Educational Codeforces Round 55 (Rated for Div. 2) B - Vova and Trophies (模拟+思维)
题目链接:https://codeforces.com/contest/1082/problem/B题意:给一个长度为n的字符串。字符串只包含两种字母。S 和 G.只有一次交换任意两个位置的字符,求最长的连续的G的长度。题解:求出每一段连续的G的起始位置,终止位置,和G的个数。如果对于两段之间 S 的个数为 1 的话那么就可以 把两段加起来。如果大于 1 那么长度就为前一段的G的个数 + ...原创 2018-12-08 19:39:25 · 577 阅读 · 0 评论 -
Educational Codeforces Round 55 (Rated for Div. 2) A - Vasya and Book (模拟)
题目链接:http://codeforces.com/contest/1082/problem/A题意:一本书有n页,现在让你从 x 页,翻到 y 页,每次只可以翻 t 页。求最少多少次可以翻到y页。题解:判断以下情况即可:1,若能直接从 x 翻到 y,那么这个就是最小次数。2,若不能,则先从 x 到 1 ,然后从 1 到 y。或者,先从x到 n ,然后从 n 到 1. 两种求最小...原创 2018-12-08 19:27:35 · 288 阅读 · 0 评论 -
Codeforces Round #524 (Div. 2) C - Masha and two friends (数学 + 思维 + 统计 + 云AC)
题目链接:http://codeforces.com/contest/1080/problem/C题意:在一个黑白相间的棋盘中,左下的位置为白色。有两次操作的机会,第一次选取一个矩形,把它全部涂白。第二次再次选取一个矩形,把它全部涂黑。问最后白色和黑色的数量有多少。题解:我们很容易的发现。如果选取矩形中方格的个数为偶数,那么其中黑色和白色方格数量是相同的,若为奇数,则还有两种情况:...原创 2018-12-07 21:07:59 · 327 阅读 · 0 评论 -
Codeforces Round #523 (Div. 2) C - Multiplicity (DP+预处理)
题目链接:http://codeforces.com/contest/1061/problem/C题意:给你一个长度为n的序列a,从序列a中下选任意数字组成序列b,定义 任意 b【i】% i == 0 的 b序列为good序列。求有多少条的good序列题解:很容易想到,先预处理出来每个a【i】能放的位置,即a【i】的约数。定义dp【i】表示长度为 i 的b序列有多少种。那么转移方程...原创 2018-11-28 17:07:21 · 247 阅读 · 0 评论 -
Codeforces Round #520 (Div. 2) C - Banh-mi (前缀和 + 快速幂 + 数学 + 贪心)
题目链接:http://codeforces.com/contest/1062/problem/C题意:你给一个长度为n的01串,表示该位置的初始值。每当我们选择某个位置的时,我们会获得当前位置的值然后删除该位置,并且其他没删除的位置会加上当前位置的值。然后给你q组询问,每组询问两个数,l,r,表示我们要查询的区间。 q查询次数1e5,n长度1e5。题解:先解释一波样例4 210...原创 2018-11-19 21:10:21 · 357 阅读 · 0 评论 -
Codeforces Round #520 (Div. 2) B - Math (贪心+数学)
题目链接:http://codeforces.com/contest/1062/problem/B题意:给你一个n,你有如下两种操作:1. n *= x (x为正整数)2. n = 根号下n (根号n 为 正整数)问这个n最小能变成多少,最少的操作次数为多少。题解:我们需要理解一下开方的操作。比如20 = 2*2*5。我们发现我们只需要乘个5就能让20变成100,从而进行开方,...原创 2018-11-19 17:24:48 · 231 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) C - Meme Problem (数论)
题目链接:http://codeforces.com/contest/1076/problem/C题解:给定一个d问是否存在一组a,b,使得a*b = d, a+b = d。解法:二元一次不等式组,求解即可代码如下:#include<bits/stdc++.h>using namespace std;int main(){ int z; scanf("%d"...原创 2018-11-14 15:32:10 · 300 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) B - Divisor Subtraction (思路)
题目链接:http://codeforces.com/contest/1076/problem/B题意:给你一个n,让你设计一个程序如下要求:1.若n = 0,结束程序2.求出n的最小质数约数。3.n减去最小质数约数。求这个程序运行的次数。题解:考虑一下,如果给出的n为偶数,那么他最小质数约数一定是2.那么结果就是n/2了。若是个奇数。那么我们暴力找就行了。先打个素数表...原创 2018-11-14 15:25:30 · 203 阅读 · 0 评论 -
CodeForces - 570 A Elections (模拟)
题目链接:点击打开链接题意:选举。输入n(表示候选人数)输入m(表示参与选举的城市)。接下来m行表示每个城市对n个候选人的投票情况。票数最高的候选人算当行城市所推荐的人(即票数+1)(如果最大票数出现相同情况 取下标最小的候选人)。输出最后获胜的候选人序号。题解:模拟,一下。QAQ#include<bits/stdc++.h>#include<iostream>usin...原创 2018-05-23 17:23:45 · 230 阅读 · 0 评论 -
CodeForces - 569 B Inventory (技巧暴力)
题目链接:点击打开链接题意:给出一个数字n,接下来是n个数,把其中的重复的数或者大于n的数进行替换,使得整个数列是由1~n来组成的,可能会有多种答案,输出其中任意一种。题解:每次输入是判断是否小于等于n,并且第一次出现。若是就把结果保存在res数组中。然后再遍历一遍res数组,去处理那那些未处理的。在标记数组中找到最小的没用过的数字。#include<bits/stdc++.h>#i...原创 2018-05-23 17:05:49 · 288 阅读 · 0 评论 -
CodeForces - 569 A Music
题目链接:点击打开链接题意:Little Lesha 想听一首歌, 这首歌长t秒,Little Lesha 先下载了s秒,边听边下载,每q秒可以下载q-1秒的歌,每当播放到未下载的时候,返回开始从头开始播放,问Little Lesha 下载一首歌需要从头开始多少次。思路:假定放到未下载点时候用时x秒,那么(q-1)/q就是每秒下载的速度,(q-1)/q*x+s=x。那么x=q*s#include&...原创 2018-05-23 16:12:54 · 216 阅读 · 0 评论 -
CodeForces - 568 A Primes or Palindromes? (打表+暴力)
题目链接:点击打开链接题意:π(n)表示不大于n的素数个数,rub(n)表示不大于n的回文数个数,求最大n,满足π(n) ≤ A·rub(n)。A=p/q;题解:根据数据克制暴力打表是可以的.#include<bits/stdc++.h>using namespace std;//给你两个数p,q;找出满足n的素数*p <= n的回文数*q的n的值const int ma...原创 2018-05-23 15:04:17 · 380 阅读 · 0 评论 -
CodeForces - 320 A Magic Numbers(水)
题目链接:点击打开链接题意:判断一段数字是否由1 14 114 组成,若是输出YES不是输出NO题解:模拟一下就行了#include<cstdio>#include<cstring>#include<cmath>#include<iostream>using namespace std;char a[100];int main(){ s...原创 2018-05-22 11:56:49 · 191 阅读 · 0 评论 -
CodeForces - 578 A Problem about Polyline (几何+数学)
题目链接:点击打开链接题意:一段折线,端点分别为 (0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – .... 然后给你一个点(a,b),这个点在这段折现上,求x的最小值。题解:第一眼看上去,秒出一个二分的思路,然后发现不知道二分什么东西=-=。后来去网上查了题解,发现自己还是too you...原创 2018-05-22 11:14:20 · 482 阅读 · 0 评论 -
CodeForces - 578B "Or" Game (暴力)
题目链接:点击打开链接题意:给你n个数,你一共能对这个n个数操作k次,操作为对某个数乘x。求两两或运算的最大值。题解:对于这个问题,最开始并没有任何思路,就想着瞎暴力试试,然后我就遇到了,如何分配那个数乘x的问题。后来我发现,对多个数字乘x是没有意义的。因为若ai 比 其他 aj 的二进制都多一位,那么无论aj怎么|或运算,都不会影响到xi的最高位。所以让某个值最大化,才是我们应该做的。也就是针对...原创 2018-05-22 09:10:57 · 270 阅读 · 0 评论 -
CodeForces - 527 A Playing with Paper (模拟)
题目链接:点击打开链接题意:给一个长方形(也许是正方形)的长和宽,问能分出多少个正方形。题解:模拟一下就能过,但是用减法会时间超限,需要用除法。#include<cstdio>#include<algorithm>using namespace std;int main(){ long long a,b; scanf("%lld%lld",&a,&...原创 2018-05-25 11:27:06 · 221 阅读 · 0 评论 -
CodeForces - 570 B Simple Game (思维)
题目链接:点击打开链接题意:比数游戏。输入n表示从1到n随机数。输入m表示Misha选择的数。谁选择的数离随机数近(即绝对值小),则谁获胜。(如果距离相同,则算Misha获胜)输出Andrew选择的数,使胜算最大。题解:我们可以把这个,看成一个几何概形,比如很明显 若数字出现在s1区域内,m获胜的概率大,若随机数出现在s2,很明显m+1赢的机会大再比如很明显 若数字出现在s1区域内,m-1获胜的概...原创 2018-05-23 18:00:21 · 219 阅读 · 0 评论 -
CodeForces - 570 C Replacement (预处理+暴力)
题目链接:点击打开链接题意:一个字符串s只包含小写字母和’.’,现在有一种化简方法就是把两个连续的’.’化为一个’.’。但是现在有一种操作,即把位置a上的字符替换成b,这种操作有m组。问m组操作每一组操作之后,至少需要多少步化简才能化简到不能化简?(操作前后牵连,即第二组操作是在第一组操作之后的基础上)。题解:暴力超时,所以预处理一下最开始的字符串,看是否和下一个相等,相等就意味着可以消掉,所以标...原创 2018-05-23 21:50:15 · 265 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) A - Minimizing the String (思维)
题目链接:http://codeforces.com/contest/1076/problem/A题意:给你一个长度为n的字符串。字符串只包含小写字母。你可以最多删除1一个字符串。让剩余的字符串的字典顺序变得最小。这里的字典顺序是指英文字典中单词的顺序。比如ab < b。题解:写的时候这个字典顺序让我纠结了一段时间。解法比较简单。我们只想找到第一个下降的字母,然后删除这个字母...原创 2018-11-14 15:16:22 · 229 阅读 · 0 评论 -
Codeforces Round #514 (Div. 2) B. Forgery (暴力?)
题目链接:http://codeforces.com/contest/1059/problem/B题意:给你一个图形,再给你一个n*m的图形,问是否能印出来这个图形。这个是初始图形,问给你的图形是否能有这个印出来。解释一下这组样例 题解:暴力匹配上下左右,左上,左下,右上,右下八个点,然后打上标记,并做统计。最开始统计一下‘#’的个数 ,然后最后最后比较一下即可。...原创 2018-10-08 17:26:39 · 226 阅读 · 0 评论 -
Codeforces Round #514 (Div. 2) A. Cashier (模拟)
题目链接:http://codeforces.com/contest/1059/problem/A题意:一个收银员每天上L个小时的班,为了缓解压力当他闲的时候,他每过a分钟需要想要抽一次烟,但是在顾客来的时候不能抽烟,他知道顾客啥时候来,并且来几分钟,问他能抽多少次烟。题解:一开始没什么思路,打算用桶排序之类的瞎搞,但是后来发现思路错了(题意也理解错了)。正确的思路是,把每两个客人中间...原创 2018-10-08 09:11:19 · 222 阅读 · 0 评论 -
CodeForces - 499 B Lecture (模拟)
题目链接:点击打开链接题意:大致题意:就是给你m行,然后每一行有两个不超过十个字符仅由小写字母组成的单词,之后再在m行后输入n个单词,占用一行,然后输出最后一行的每个单词各自所在的那一行较短的单词,中间空格隔开,保证每个单词都不相同。题解:模拟+string+map就能过去了看代码:#include<bits/stdc++.h>using namespace std;//大致题意...原创 2018-05-24 17:02:08 · 280 阅读 · 0 评论 -
CodeForces - 499 A Watching a movie (模拟)
题目链接:点击打开链接题意:题目大意:你现在准备看电影,播放器上有一个按钮,点击按钮可以跳过x分钟,你想尽可能的看自己喜欢的片段。求看完自己喜欢的片段所需的最少时间。输入:n(喜欢片段数目) x(一次可以跳过的·时间) 下面n行是每个片段的起止时间。输出:所需的最少时间。题解:模拟一下。需要注意的是若快进到你喜欢的片段中间,就不能快进。时间点卡的比较麻烦,多调试调试即可。#inclu...原创 2018-05-24 16:20:29 · 320 阅读 · 0 评论 -
CodeForces - 479 C Exams (贪心)
题目链接:点击打开链接题意:给出n个考试,对于每一个考试有一个规定的考试时间ai,有一个可以提前进行考试的时间bi,(bi < ai),但是对于每一个考试,老师都只会在本子上记录下时间ai,想让本子上的时间是一个不降的序列。求最早多久能完成考试。题解:要求ai单调递增,那么我们就让考试按照ai单调递增的顺序排序,若ai相等按照bi递增的顺序。并且因为bi < ai 所以假设能提前就让我...原创 2018-05-24 16:03:38 · 397 阅读 · 0 评论 -
CodeForces - 479 B Towers (模拟)
题目链接:点击打开链接题意:给定N和K,表示有N堆盘子,K次操作,每次可以将一堆中的顶部的盘子移动到另外一堆上。现在要使得这N堆盘子中个数最多的减掉个数最少的值要尽量少,输出最小值和移动的步数,以及移动策略。题解:模拟一下就可以过了,但是复杂的情况很多=-=。需要注意。#include<bits/stdc++.h>using namespace std;//题目大意://给定N...原创 2018-05-24 09:42:38 · 231 阅读 · 0 评论 -
CodeForces - 479 A Expression(水)
题目链接:点击打开链接题意:给出三个数a,b,c,求a+b*c=x1,a*(b+c)=x2,a*b*c=x3,(a+b)*c=x4,a+b+c = x5中的最大值题解:水题=-=代码如下:#include<bits/stdc++.h>using namespace std;int main(){ int a,b,c; cin >> a >> b >...原创 2018-05-24 09:14:06 · 298 阅读 · 0 评论 -
Codeforces Round #524 (Div. 2) B - Margarite and the best present (前缀和 + 模拟)
题目链接:http://codeforces.com/contest/1080/problem/B题意:定义 (-1)+ 2 + (-3) + 4 +(-5) + 6 + (-7) + …… = sum,给出起始位置 l ,和终止位置 r 求 sum题解:求个 1加到 r 和 1 加到 l 然后 相减,就是答案。代码如下:#include<bits/stdc++.h>...原创 2018-12-06 16:00:18 · 301 阅读 · 0 评论