zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    python中装饰器的原理
    python中封装、继承、多态
    Linux 中数组的使用
    Linux中环境变量中文件执行顺序
    Linux中FTP的一点理解
    原来... 拷贝构造函数的参数为什么必须使用引用类型
    C++ Programming language读书笔记
    linux 用户态 内核态
    Linux命令学习整理。
    fork &vfork --陈皓
  • 原文地址:https://www.cnblogs.com/xingmi-weiyouni/p/11521610.html
Copyright © 2011-2022 走看看