A. Magic Numbers

  • 不能出现连续的3个4,以及1、4以外的数字。

B. Ping-Pong (Easy Version)

  • 暴力。

C. Malek Dance Club

  • 考虑\(x\)二进制每一位1,假设位置为\(p\),则前\(p-1\)位都需要一样,否则之前就计算了贡献,那么后面的位可以任取。

D. Psychos in a Line

  • 链表模拟。

E. Kalila and Dimna in the Logging Industry

  • 因为\(b_n=0\),所以用最小代价砍倒第\(n\)棵树即可。
  • \(dp(i)\)表示砍掉第\(i\)棵树的最小代价。
  • \[dp(i)=min\{dp(k)+b_k\cdot a_i\}\]
  • 斜率优化。

F. Have You Ever Heard About the Word?

  • 删除次数最多\(\sqrt n\)次。
  • 假设当前的删除长度为\(len\),每隔\(len\)取一个关键点\(p\),如果存在可删除串,则\(p\)和\(p+len\)的最长前缀和最长后缀之和大于\(len\),通过二分+hash可以\(logn\)计算。

G. Ping-Pong

The length of the new interval is guaranteed to be strictly greater than all the previous intervals.

  • 对于\(a<b\),\(|I_a|<|I_b|\),区间\(a\)和区间\(b\)要么相互可达,要么区间\(a\)完全被区间\(b\)完全包含。
  • 利用线段树+并查集维护相互可达的区间。
  • 判断\(a\)是否可达\(b\):
    1. 相互可达,即属于同一集合。
    2. 区间\(a\)的端点是否被\(b\)集合包含。
  • 满足上面其中一点说明\(a\)可达\(b\),否则不可达。

最新文章

  1. Nodejs进阶:如何将图片转成datauri嵌入到网页中去
  2. BZOJ3557: [Ctsc2014]随机数
  3. FBX .NET
  4. Intel DPDK的一些参资料
  5. JavaScript对SVG进行操作的相关技术
  6. linux hosts一个诡异问题
  7. DataContext 数据在F5刷新频繁,会出现数据读取错误
  8. 判断Python输入是否为数字
  9. WEB 3D SVG CAD 向量 几个实施
  10. openstack 网络架构 nova-network + neutron
  11. 基于C++的类编程总结
  12. ibatis的动态sql
  13. ASP.NET SignalR介绍
  14. Android-Could not download kotlin-reflect.jar
  15. python3-元类
  16. 【Android】修改Android 模拟器IMSI
  17. GB/T19001—2008质量管理体系要求、标准、贯标(贯彻标准)
  18. ComboBox中如何嵌套TreeView控件
  19. 解析如何在C语言中调用shell命令的实现方法【转】
  20. xml的解构与组装

热门文章

  1. ajax下载小于500M大文件【原】
  2. Java.控制层.响应工具类.
  3. Leetcode697.Degree of an Array数组的度
  4. 从php到浏览器的缓存机制
  5. 自学FPGA笔记之 “sublime的使用”
  6. laravel 文件
  7. Directx11教程38 纹理映射(8)
  8. js赋值符号“=”的小例子
  9. Python学习之路14☞多线程与多进程
  10. IDEA入门(1)--lombok和Junit generator2插件的运用