骑士书屋 通过搜索各大小说站为您自动抓取各类小说的最快更新供您阅读!

“七八点钟?没问题,我们都不见得能玩到那么晚呢。”熊磊率先表示赞同。

朱达昌也点了点头:“玩得太晚了,两位老师也会不放心。”

江寒笑问:“看你们下午都这么有时间,意思是今天不往回走了呗?”

朱达昌回答:“高老师预定了火车卧铺,夜里10点的始发车。”

李山河也说:“要等8、9个小时的车,这么长时间,不玩点什么也太无聊了。”

熊磊的情况有所不同,他解释说:“我爸爸的车实在不能凑合了,准备买台全新的高尔夫6,明天就去4s店提车,所以只能晚一天回去。”

江寒了然一笑,熊爸爸那辆二手车,动不动就趴窝,的确早该换换了。

想了想,对李山河、朱达昌说:“我不一定能送你们上车,今晚我可能就得往回走了。”

“这么急吗?好不容易来一趟松江,不好好玩一玩?”李山河问。

江寒坦然点头,说:“我是坐方便车来的,别人什么时候往回走,我就什么时候跟回去,总不能让别人将就我吧?”

其实要什么时候回去,还不是他一句话的事情?

但夏雨菲明天有课……

“诶?如果唱k的话,能不能让夏雨菲同学也来呀?”朱达昌突发奇想。

“就是的,江寒,你和夏雨菲好像挺熟悉的,帮忙邀请一下呗。”李山河也力促。

江寒一阵无语。

别说,还真可以考虑一下。

小媳妇这次出来,光跟着自己跑前跑后了,也没玩好……

也不知道她有没有意愿出来散散心?

江寒想了想,没把话说死:“好吧,比完赛我打电话问一声,能不能约出来,我可不敢保证哦。”

听了江寒的话,其他人都十分期待,毕竟夏雨菲不光长得好看,在学校里也是有名的唱歌好听。

但其实,江寒已经决定,顺便也叫苗清澜和关浩一声,愿意来的话,就一起热闹热闹。

而且,出门在外的,指导教师们也不可能彻底放手,肯定都会跟着。

这样的话,就不太好去一些环境太复杂的场所了……

时间将到8点,赛场封锁就被解除,选手们再次鱼贯入场。

其他流程和昨天大同小异。

8点30分,Day2比赛正式开始。

江寒拿到题之后,习惯性地全部浏览了一遍,然后从头开始做。

今天的三道题,难度比Day1高多了。

但说实话,并没有超过他的预计,都属于那种稍微花点心思就能解决的类型。

第一题是同余方程。

【问题描述】:求关于x的同余方程ax≡1(modb)的最小正整数解。

输入数据是两个正整数a和b,要求输出方程的最小正整数解x0。

比如:输入3和10,输出就是7。

数据范围:

对于40%的数据,2≤b≤1000;

对于60%的数据,2≤b≤;

对于100%的数据,2≤a≤,2≤b≤;

输入的数据保证一定有解。

江寒一打眼就看出来了,这是一道数论题。

只要明白同余方程是怎么回事,就很容易理清思路。

原式可理解为axmodb=1,即ax的乘积除以b,余数为1。

所以,对于任意给定的a、b,可以用穷举法暴力搜索,从x0=1开始,每次递增1,很容易就能找出一个最小的x,使得方程成立。

但因为a、b的取值范围特别巨大,这样做,会导致至少4个点TLE(TimeLimitExceeded,即时间超限)。

要想得到全部分数,必须想办法缩减运算时间。

如果能找到这个算式中隐藏的规律,问题自然迎刃而解。

当然,这需要拥有一点数论功底,才能办得到。

江寒先观察了一下方程。

原式等价于ax-kb=1,因为k值可以为负数,所以又可以看做ax+by=1。

显而易见,a与b一定互质,所以原式可转化为ax+by=gcd(a,b),这里gcd表示两个整数的最大公约数……

咦?

这不就是扩展欧几里得的标准形式吗?

这样就简单了啊!

欧几里得算法也叫辗转相除法,用于求最大公约数,属于小学奥数常见内容。

有个基本性质:gcd(a,b)=gcd(b,a%b)。

而扩展欧几里德算法,则用来已知a,b,求解方程ax+by=gcd(a,b)的解。

根据数论中的相关定理,解是一定存在的。

所以,这道题只要用上扩展欧几里德算法,就能很轻松找到一组x0、y0,使得等式成立。

