• 如何和出题人斗智斗勇?奇技淫巧汇总


    .计算总体的贡献和的时候转化为考虑每个元素的贡献

    .正序删边可以离线反向操作,变成加边。

    .有相同的变量尽量挪到一边。

    displaystyle sum_{i=1}^md_i=2m-2$

    (displaystyle sum{(d_i-2)}=-2)

    .恰好变为至少,然后容斥原理。

    .看到问题想一想能不能二分答案,容斥啥的。

    .倘若题目告诉你“随机”数据的生成方式,它就不是真随机了,但通常并没有什么很大的用处。

    .条件限制强、数据不大不小的题基本上就是网络流,或者是一些鬼畜的DP。

    .(用堆)一步一步的生成自己想要的数据,例如:[NOI2010]超级钢琴,也可以用到边有生成规律的最小生成树上。

    .关于序列上有关gcd的题目:要想到前缀gcd只有log种取值。

    .乘法不好搞时看看能不能取对数转化为加法。

    .一些难想到的算法:二分,根号,分治

    .题目让你对某个给定的(k)的情况下求解,看看能不能由给定的值为其他值时转移到给定的值为(k)时的情况

    .让你判断能不能到某个点 -> 给该点赋值inf,求最大值是不是>=inf

    .一个地图有宝藏有陷阱,不能碰陷阱的条件下获得的宝藏最多:把陷阱改为权值-inf的宝藏后求最大值。

    .多维的布尔数组可以省去一维,存的值变为省去的那一维。例子

    .尺取法:确定l,r后,根据实际情况不断地推进l,r以得出答案。例子

    .树上路径期望问题可以把每个节点的dp值表示 (a imes f(fa) + b)的形式 例题

    .最优化所求的式子有多个变量时,枚举一部分,求剩下一部分最大/最小。例题

    .一些题要是能DP,就先不要管时间空间复杂度(但不要太离谱)写出来状态和转移方程,然后尝试优化

    .规律总结:对于有标号类问题,个体的exp就是集合,集合的ln就是个体

    .二维平面上有n个点,求平面中的一个点(这个点不一定与给出的n个点重合),使其到所有点的距离和最小。

    结论:确定x坐标时,关于y坐标的函数是单峰函数;确定y坐标时,关于x的函数是单峰的。(单峰函数-->三分)

    .分块打表大法好

    .DP无思路,把能输出的都输出看看有没有什么规律,比如决策单调性

    .dsu on tree:(1) .没有修改 (2) .子树询问

    .一些冷门但好用的算法:悬线法,wqs二分,dsu on tree

    .关于限制条件:思考怎么来的( (max(a_i-a_j) i,j in [1,n]) 就等价于 (max(a_i)-min(a_i))),或者枚举条件

    .式子里有绝对值就把绝对值拆开分情况讨论

    .求的东西如果有精度误差(比如和正确答案相差<=1e-4即为正确)的时候,可以多跑几次“暴力”使误差达到允许的范围 例题

    .重复一样的操作很多次,可以尝试快速幂/倍增

    .一些比较难求的东西可以容斥一下

    .学好贪心,能多拿很多分

    .无法继续优化可能是因为求了不用求的东西。

    .费用提前计算优化DP

  • 相关阅读:
    学会数据库读写分离、分表分库
    MySql数据主从同步配置
    数据库事务的四大特性以及事务的隔离级别
    tensor维度变换
    本地存储,序列化与反序列化
    连连看项目实战之四(异步加载进度条)
    连连看项目实战之二(礼盒动画)
    连连看项目实战之三(解析配置表)
    连连看项目实战之一(搭建场景)
    设计模式(C#)——12责任链模式
  • 原文地址:https://www.cnblogs.com/wljss/p/12164676.html
Copyright © 2020-2023  润新知