小技巧

  1. 我们要算一个点集中所有点到另一个点集中所有点的一些量的时候,可以建立一个超级源点和超级汇点,从多->多变成单->单

  2. 整体二分的时候,操作要可以撤销,才能保证复杂度,每一层到左边区间的过程中先撤销掉当前所有操作

  3. 整体二分的时候,不能当没有询问就返回,要把操作做完询问处理完才能返回

  4. 数形结合,题目中的式子像一个几何上的公式的时候,可以数形结合

  5. 对于某些涉及区间操作的问题的时候,可以考虑差分然后变成单点的问题

  6. 分块暴力,当所有修改对询问的影响都可以 \(O(1)\) 计算的时候,可以分块暴力艹过 \(1e5\) 的数据

  7. 考一棵树里面选了几个点,并且要有一个联通块包含这几个点的时候,我们可以考虑把点按照dfs序排序,然后联通块的最少边数就是 \(\frac {\sum dis(a_i,a_{i+1})} 2,(a_{n+1}=a_1)\)。

  8. 一种常见的dp状态是 \(dp[a][b][c][d]...\) 表示每种物品有几个,假如物品没有区别的时候,我们可以只考虑 \(a \le b \le c \dots\) 的状态,转移的时候也将数量排序再转移,可以大量减少状态数

  9. reverse特别慢,尽量不reverse

  10. char[] 求strlen特别慢,可以记录在变量里,不能反复求,尤其避免

    for(int i=0;i<strlen(s);i++)

    慢成狗。。。

  11. 线性基的小技巧:

    我们要维护 \([l,r]\) 的线性基的时候,可以记录下来线性基的 \(i\) 位对应的序号,然后按照序号顺序更新线性基,像下面这样写:

    int lb[40],at[40];	//线性基及编号
    for(int i=1;i<=n;i++){
    //枚举右端
    int x=nw[i],p=i;
    for(int j=30;j>=0 && x;j--){
    if(x&(1<<j)){
    if(lb[j]==0){lb[j]=x;at[j]=i;break;}
    else if(at[j]<p){swap(at[j],p);swap(lb[j],x);} //把原来的向下更新
    //因为如果两个同时拥有这一位,那么后来的肯定更优
    x^=(1<<j);
    }
    }
    for(int x=head[i];x;x=nxt[x]){
    //枚举右端点为i的查询,可以用邻接表存储
    for(int j=30;j>=0;j--){
    if(at[j]>=q[x].l) q[x].ans=min(q[x].ans,q[x]^lb[j]);
    }
    }
    }
  12. Meet in the middle 极好的想法,当数据范围恰好卡着你两倍左右让你过不去的时候,极有可能是Meet in the middle

  13. 预处理!!!预处理!!!预处理!!!

    好像数数题大部分都要预处理。。。

  14. 某一种dp要求你把所有的东西都消除,配对。。。之类的,可以考虑其中的某一个元素,这个元素一定会被消除,配对。。。然后可能能优化一下复杂度

  15. size把 \(O(n^3)\) 的 \(\text{dp}\) 优化成 \(O(n^2)\)

  16. 一个数与一群数一个个取 \(\gcd\) 只会有 \(\log\) 种不同的答案,因为每次要么不变,要么变成一半或者更少,然后可以优化一些题

  17. 搜索的时候为了不重复可以只搜索单调不降的序列

  18. 当题目要求必须选某一个元素或者必须不选某一个元素的时候,可以用前缀加后缀合并得到答案

  19. 对时间分治的时候注意撤销操作要从后向前做!!!

  20. 合并果子的模型非常常见,当贪心想不出来的时候可以试试看

小技巧(updating)的更多相关文章

  1. 【转载】PHP 开发者该知道的 5 个 Composer 小技巧

    Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方 ...

  2. 50分钟学会Laravel 50个小技巧

    50分钟学会Laravel 50个小技巧 时间 2015-12-09 17:13:45  Yuansir-web菜鸟 原文  http://www.yuansir-web.com/2015/12/09 ...

  3. 5 个 Composer 小技巧

    Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方 ...

  4. PHP 开发者该知道的5个 Composer 小技巧

    Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方 ...

  5. 50分钟学会Laravel 50个小技巧(基于laravel5.2,仅供参考)

    转载请注明:转载自 Yuansir-web菜鸟 | LAMP学习笔记 本文链接地址: 50分钟学会Laravel 50个小技巧 原文链接:< 50 Laravel Tricks in 50 Mi ...

  6. PHP 开发者该知道的 5 个 Composer 小技巧

    From: https://segmentfault.com/a/1190000000355928 Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer P ...

  7. php composer 相关及版本约束等小技巧

    对于现代语言而言,包管理器基本上是标配.Java有Maven,Python有pip,Ruby有gem,Nodejs有npm.PHP的则是PEAR,不过PEAR坑不少: 依赖处理容易出问题 配置非常复杂 ...

  8. 「小技巧」使用Git从其他分支merge个别文件

    小明发现在实际项目开发过程中,总会遇到各种各样的情况,比如一个大型的项目或版本迭代可能不是一次上线,可能会分好几次上线,这时候就会涉及创建多个分支,分别开发. 项目背景 产品经理:我们本次开发三个功能 ...

  9. PHP开发者该知道的5个Composer小技巧

    Composer 是新一代的PHP依赖管理工具.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便. 1. 仅更新单个库 只想更新某个特定的库,不想更新它的所有依赖,很简单 co ...

随机推荐

  1. Java企业微信开发_12_异常:java.lang.OutOfMemoryError: Java heap space

    一.异常现象 今天客户迁到正式环境,在做企业微信 接收消息服务器配置  时,出现如下异常: java.lang.OutOfMemoryError: Java heap space 二.异常原因 JAV ...

  2. 无言以队Alpha阶段项目复审

    小组的名字和链接 优点 缺点,bug报告 (至少140字) 最终名次 (无并列) 甜美女孩 http://www.cnblogs.com/serendipity-zeng/p/9937832.html ...

  3. fiddler篡改请求数据

    有时需要修改请求或返回结果来验证网站存在的漏洞,因此需要使用到fiddler的断点功能. 如何修改请求前数据? 1.设置请求前断点 Rules--Automatic breakpoints--befo ...

  4. win32com操作word(3):导入VBA常量

    导入VBA常量方法:http://blog.sina.com.cn/s/blog_a73687bc0101k8x8.html 我们之前说过,win32com组件为python提供处理COM组件(.dl ...

  5. 1091 Acute Stroke (30)(30 分)

    One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the re ...

  6. EMQ开启mysql认证

    规定通过mqtt_user表格验证过的用户才能连接EMQ服务器,我们需要开启mysql插件认证.EMQ2.0自带mysql插件,下面开始配置. 新建mqtt_user表格 要想控制用户登录EMQ,肯定 ...

  7. 【转】Pro Android学习笔记(九):了解Content Provider(下下)

    Content provider作为信息的读出,比较常见的还有文件的读写,最基础的就是二进制文件的的读写,例如img文件,音频文件的读写.在数据库中存放了该文件的路径,我们可以通过ContentPro ...

  8. css3 实现loading效果

    1 圆点渐入渐出 要点: 缩放和透明度的变化,循环变化 <div class="demo1"></div> .demo1{ width: 40px; hei ...

  9. MYSQL学习二 关于左连接

    工作中有如下的SQL, 针对A.ID ='abcdefg', left  join  B和C两个表,来查找其他信息.就算是B和C中没有任何满足条件的记录,最后结果也肯定不是空.因为A.ID ='abc ...

  10. caffe c++

    http://blog.csdn.net/yao_zhuang/article/details/1853625