在这片梦想之地,不堪回首的过去像泡沫一样散去,|

PassName

园龄:3年粉丝:32关注:16

2022.7.14 单南松 讲课纪要

前言

7.14 初中班搞了一场模拟赛,天天被高中学长们虐都快被虐炸了,就去初中班参加考试去了。

考前 ghc 学长跟我说“T3 2048”。2048是啥?不知道,就去查了一下,是个游戏,然后学了学怎么玩(话说这种游戏还有人玩)。

下午就去玩去了,上来秒切T1,然后T2写了个dp,T3真考了2048,巨模拟!肝完之后做T4,瞪了20分钟不会做。后来就开始想他们初中班都讲啥了,毕竟就讲了那么几个算法,筛一筛......

然后就用二分给切了。

最后出分的时候T2只有40分了,虽然Rk.1,但感觉没什么价值。。。。毕竟没有AK

赛后就让我上去讲T4【话说我tm讲个这讲了20分钟】

题目大意

豪华礼包:一个 U 盘、一个鼠标和一个机械键盘。

幸运礼包:一个 U 盘、两个鼠标。

普通礼包:两个 U 盘、一个鼠标。

卖店内准备了 aU 盘、b 个鼠标和 c 个机械键盘。相邻两位领礼包的顾客拿到的礼包类型不同,求最多可以发出多少份礼包。

组数 T<=105;a,b,c<=106

正文(讲课原话)

首先我先来说一下这个题所涉及到的算法,二分,相信大家都学过。对于咱们现在这个阶段来说,二分就要找到 l,r,mid ,那么这个题就做的差不多了。mid 很好说对吧,大部分都是 mid=l+r>>1 或者 mid=(l+r)/2。所以只要知道 l,r 就行。这个题很显然 l=0。所以就要找 r,没猜错的话那些写了这个题然后挂了的八成就是找不到 r 了,那么这个 r 在哪里呢?r=a+b+c,然后主程序就解决的差不多了,剩下的就还是那些二分经典套路。

其次,check 函数怎么写,很重要,这里我们可以进行单方面的对 false 进行考虑,没有满足 false 的条件,就返回 true 。之后首先就是 a<mid,b<mid 要返回 false 。以及手动存储三个数,分别表示 mid/2a-mid,b-mid,c 的较小值。最后根据题意进行三者比大小即可。这个题就做完了。

“我有个问题,为什么要比大小”

“我觉得你再看一遍题就会了”

几分钟后.........

“懂了吗?”

“没有。”

“你们看懂这道题在让干什么了吗”

“没有。。。。”

“.......”

本文作者:PassName

本文链接:https://www.cnblogs.com/spaceswalker/p/16484727.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   PassName  阅读(74)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起