codeforces(1200-1600)
文章平均质量分 73
主要分享一些本人在cf上写过难度为1200-1600的题。
且听微风QAQ
这个作者很懒,什么都没留下…
展开
-
1850F.We Were Both Children(Difficulty: 1300)
先把青蛙的跳跃长度挨个输进frog数组,再在判断每一个跳跃长度有无超过n(超过就放弃,因为陷阱最远就到n),接着把小于n的跳跃步数作为下标,ma[frog[i]]++,记录每一种跳法的青蛙有几只(不用map因为这个跳跃步数不会超过数组的存储范围,数组就可以存,用map时间上会慢一点)。(我们可以理解为,a*b=i,也就是两个数的乘积为当前位置,因为我们只到j*j=i就结束了,所以有的乘积会大于j,例如:3*9=27,j到5就结束了)对于每个测试用例,输出一个整数——使用一个陷阱可以捕捉到的青蛙的最大数量。原创 2023-08-15 16:02:35 · 134 阅读 · 2 评论 -
1850G.The Morning Star (Difficulty:1500)
设立一个坐标系,8个方向可以理解为4条线(北方向和南方向是一条直线),一条直线的方程式是:y=nx+m,由于我们已经知道4条直线的n(角度是固定的),x,y,现在只需要知道m即可确定点在线上的位置,所以我们计算出m,然后用map标记m为下标的线,点的个数(ma[m]++),然后遍历map,计算出数量。指南针直接指向晨星。它只能指向八个方向中的一个:四个基本方向(N,S,E,W)或其中一些组合(NW,NE,SW,SE)。东北,西南方向:y=x-m ----> m=x-y。东,西方向:m=y(垂直于y轴)原创 2023-08-11 18:49:54 · 196 阅读 · 1 评论 -
1853B.Fibonaccharsis(Difficulty:1200)
然后深搜前面的每一位元素,定义当前元素左端点为0,右端点为后面一个元素的值,然后二分查找能否当前值加上后面一个元素的值等于后面第二个元素的值,一旦找不到,返回0(无法构成斐波拉契序列),一直深搜到第0位元素的时候,直接返回1(找到斐波拉契序列)。例如,序列[4,5,9,14]和[0,1,1]被认为是斐波那契类似序列,而[0,0,0,1,1],[1,2,1,3]和[-1,-1,-2]不是:前两个序列不总满足fi=fi−1+fi−2,最后一个序列不满足元素非负。即输出长度为k且满足fk=n的序列f的数量。原创 2023-08-09 10:39:30 · 170 阅读 · 2 评论