NOIP模拟 21
可爱的Dybala走了..(当然只是暂时)
又考了大众分。从rank5到rank17一个分。
T1 折纸
秒切,爽啊
天皇偷看我代码,结束看见我A了还很惊讶,说我代码有锅
好沙雕哦
就跟个2b似的。
T3 reverse
调个reverse函数了事。
T2 不等式
感觉是道好题。
部分分秒切(我没得全我没脸说)然后第一次在考场上去推这类数学题的正解
(三道数学题,蒟蒻伤不起。)
考场思路:
50分很好拿的样子(flag),那我去想100(?你不知道你弱)
草稿纸上画图。
emm一个点在线段上跳来跳去
很像”飞“里那个生成x
没说m,s互质,所以应该能跳到所有$ gcd(m,s) $的整数倍的坐标
别的跳不到,emm先判个无解。
发现跳出长度为m的线段进入下一段后,起点的变化有规律可循。有公式。
发现有循环节,最多为s
尝试探究什么时候(在哪个起点)就会到达区间,停止循环。
发现停止循环时,$ \lceil (L-st)/S \rceil == \lfloor (R-st)/S \rfloor $
想把$ [L,R] $映射到起点位置。
发现$ [L,R] $必须满足一些条件。
加了点特判,使得$ [L,R] $可以映射。
发现原来的问题:$ L\leq (S*x)$%$M \leq R $
居然tm转化成了: $ L \leq (-M*x)$%$S \leq R $
回到起点了!这还tm做个p!
再看一眼发现问题范围缩小了,想递归一下
然后觉得无法处理每个起点跳到末尾的步数,弃了。
//离正解只有一步之遥系列
其实如果我不去研究每个起点跳到末尾的步数,而是把所有起点的花费统一起来
应该可以发现我只要把柿子转化一下就出解了
有点可惜,不过我还是很受鼓励。
思路的起点和正解不是很一样,但是最后化出了相同的柿子,我好牛逼啊
没A都是白说。
Ps:考试后尝试实现自己的柿子,虽然它和正解柿子完全等效,但是也许因为M和S两个参数没有保证单调递减(正解为$ M->S , S->M$%$S $,我为$ M->S,S->(-M)$%$S $),递归不能很快结束,爆栈了。正解递了500多层就return,我的M,S总也不收敛...
所以别觉得自己思路很正就信心满满,实现起来的问题一定比想象要多...
T3看不懂,体验不佳。