接下来,江寒根据算法,只花了五分钟,就编写出了对应的代码。

其中的递归函数exgcd(),就是扩展欧几里德算法的一种实现。

用上了这种方法之后,编程难度大大降低,一共只用了10来行代码,就完成了解答。

然后一调试……

江寒就无语地发现,求解出来的x0,居然有时候会出现负值。

这就不符合题意了。

那么……为什么会产生这种情况呢?

江寒想了想,拿过一张草稿纸,简单地推理了一下。

在数学上,ax=1(modb)等价于ax%b=1,又等价于ax+by=1。

当用扩展欧几里德算法,求出它的一组解x0和y0时,可得ax0+by0=1。

那么只要在方程左边加上一个kab,再减去一个kab,合并同类项可得:

a(x0+kb)+b(y0-ka)=1。

x=x0+kb,y=y0-ka就是方程的通解,k可以为负数、0、或正数。

这里我们只关心x的取值,于是接下来,只要求出等于x0+kb的最小正整数,就可以了。

为什么给x0加上一个kb,而不是某个比b小的数与k的乘积?

很简单,如果那么做,就找不到能使等式成立的y了……

因为x0有可能为负数,所以要分两种情况讨论。

当x0大于0时,显而易见,x0%b也大于0,所以最小的正整数x就是x0%b本身。

而当x0≤0时,x0%b也必然≤0,因为|x0%b|必定小于b,所以只需要在x0%b的结果上,再加上一个b,就可以得到最小的正整数解了。

推演到这里,结论就很明确了。

江寒马上将代码稍加修改,再次一调试,这次就顺利通过了。

啧,出题的人挺阴险的嘛。

如果生搬硬套扩展欧氏算法,没准一不小心就会掉进坑里去……

虽然这么一个小坑,应该也困不住太多人就是了。

第一题搞定之后,江寒就开始思考下一道题。

第二题:借教室。

【问题描述】:……

(太长,省略。)

这道题和Day1的第三题差不多,都是那种表述啰嗦得要死,但只要看明白题意,就会觉得异常简单的题型。

江寒直觉可以用线段树来弄。

事实上,应该也是行得通的。

但一般说来,线段树中的pushdown常数都特别巨大,很容易溢出。

所以,如果没什么特别的优化手段,最多通过70%的数据校验点,也就差不多达到极限了。

要想过掉100%的校验点,达到AllClear的境界,就必须使用二分答案法,再加上前缀和差分……

正打算换个思路来破题,江寒忽然想起了什么,拿起草稿纸一阵推演。

五分钟后,他长出了一口气,然后开始画流程、写伪代码。

他没有改变算法,仍然使用了线段树,只不过在标准的算法中,稍微做了一点小改进。

办法很简单,就是将线段树的标记固定化了,在区间完全重合的时候,只是打上修改标记,而不去pushdown标记。

在查询的时候,顺便将每个位置标记上,要算的值都放在下一层递归里,这样就大大优化了线段树的pushdown常数。

标记的删除非常方便,要把一个区间改回去,只需要把最外层的几个小区间标记置0就行。

这么一改进,就能大大减少运算量,从而有很大的机会通过全部数据了。

江寒写完增强线段树算法,又编写了一段测试代码,用各种极限值去测试。

结果非常喜人,在100%的数据输入区间,都能轻松在1秒内得到答案。

第二题就此搞定。

时间到此才过去1个小时20分钟,还剩下两个多小时。

那么,接下来就一鼓作气,搞定最后一题。

