A. Polo the Penguin and Segments

  • 模拟。

B. Polo the Penguin and Matrix

  • 每个数字模d余数必须一样。
  • 枚举结果,可计算操作次数,取最小。

C. Polo the Penguin and Strings

  • ababab……cdef……
  • 对于n、k分别为1时,需要特判。

D. Polo the Penguin and Houses

  • 前k个暴力枚举,后n-k个每个可取个数为n-k。

E. Polo the Penguin and XOR operation

  • 显然为了让结果尽量大,所以异或和应该和加法和接近。
  • 观察样例可知,结果为n(n+1),所以可猜测对于任意的n可构造出异或和n(n+1)的序列,即异或不存在两个1相消。
  • xjb证明:对于n来说,假设二进制最高位为p,则\(2^{p + 1} - 1 \oplus n\) 显然小于n;对于n-1来说(假设二进制最高位不变),\(2^{p+1}-1 \oplus n - 1\)会大于\(2^{p+1} - 1 \oplus n\)。也就是\([2^{p + 1}-1 \oplus n, n]\)构成一个我们要的区间,而\([1,2^{p + 1}-1 \oplus n)\)则变成一个子问题。

D. Polo the Penguin and Trees

  • 考虑每个点的贡献,把一个点挖掉后会形成若干棵子树,对于每个子树内的路径与经过当前点的路径必然不相交。

E. Polo the Penguin and Lucky Numbers

  • 因为\(l,r\)没有前导0,即最后的幸运数字长度均为\(|l|,|r|\)。
  • 将问题看成求\([1,n]\)内\(a_1a_2+a_2a_3+…+a_{n-1}a_n\)的值。
  • 长度为1时,幸运数字有4,7;
  • 长度为2时,幸运数字有44,47,74,77;
  • 记长度为\(l\)时,幸运数字有\(a_{1}^{l},a_{2}^{l},…,a_{n}^{l}\),那么长度为\(l+1\)时,新的幸运数字为\(\overline{a_{1}^{l}4},\overline{a_{1}^{l}7},\overline{a_{2}^{l}4},\overline{a_{2}^{l}7}…,\overline{a_{n}^{l}4},\overline{a_{n}^{l}7}\)。此时是不考虑有上界的情况,有上界的情况时,最大值是前缀,且添加4、7时要根据下一位的值考虑,下一位是4时,最大值只能加4得到新的幸运数字,下一位是7时则相当于没有限制。
  • 假设\(F_i=\sum_{i=1}^{K_i-1}{a_ia_{i+1}}\),\(K_i\)表示幸运数字的个数。
  • 当\(时s_{i+1}=4时\)\[F_{i+1}=\sum_{i=1}^{K_{i+1}-1}{A_iA_{i+1}}\\=\sum_{i=1}^{K_i-1}{\overline{a_i4}\cdot\overline{a_i7}}+\sum_{i=1}^{K_i-1}{\overline{a_i7}\cdot\overline{a_{i+1}4}}\\=\sum_{i=1}^{K_i-1}{(100a_i^2+110a_i+28)}+\sum_{i=1}^{K_i-1}{(100a_ia_{i+1}+40a_i+70a_{i+1}+28)}\\=100\sum_{i=1}^{K_i-1}{a_ia_{i+1}}+100\sum_{i=1}^{K_i-1}{a_i^2}+220\sum_{i=1}^{K_i-1}{a_i}+70(a_{K_i}-a_1)+56(K_i-1)\]
  • 当\(s_{i+1}=7\)时,只需要加上\(\overline{a_{K_i}7}\)这项即可。
  • 为了得到\(F_i\),需要维护和、平方和,两个值推导与上面的类似。

最新文章

  1. 如何获取安卓系统自带应用的package和activity
  2. android 开发项目笔记1
  3. delphi XE Berlin ReadProcessMemory WriteProcessMemory
  4. Sheet can not be presented because the view is not in a window的解决办法,和window的简单使用
  5. 图片url中包含中文导致网络请求404
  6. JS原型函数相关基础知识
  7. Ruby on Rails创始人DHH谈如何进行混合移动APP开发
  8. 一个ASPX页面的生命周期?
  9. Swift - defer关键字(推迟执行)
  10. 2017《JAVA技术》预备作业
  11. 用python实现简单的数字信号软件滤波处理
  12. python如何转换word格式、读取word内容、转成html
  13. Python中文件的操作
  14. TabBarController和其他view无法建立Relationship segue的原因
  15. 4.6 并发编程/IO模型
  16. esLint 配置
  17. LeetCode #001# Two Sum(js描述)
  18. 解决Intellij IDEA中console窗口中文乱码的问题
  19. 基于VRML的虚拟校园漫游系统
  20. STL简洁 && c++读取cfg文件

热门文章

  1. golang 命令行参数
  2. YouTube上最受欢迎的十大机器学习视频(最新)
  3. SSM+Maven+IDEA增删改查
  4. No.1 Verilog HDL简介
  5. day16 web前端之JavaScript
  6. Directx11教程(49) stencil的应用-镜面反射
  7. 【JZOJ4884】【NOIP2016提高A组集训第12场11.10】图的半径
  8. time 与 data time
  9. hdu2041 dp
  10. GitHub Top 100 Objective-C 项目简介