自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Codeforces Round 965 (Div. 2)解题(C)

自己写的时候思路没有捋清楚,没有分两次考虑,一次只更新其中一种,然后比较两种情况的最大值,而是一次循环把两种情况都考虑了,用k又是看看能不能更新最大值,又是看看能不能更新mid值,然后进行比较,虽然可能也可以直接一次性搞定,但很显然,对我而言难度太大了,一直WA,最后时间结束了也没有调出来,而且我还没有用pair,而是用abc三个数组,c是a排完序后的数组,这样导致光是判断当前的a[i]的b是否为1就非常困难了,进一步加大了思维难度。,我们只需要比较两种情况中的最大值就行了。

2024-08-11 19:54:40 587

原创 Codeforces Round 963 (Div. 2)解题报告(A-D)

显然,只有当最后(晚)一个灯亮了才可能所有都亮灯,然后因为每个灯都隔k分钟亮灭亮灭,那么他们的变化周期最多为k,那么我们只要模拟一下最后一个灯亮的第一个周期就能判断是否所有灯都亮灯了,如果亮灯,那么最先满足条件的时间就是答案。二分加dp,先二分答案,然后将二分的mid作为中位数med,先构建一个b数组来记录a数组中每个数对于med的大小比较情况,接着构建一个dp数组,找出最后删完元素后最多大于等于med的数量,具体怎么dp见代码注释。模拟,遍历记录每个元素的奇偶性,全奇或全偶输出0;

2024-08-05 19:43:37 1248 2

原创 Pinely Round 4 (Div. 1 + Div. 2)解题报告(C, D)

那么我们就可以得知就算所有数字都联通,我们依旧只需要用4种颜色即可,然后样例又将出现4种颜色的最低条件为6种给出来了,那么我们在大于6的情况下只需要循环输出1,2,3,4即可。自己打的时候看出来是一半了,但是是数组值之和sum的一半,然后自己构造的几个还都能过了,结果就wa了,最后就过俩题还是没上1000,菜,以后自己还是得多构造几个啊。一眼丁真,取一半,只要每次取数组中的最大值的一半进行操作, 然后进行40次操作,看看是否达成条件即可。

2024-07-31 16:39:46 293

原创 Codeforces Round 951 (Div. 2)补题(C, D)

这题自己想的时候一团乱麻,一想到pos的位置条件判断就头大,最后还是看大佬的博客才发现pos还可以跟末尾数字联系起来,自己写的时候还因为用cin读取数字把一整个数字都读到a[0]去了(真的难绷),看了大佬的代码才知道可以用%题目输出描述中用说明如果有多个输出我们输出一个即可(没截出来,点链接看原题可以发现),既然他都这么说了那我们自己暴力找乘积非常大的一种情况,即原序列每个元素相乘,然后b序列的每个值。的sum值的大小,最后就发现爆longlong了(悲),既然爆。都相当于所得乘积除以对应的。

2024-07-31 15:54:47 548

原创 Codeforces Round 950 (Div. 3)补题(D)

自己做的时候第一种情况想到了,但是第2个情况没想清楚,想着直接用cnt来记录导致递减的元素的个数,然后发现要考虑的因素太多了,什么首尾位置的特殊考虑,用该位置 “比后一个大来” 考虑好还是 “比前一个位置小” 来考虑好,如果删除元素是生成的gcd太小导致不满足,还是生成的gcd太大导致后面满足条件的gcd都比他小导致的不满足…结果自己分类讨论把自己cpu干烧了,最后发现只用考虑第一个,然后判断删去后是否存在第二个就行了。有时候如果发现分类讨论太复杂了就该考虑一下是不是自己思考方向错了。

2024-07-31 14:16:57 401

原创 Codeforces Round 953 (Div. 2)解题报告(D)

【代码】Codeforces Round 953 (Div. 2)解题报告(D)

2024-07-28 14:55:07 294

原创 Codeforces Round 954 (Div. 3)补题(D)

PS:思路非常简单,但是代码反而不知道从何下手,去搜解题报告的时候发现我看的那个博主跟我一样,有点难绷,以下是我自己根据思路自己重新添加注释写了一遍的,看了别人代码写还debug了几分钟,我也是抽象的。显然加法增长比乘法慢,优先使用加法,但是当值为0和1时,乘过后的值更小,需特殊考虑。计算符号为n-2个,当n=2,n=3时也需要特殊考虑,且一定有一个两位数,然后模拟就行了。

2024-07-28 11:47:43 221

原创 Codeforces Round 955 (Div. 2, with prizes from NEAR!)解题报告(A-C)

题目:解题思路:只需要看最后分数是否追平或反超即可。

2024-07-23 18:12:24 1480

原创 Educational Codeforces Round 167 (Rated for Div. 2)解题报告(A-C)

题目:解题思路:显然只需要y >= -1 即可收集到硬币。

2024-07-22 16:34:00 211

原创 Codeforces Round 960 (Div. 2)解题报告(B.C)

链接题目:解题思路:根据题目我们显然可以知道x>y,若要使x前缀和最大则x之后的值到x的前缀和必定小于0,故可以-1,1,-1,1交替出现,y同理,让y之前的数-1,1交替出现,然后只需x,y在[y,x]区间内分别为前,后缀和最大就行了,只需要在剩下位置都为1就可以满足了。

2024-07-22 12:39:17 382

原创 Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2)解题报告(A-C)

链接:题目大意:将所给矩阵进行变换为一个与原矩阵不同的矩阵解题思路:每行矩阵的值都右移一位,如果每行都只有一个值,则每列下移一位。

2024-07-22 12:12:21 1215

原创 Codeforces Round 958 (Div. 2)解题报告(A-C)

解题思路:每次拆分成k-1个1和1个值s-k-1(s为上一个非1zhi),可以得到最多需要 (n-1+k+2)/(k-1) 次(需考虑s-k-1为1的情况)题目大意:问通过几次操作可将集合的一个n值分为n个值为1的集合,没次操作可分为k份(PS:我理解成每次分成的小份值最大为k了,看了题解才做出来)题目大意:给一个数字n,问你能否找出一个长度为k的序列满足a[i] | a[i+1] = n (|为逻辑算法中的或)解题思路:找到n的二进制中的1,按顺序依次将其中的1变为0。找到个别人的直观解析。

2024-07-16 11:04:19 212

原创 Codeforces Round 957 (Div. 3)解题报告(A-D)

cf解题报告

2024-07-15 14:57:52 349 1

空空如也

空空如也

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

TA关注的人

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