码迷,mamicode.com
首页 > 其他好文 > 详细

Noip前的大抱佛脚----一些思路

时间:2018-11-04 15:33:39      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:strong   观察   sum   复杂   noi   水平   打表   前缀   序列   

一些有启发性的思路

序列

  • 线段树(当然还要有主席树啊!)

  • 差分和前缀和啊

  • 分块

  • 莫队

  • 看到等差数列先推一波式子啊(天天爱跑步)

  • 有序序列的动态插入删除

    有的时候需要算贡献,当你发现序列(离散化后)值域一定时,便可以尝试使用树状数组

  • 维护\(mex\)

    可以尝试使用值域分块,当这个块内全部有值了就打个\(tag\)

  • 等和序列

    大概就是说可以多项式乘起来那种吧,可以发现差分之后是回文串!

  • 序列差分

    异或序列可以差分!!(具体差分方法:遇到一个1,给当前位置和下一个位置异或上一个1,这样统计前缀和后就是原序列了)

函数问题

  • 打表观察进制规律(如\(Kathy\)的函数)

网格图

封闭图形问题

  • 横向维护网格前缀和,把网格交点看作点,每条边作为边,对于水平方向的边边权为0,对于水平方向的可以连两条边,一个表示这行要开始了,减去前缀和,一个表示这行结束了,加上前缀和。这样跑出的一个环正好代价为圈住的网格权值和

如圈地游戏的判正环的做法

黑白染色

如果黑白格互不影响或者有一些奇妙的性质,那么可以往这方面考虑

删除和询问

如果可以离线,可以尝试正序删转倒序加,有时问题就变得可做

乘法问题

如果加法更可做,考虑

  • 取log
  • 求原根

顺序问题

顺序对答案有影响,求答案的最值

通常这个只需要对两个元素考虑顺序,因为相邻两个有大小关系符合冒泡排序的要求,从而可以对整个序列排序

例题如:10.12天山折梅手、Noip国王游戏

最值问题

可以考虑从大往小做或者从小往大做,例如从小往大加边就是Kruscal重构树的过程

研究成果

名字取得太高大上了嗯只是平时的一些小想法

数论分块套数论分块的复杂度

数论分块得到\(\frac{n}{i}\)后再对其数论分块

\(Ans<n\sum_{i=1}^{\sqrt n}\sqrt\frac{1}{i}\)

又有公式\(\sum_{i=1}^{n}\frac{1}{\sqrt i}<2\sqrt n\)(先假设,然后用数学归纳法证明)

所以\(Ans<n^{\frac{3}{4}}\)即为其估计复杂度,实际上要小得多

Noip前的大抱佛脚----一些思路

标签:strong   观察   sum   复杂   noi   水平   打表   前缀   序列   

原文地址:https://www.cnblogs.com/xzyxzy/p/9903905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!