骑士书屋推荐阅读:四合院:我傻柱,开局迎娶冉秋叶收手吧神豪!别再让主播空降了家人们谁懂,这海军怎么是个混混异境逆袭:我命由我,不由天顶流开局,制霸娱乐圈富豪从西班牙开始退圈考回冰城,引来一堆小土豆清冷校花?不熟,但她喊我少爷!娱乐:说好假结婚杨老板你认真了重生之纯真年代阡陌中的荒灵带着搬家石游三界祸水之妻高武:我喝血就能变强我可是反派,主角妈妈注意点带着空间穿八零,领着家人奔小康开店第一天,美妇堵上门反派:不当舔狗后女主怪我变心?让你代管殡仪馆,你竟让地府降临国运:从蟒蛇进化成血脉金龙宗门仅剩的独苗谍战:我黄埔高材生,去底层潜伏走爸临的路,让霸凌者无路可走拒绝舔狗,带校花老婆修仙人在警局破大案,各色美女迷恋我提前登录!重生的我怎么输?双穿:我是地球OL内测玩家我当军户媳妇的那些年铁锹配大锅,一锅炒菜七万多都市小保安的蜕变四合院之达则兼济天下灵气复苏,我十年成帝,杀光异族无尽末日内的干涉者灵气复苏:我能召唤铠甲绝代天师:人前显圣被刘天仙曝光我在神学的世界写三体太空大陆娱乐:京圈少爷的我成顶流了?变身少女拯救世界?我只想摆烂!我领悟万千剑道,一剑屠神!神豪从关注女主播开始特级保安禁咒?快加油,你肯定能破我防御最强欺骗系统,自爆我就是修仙者杀到界海彼岸,成就万古帝尊怒怼多国名场面,我成护国狂魔重生:我的系统叫吸溜仙山灵水话青梅末日:我修仙拽一点怎么了
骑士书屋搜藏榜:[快穿]小受总是在死娱乐圈火爆天王战神赘婿:黄海平科技供应商重生:从叫错女同桌名字开始让你上大学,你偷偷混成首富薄先生的专属影后又美又娇带着修为回地球,全家随我飞升了我的女孩在灯火阑珊处医路人生:一位村医的奋斗之路重生嫡女归来最强赘婿霸宠甜甜圈:夜少,别乱撩我真不想当大明星地球online我开启世界大战港综:曹达华在我身边卧底特种兵:林老六竟然是狼牙总教官我家夫人今天听话了吗陈西峰商路笔记农门长嫂有空间抓鬼小农民农家俏寡妇:给五个孩子当娘都市极品保镖奶爸的超级农场穿书九零,大佬的炮灰前妻觉醒了穿成女配后我和权臣成亲了滑稽主播风雨兼程的逆袭路娱乐:让你介绍自己,你介绍家底重生之事事顺意限量婚宠:报告军长,我有了真千金断亲随军,禁欲大佬日日宠神界红包群撩妻1001式:席少,深度爱!影帝请你不要再吸我了喵公主殿下太妖孽黑道往事:从劳改犯到黑道传奇!重生之并蒂金花BOSS来袭:娇妻花式溺宠逆风三十岁重生高中校园:男神,撩一撩这个道士不靠谱村色撩人明朝大纨绔我向斐少撒个娇娇妻送上门:楚少请签收高中退学一年后,我被大学特招!修仙浪都市宝可梦供应商重生后,我娶了未来的县委书记
骑士书屋最新小说:辞职后,我肝成了道法真君后悔?离婚后我舔别人,你选的嘛剑斩魔影:都市修真破案传说赤煞魔法戒终有幸奇门脑洞重回90,房子门面买买买买买买被迫虐女,我也很心痛啊丧尸?不好意思国道上撞大运了开局娶了首富的白月光重回80:从赶海开始狂飙重生穿越到柬埔寨天医狂龙:下山当天,和小姨子订婚!重生1986助力国家崛起新兵连,我被直招进特种部队饥荒年代:我靠空间发家致富!三年付出,最后一次背弃后我选择放手海钓失事后,我被富家千金赖上了重生65,从打猎带知情姐妹天天吃鸡肉我有一张小丑牌重生破烂王,干到世界500强各位,欢迎来到新世界时间迷局里的末日救赎秦河畔,她说不想官配打工岁月:隐藏在城市角落的秘密富婆别喂了,我真的不吃软饭吾乃剑圣转世神陨入世,废土新生重生救赎,狩猎致富宠爱小娇妻重生86:鉴宝发家,我把妻女宠上天四合院:我,娄小娥的靠山港片:黑丝小犹太,力挺方洁霞国士无双之炁贯八荒重生千禧年:官场之路从片警开始权力医途他于深渊孤寂,她以纯白相偎祁同伟:老婆陆亦可,侯亮平醋了神珠缘亮剑:李云龙有九营九连九排四合院:从广播员开始整顿禽兽全村啃窝头,我一天赚一万开局冰山美女总裁怀了我的孩子外卖员觉醒之路重生特种兵,我成了战友的心尖宠重生后边造国货边炒股成全球首富高武:反方向的钟,高冷校花直呼不要吻她闺蜜,冰山妻人设崩了哭唧唧练武太难,系统给我加点!为了英雄老婆,成为邪恶大反派