一些思路

Tags:Noip前的大抱佛脚

序列

  • 线段树(当然还要有主席树啊!)
  • 差分和前缀和啊
  • 分块
  • 莫队
  • 看到等差数列先推一波式子啊(天天爱跑步)
  • 有序序列的动态插入删除
    有的时候需要算贡献,当你发现序列(离散化后)值域一定时,便可以尝试使用树状数组
  • 维护\(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前的大抱佛脚----一些思路的更多相关文章

  1. Noip前的大抱佛脚----文章索引

    Noip前的大抱佛脚----赛前任务 Noip前的大抱佛脚----考场配置 Noip前的大抱佛脚----数论 Noip前的大抱佛脚----图论 Noip前的大抱佛脚----动态规划 Noip前的大抱佛 ...

  2. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  3. Noip前的大抱佛脚----字符串

    目录 字符串 经验 用FFT求解字符串匹配问题 两(多)串DP时状态合并 最长公共子序列转LIS 位运算最大值 挂链哈希 哈希处理回文串 树哈希 字符串模板库 KMP 最小循环表示 Mancher A ...

  4. Noip前的大抱佛脚----数论

    目录 数论 知识点 Exgcd 逆元 gcd 欧拉函数\(\varphi(x)\) CRT&EXCRT BSGS&EXBSGS FFT/NTT/MTT/FWT 组合公式 斯特林数 卡塔 ...

  5. Noip前的大抱佛脚----图论

    目录 图论 知识点 二分图相关 DFS找环 并查集维护二分图 二分图匹配的不可行边 最小生成树相关 最短路树 最短路相关 负环 多源最短路 差分约束系统 01最短路 k短路 网络流 zkw费用流 做题 ...

  6. Noip前的大抱佛脚----数据结构

    目录 数据结构 知识点及其应用 线段树 神奇标记 标记不下放 并查集 维护二分图 维护后继位置 堆 可并堆的可持久化 dsu on tree 方式&原理 适用范围 单调队列 尺取合法区间 模板 ...

  7. Noip前的大抱佛脚----赛前任务

    赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...

  8. Noip前的大抱佛脚----根号对数算法

    根号算法 分块 数列分块入门九题(hzwer) 入门题1,2,3,4,5,7 问题:给一段区间打上标记后单点查询 解法:主要是每块维护一些标记,计算答案等,此类分块较为简单 注意:块大小一般为\(\s ...

  9. Noip前的大抱佛脚----奇技淫巧

    STL函数 set set查找前驱后继 multiset<int>::iterator iter; S.insert(x); iter=S.find(x);//返回迭代器 iter--;/ ...

随机推荐

  1. 模板与STL学习简单的笔记

    一.如何进行泛型编程 C/C++是一种静态编程语言,必须需要把代码翻译成可执行的二进制可执行程序然后再运行,一旦编译好之后就不能再变了(数据类型也就必须确定下无法更改,因此要为每一种数据类型编写一份算 ...

  2. [翻译] M13ProgressSuite

    M13ProgressSuite https://github.com/Marxon13/M13ProgressSuite A set of classes used to display progr ...

  3. 获取INET4与INET6的信息

    获取INET4与INET6的信息 参考书籍: 本人封装的源码: // // IPAddressInfo.h // YXNETWORK // // http://www.cnblogs.com/YouX ...

  4. Mysql源码安装shell脚本

    #!/bin/bash#date:2019/1/20#by author zhangjia#install mysql#shell_name:mysql_auto_install.sh######## ...

  5. windows 查看端口号,杀进程

    查看端口号: 开始--运行--cmd netstat –and 杀进程: windows任务管理器         查看--显示列-PID 相关知识: 一台机器的80端口被httpd (apache) ...

  6. ZT linux的mount(挂载)命令详解

    linux的mount(挂载)命令详解   来源:互联网 作者:佚名 时间:09-08 17:02:27 [大 中 小] 点评:linux下挂载(mount)光盘镜像文件.移动硬盘.U盘.Window ...

  7. mysql大数据量使用limit分页,随着页码的增大,查询效率越低下

    1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count当起始页较小时,查询没有性能问题 ...

  8. 如何使用eclipse运行简单的java程序

    打开eclipse,选择“file——new——Java project”   为我们的java项目取一个名字,然后点击完成.   这时候左侧列表就有了我们刚才新建的java项目,点开项目,在src目 ...

  9. JS-移动端判断上拉和下滑

    一.手指触屏,利用touchstart和touchend计算前后滑动距离,判断是上拉还是下滑. 二.js中距离:pageY.clientY.offsetY的区别: offsetY:相对于父节点的偏移距 ...

  10. ruby安装及webStorm配置SCSS

    sass安装: 步骤:(window系统) 1.下载RubyInstaller(v2.4.3),运行安装,基本直接next安装,不过有个add to PATH的选项一定要勾选,这样就不用配置环境变量. ...