首页 > 其他分享 >【杂项】trick

【杂项】trick

时间:2024-02-29 13:57:50浏览次数:25  
标签:数记 le log sum trick 区间 考虑 杂项

  1. 数区间颜色个数只数最左边的一个。

  2. 维护时间戳来避免多次 memset

  3. 树状数组上倍增-\(O(\log n)\)。

P6619 [省选联考 2020 A/B 卷] 冰火战士

开始二分,设初始位置为 \(r\),\(sum=\sum\limits_{i=1}^r tr_i\),要求的数记为 \(ans\)。

考虑依次跳 \(2^{\log n},2^{\log n-1},...,2^0\) 个单位,方式如下:如果跳的这位更新后 \(>ans\),则不更新,否则更新。也就是说,时刻保证 \(\sum\limits_{i=1}^r tr+i\le y\)。

发现往后跳的段都是诸如 \([r+1,r+2^k]\) 的段,显然树状数组可以 \(O(1)\) 统计。

  1. 关于平均值的问题中,若给定平均值,可以考虑将将每个位置的值减去平均值,将平均值转化为了区间和大于等于0。

  2. 关于中位数等问题中,常见二分答案,将大于 mid 的数记为 1,小于 mid 的数记为 -1,如果区间和为0则这个数就是序列中位数。P1627

  3. 多个约束条件,常见拆条件,例如枚举或者算贡献。

  4. 选 \(x\) 个区间,要求公共点 \(\to\) 区间中有位置被覆盖次数 \(>=x\)。P1712 [NOI2016] 区间

  5. 序列中随机选取 [l,r] 的期望等价于求出和除以序列数。CF846F P5068 [Ynoi2015] 我回来了

  6. 严格递增和不严格递增:令 \(b_i=a_i-i\),就将严格递增转化为了不严格递增。

  7. 考虑一个柿子如果形如 \(f_i=\max\limits_{i\le j\le n}(f_j+\min(sum1_{i,j},sum2_{i,j}))\),那么可以先强制钦定取第一项,做两次算即可。

  8. 考虑一个 dp 柿子从前面连续的项转移,但是不能用单调队列,考虑线段树或 cdq 分治维护。

  9. 势能分析

  10. 考虑一些关于最大值的东西可以搬到笛卡尔树上分治。

  11. 考虑一个暴力可能可以优化的途径:记忆化、阈值分治

标签:数记,le,log,sum,trick,区间,考虑,杂项
From: https://www.cnblogs.com/lgh-blog/p/18043534

相关文章

  • Slope trick 学习笔记
    博客传送门Slopetrick的定义Slopetrick是一种通过分析DP函数在转移时的斜率变化来优化转移的技巧。通常来说,被维护的函数图像是离散的凸函数,Slopetrick会维护函数的斜率或者斜率的差分。维护凸函数主要有以下几个优点:方便维护形如\(dp'[i]\leftarrow\max(dp[i],dp......
  • 小 Trick 合集
    A:区间[l1,r1]->[l2,r2]连有权边跑dij优化建图能不能优化?Q:能。直接优化建图+普通堆是O(nlog^2n)的,实际上可以隐式建图,线段树+vector即可。可以做到O(nlogn)代码超级小清新!!点击查看代码array<int,3>v[MAX];vector<int>e[MAX<<2];boolvis[MAX];intmn[MAX<<2],sz[M......
  • [Some Tricks] 自动取模类
    consti128o=1;template<i64mod,i64invpow=mod-2>structModular{u64M=(o<<64)/mod;i64query(i64x){u64x_=1ull*x;u64q=1ull*(((i128)(M)*(i128)(x_))>>64);u64r=x_-q*(1ull*mod......
  • Slope Trick 总结
    SlopeTrick总结注意:SlopeTrick并不是斜率优化,斜率优化的英文是ConvexHullTrick。算法适用性SlopeTrick通常用于维护具有如下性质的函数:连续。是分段一次函数。是凸函数。每一段的斜率较小(通常为\(O(n)\)),且均为整数。常常用于优化动态规划。不失一般性,约定本......
  • slope trick
    slopetrick对于一类DP问题,DP状态是二维的\(f_{i,j}\),且\(f_i\)可以看作一个关于\(j\)的线性的连续凸分段函数转移时可以直接维护这个函数而优化复杂度维护操作以下凸函数为例我们维护第一段函数的斜率\(k\),用数据结构维护出斜率每变化\(1\)时的转折点的可重集注......
  • 【Trick】标记永久化
    1.理论线段树使用来维护区间信息的数据结构。回想一下,是否还记得线段树的pushdown操作。在区间修改区间查询中,由于区间修改时信息不一定能传达到位,需要使用lazytag将修改信息打在非叶子节点上(其实可以不用,但时间复杂度错误)。这样一来,当查询的区间在其子区间时,可以把打在当......
  • 杂项
    数据生成#include<bits/stdc++.h>usingnamespacestd;signedmain(){mt19937_64rd(chrono::system_clock::now().time_since_epoch().count());uniform_int_distribution<int>dis(1e7,1e9);for(inti=1;i<=10;i++){s......
  • 杂项
    杂项等比数列:\(S_n=a_0\frac{q^n-1}{q-1}\)n以内质数个数大概是\(\frac{n}{\ln\n}\),插一条证明(虽然这篇文章大部分都是在讲别的……)在12e9范围内,1N中任何数的不同质因子都不会超过10个,且所有质因子的指数总和不超过30证明:因为最小的11个质数的乘积大于2e9,且2^31>2e9,所以成......
  • tricks I
    1.P2824排序碰见这种只有最后有一个查询的问题我们可以考虑二分最后的答案。具体地,对于当前\(mid\),把所有小于\(mid\)的设为\(0\),其他的设为\(1\)。此时我们只需要维护最后的位置是否大于\(mid\)就好。那么每次升降序的排序就很好办了。我们用线段树维护一个区间和,也......
  • 杂项与密码10
    misc1.盲文,摩斯 用了已知工具,不知道。。。搜一哈 下面是盲文。。。。对着看看kmdonowg 得到一个音频。。。像电报  是摩斯密码 得到答案 2.与佛论禅密码,zip伪密码 试了可用工具。。。没找到什么,搜搜。。 伪加密。。。好像是修改成00 是佛曰密码......