0914CSP-S模拟测试赛后总结
9-16 16:03-upd:T3数据出锅,老师重测了,于是更了榜单。
名次并没有变化,但是和大佬们的差距变大了。
还是自己实力不行啊。最起码T3不是特别难想吧。
继续努力吧。
粘个榜:%%%二营长、exzkt神240-rank1 %%%kx210-rank3
%%%羊驼180-rank4 %%%cbx170-rank5 %%%脸哥160-rank6 %%%secret女神犇、神牛140-rank7
%%%Miemeng神、dybala神、逼哥130-rank9
我、xm神、动动神、奶风神100-rank12
还可以,不是吗。对于我这种场场垫底的蒟蒻来说已经是意外之喜了。
尤其是经历了好几场没有AC的尴尬后又重新有题目AC的喜悦。
然而我一共只有100分,也就是说,我T2、T3都爆零了。
可以稍微开心一下,但是绝对不能被一时的小小胜利冲昏头脑。
尤其是在你的成功在别人看来不算什么的时候。
这场考试其实本可以做的更好。没有什么考试策略之谈,只是一些押宝式的错误示范。
其实赛场上的状态与前两场都差不多。赌徒心理,几乎吧所有的时间都堆在一道题目上。
T1重构了三遍,还写了对拍、暴力。T2、T3只有一个暴力,一个骗分。
时间分配严重失衡。最起码T2、T3的暴力能打出来的对吧。不会只是爆零的成绩。
其实中间也警示过自己。20:00左右也曾放下T1去写了T2的暴力,然而TLE-0了。
但还是对T1不死心,对失败不甘心。最后几分钟也还是在调T1。
下次一定不能再押宝了。就这么决定了。
T1 A
(我的思路跟题解不大一样然而数据太水我就水过了??)
考虑如何用最少的步数从S到T。
一个很显然的性质是:应该把加法尽量放到前面。然而问题是并不知道应该放在哪。
考虑先找到一个可以将a下放的地方。
(解释一下什么叫“下放”。
假设我们找到一个位置,此时可以加b个a到达T,我们可以选择将这b个a打包扔到*b之前加,
此时我们节省了$(b-1)$步。蒟蒻就抖胆给这个操作取了个通俗的名字叫下放)
即给S一直乘b,判定到一个位置$(T-S)%a==0$。
此时可以考虑将a成组下放。
但是下放的次数会有限制,因此我们需要记录一下到达这个值*b的次数。
然而乘法的次数与最终答案的关系是一个单峰函数,下面有一个例子也能证明。
于是需要在中间更新答案,取min即可。
ps.
yxm神问有没有反例能证明不是乘得越多越好。
1 80 2 2正确答案是6,+2 +2 *2 *2 *2 *2 此时乘了4次。
而我赛时对拍前的代码跑出来是7,*2 *2 *2 +2 *2 *2 *2 此时乘了5次。
T2 B
考虑dp。
坑