wtpavssite

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2026春季下学期第二周

周一

上午来改昨天晚上牛客周赛的第四题,因为我的代码一直超时,学长告诉我用ST表+二分。所以我去学了ST表,ST表的思想利用倍增的思想对数组预处理O(nlogn),然后对于每个起点开始的长度为2^j的数组元素的所有求出最大和最小,然后对每个区间的最大值和最小值可以直接O(1)查询。但是今天时间确实没多少还要写自己的作业,又答应了今天晚上玩Slay The Spire 2,所以我打算今天八点半走,明天下午和晚上继续改之前的错题。

周二

下午天梯赛做了十个题但是只对了七个错了两个有个的输入一直出问题,就是那个getline。只得了123的分数,有道题差一分满分,有点搞。我发现自己有个问题,就是我特别容易把问题想得很复杂,就比如说今天的第五题那个出生年月的,其实是个很简单的读入可是我就是没想到怎么来写,然后写了个很复杂的代码,有好多功能都很冗余,也就是屎山代码,可能是今天下午状态不太好的原因,还好最后抽时间把后面两个简单的分高的题写了,不然连100分都没有。然后比赛完改第七题,比赛的时候因为有一分没拿到,又想到就一分所以就没有比赛的时候继续在这道题上面花时间,只有我改完这道题我才发现,我错的原因居然这么简单,我在cmp自定义排序的时候用的pair里面是int和string,而string的比较是按照字典序来比较的,我不知道为什么我总是很喜欢用字符串。。。第八题我错的原因是一开始忘了getline的用法,这个问题我一开始也是有的后来记住了,好久没用又忘了image
我输入不进去就是没有ignore()。缓冲区的知识还是不熟。除开输入的问题还有就是二维数组的其他顺序的填入和输出我容易混淆,特别是做题久了之后,就容易写错,所以下次弄张草稿纸就可以了。最后就是输出的时候我们可以用这个语句来控制cout << cnt << " " << setw(4) << setfill('0') << birth << endl;
,其中setw是设置他的最短宽度,setfill是用什么来填充,这道题就使用0。晚上的时候来改前天打的牛客的D题,最开始是打算写ST表在我看了题解视频之后我先写了双指针滑动窗口的解法,我觉得这个解法我不太懂的东西就是计数的时候那样计数居然不会漏和重,背后的原理是对于一个区间,他的右端点是唯一的,只要找到某个右端点的对应的最小的左端点,我们可以发现这个最长的区间里面的所有的小区间都是合法的,因为这个最长的区间里面的小区间的数量不止i-j+1(不全以这个右端点为右端点),虽然说直接加i-j+1的时候没有加上这个区间里面不以这个右端点为右端点的区间,但是这个较小的右端点却是在我们现在的右端点已经到了这个位置之前已经算过了,他里面的区间也是先前已经加进去了的。然后想要继续写用ST表写的解法,可是在被告知不能用ST表写这道题。

周三

晚上来补题,先补了牛客周赛的E,看了视频讲解之后发现这道题其实是一个完全的脑电波题。(编写完之后我发现太长了,所以把我最开始的思路和正确的思路写到错题集里面了),然后写牛客的F题,我有点困,而且这道题比赛的时候没写过,所以我就直接看讲解的视频了,照着视频里的代码写了一遍发现段错误了,问AI也没问出来,AI给了我一段代码交上去AC了,我就照着AI给的改我最开始写的代码,一直找不出来是哪里的问题,我真的吐了。又比较困,所以不打算在群里问了,现在打算回宿舍休息一会,玩会游戏什么的,或者健身。

周四

上午补题还是牛客的F我一直找不到我哪里错了,然后问了发现我的g的dp数组的遍历写反了,改了之后就AC了。剩下的就差理解这道题了。补完牛客周赛去补前面的PTA上的天梯赛的题,13题是个物理题,然后想去看看石队的题解的,结果发现他的代码简洁,思路还很犀利,我去真的学习了啊,我决定以后也要写题解,再学习一下Markdown语句。其实我现在发现我好像用在写博客的时间有点多了,下午的时候又补了13题,一个纯粹的物理和数学题,学习到了一个无穷等比数列的求和,使用错位相消的方法可以求出来。晚上的时候来补题发现快速幂我又忘记了,所以再次复习一下,在复习快速幂的时候发现自己又忘了位运算的规律。所以今天两个都需要记下来,记下来两个知识点快九点半要回去了,最后改下代码。

周五

下午来补题,我发现看别人写的代码其实能学到很多东西,不仅能看到他们的解题思路还能看到别人会的语法,所以我打算在周报里面记录下每天学习到东西

周六

下午来打比赛结果出了意外只做了四道题

周天

修好了电脑拿到已经是吃完晚饭了,来打牛客周赛,做出来一个,错了两个。赛后改了其中的C题。

posted on 2026-03-09 20:15  wt_pav  阅读(16)  评论(0)    收藏  举报