• CSPS模拟 43


      我这次把考试题改完了

      

      T1 A

      发现S*b必须和T模a同余?

      貌似乘不了几次就爆T了?可以暴力?

      也许乘的越多越好?

      内心:切了

      另外怎么设置鼠标指到黑块上边就显示字那种东西

      最后当然是因为低错没有A掉啦

      虽然思路不对但是测试数据没有卡啦

      反例:1 80 2 2

      std:6 ((1+2+2)*2*2*2*2)

      wrong:7((1*2*2*2+2)*2*2*2)

      当S很小的时候,加法可能比乘法增长的更快,更快接近T

      T2 B

      一边颓废骚扰天皇一边努力地证出了题解(本来想证那个引理)

      我要证明那个引理,只需说明每个点对下一层gcd(i,p)相等的i的贡献都相同

      首先对于gcd(i,p)==k的i,它能转移到的点j满足k|gcd(j,p)

      暂且把这些点抽离出来变成p/k个点,那么i的位置变成了i/k

      暂且讨论模p/k意义下的结果,(反正其他数也取不到,结果映射回去就行了

      可以知道i/k与p/k互质

      由于i/k要乘上0-p-1的每个数进行转移

      把这因数表示成 a*p/k+b

      由于乘法分配率,前一项相乘后模p/k为0,先忽略

      后一项,当b==0时,结果为0

      否则由于i/k与p/k互质,结果将取遍1-p/k-1的每一项

      把b当作循环变化,一共循环了k次

      即每个点对它能取到的点的方案数贡献是k

      故 每个点对下一层gcd(i,p)相等的i的贡献都相同 ,引理成立了

      猛然发现这样的点一共多少个呢,phi(p/k)(因为互质

      然后乘上每种类型点的数量,就从单点对单点变成了多点对单点(可以这样理解)

      状态转移方程出来了

      那么怎么想到那个规律呢

      如果脑子好使,你可以考场证明..

      那些得了高分的神犇们说是打表发现的..

      不能太懒,考试时打表说不定就有收获

      T3 C

      发现t是个单谷函数。

      三分,剩下的交给贪心。

      一个位置,能让前边顺便加热了就加热

      不得已时自己加热,同时尽量惠及后边的位置

  • 相关阅读:
    策略模式浅谈
    J.U.C 系列之 Tools
    RCP 主题切换
    C#利用WebClient 两种方式下载文件
    淘宝联盟
    微信公众账号开发练习1成为开发者
    第一次使用mssql游标
    C#利用com操作excel释放进程
    免费空间主机屋试用体验
    Ajax简单聊天B/S
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/11524291.html
Copyright © 2020-2023  润新知