【Fifty Project - D24】

昨晚又忘了发了 emmm

今日完成记录

TimePlan完成情况
8:30 - 9:30空腹有氧
13:30 - 14:30练胸
14:30 - 15:30《挪》
16:00 - 17 :00Leetcode
20:30 - 22:00羽毛球

练胸

  • 平板卧推史密斯 55kg * 12 * 3 + 40kg * 12
  • 上斜卧推史密斯 40kg * 12 * 4
  • 蝴蝶机夹胸 20kg * 12 * 4

今天纯滑水,不过上午还练了一小时的空腹有氧爬坡,晚上还有羽毛球,罢了罢了

《挪》

终于还是读完了,终章讲了直子的死亡,“我”深受打击后的所行所想,玲子因为直子和“我”离开了疗养院,前往朋友音乐机构之前来找了“我”,详细描述了直子的死,以及死前的事情,平淡得像跟木月打的台球一般,这就是回光返照吧,文中写的是“那孩子一开始就已全部打定主意,所以才那么有精神,才面带笑容,才显得那么健康”。之后玲子和“我”为直子举办了一场不凄凉的葬礼,献唱了51首,最后以和“我”发生关系落下帷幕,难道所谓性和爱分离,就是可以将性作为一种纪念意义行为?就像为了纪念某些事情一起吃一顿饭一样稀松平常?抛去这一点,书里传递的另一个观点是,“死并非生的对立面,死潜伏在我们的生之中”,木月的死、直子的死对“我”的打击无疑是巨大的。在我看来,17岁、21岁经历友人、挚爱的死亡是难以想象的。因此“我”对于生命的见解应该也是极为深刻的,这也是经历过死亡的作者想传达的重要思想所在吧,38岁的作者在后记也写道“这部小说可以献给我已经离开人世的几位朋友和留在人世的几位朋友”。

“我”跟玲子发生关系是书里最炸裂的一段关系,个人所见。

也是终于结束了,这怎么能算是恋爱小说呢啊啊啊啊啊啊!这氛围太悲伤了点

Leetcode

每日一题

到达最后一个房间的最少时间:给定了一个地图,n*m数组,map[i][j]表示的是可以进入此房间的最小时间,每次移动需要耗时1s,只能移动到相邻的房间(上下左右移动)比如map[0][2] = 2,从map[0][1]房间移动到map[0][2]房间需要满足:此时时间至少为2s,且需要耗时1s,故最早到达map[0][2]应该是2(如果是从map[0][1]到map[0][2]的话)。现在从0,0出发,时间从0开始计时,要求计算出走到n-1,m-1的最小时间。
思路:单源最短路问题,宽搜可以解决,用优先队列存目前走过的节点,然后判断接下来能往哪里走(需要满足要么下一个点未曾走过,要么下个点走过但是目前方案时间更小),所以还需要用一个数组保存到所有点的最小时间。

差分思想

继续刷灵神的题单,今天是差分部分–一维差分(扫描线,这个词很重要!形象!)

  1. 检查是否区域内所有整数都被覆盖:会给出多个range,表示已覆盖的区域,是一个闭区间,然后给出left,right,要求检查left到right的所有数是否都被range覆盖。
    思路:这是个简单题,数据规模只有1-50,差分的解法一直想不到,最后用了排序范围,然后枚举范围更新left,检查最终的left是否大于right,因为有排序,时间复杂度nlogn。
    看了大佬的题解,标准的差分,首先建立一个长度为52的数组,然后遍历ranges, 每个range的左端点在差分数组上加一,右端点加一在差分数组上减一,如图
    在这里插入图片描述

上面的操作可以表示出每个range的范围,接下来就是表示出每个格子被多少个range覆盖,通过f[i] = f[i] + f[i - 1]实现,如下图
在这里插入图片描述
接下来,从left遍历到right,如果哪个格子是0,则说明没有全覆盖。
2. 零数组变换:给定一个初始数组,还有多个range,每次可以对range中的部分数进行减一操作,问最后能否得到一个全0数组。
思路:跟上面一个思路,构建一个差分数组,不考虑对部份数操作,直接对所有数进行减一,最后判断每个数是否小于等于0即可。
3. K连续位的最小翻转次数:给定一个01数组,以及数字k,可以进行一种操作,选中连续的k个数进行反转(0变1,1变0),返回将整个数组变为1的最小操作次数,如果不能将其变为全1,返回-1。
思路:直觉就是贪心,遇到0就变1,直到结束,如果遇到0且剩余长度不足k那么说明无解,但是这个处理k个数反转,直接暴力的话会T(k最大是1e5,数组长度也是最大1e5),因此需要O(1)或者O(logn)处理k个数反转,这里就用到了差分数组。维护一个差分数组,每次需要反转,就将当前位差分数组加1,以及当前位+k的那一位差分数组-1。每次读一个数,要先读差分数组,如果差分数组是奇数,那说明要反转,偶数说明不用反转。【这个贪心不会证明emm,只能说直觉了,看了三叶大佬的题解还是没太懂emm证明什么的最难了】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值