博客专栏  >  综合   >  我的OI历程

我的OI历程

这个专栏用于记录我的OI学习历程

关注
0 已关注
222篇博文
  • 边双联通分量小结+模板

    为什么我之前都没学过……预备知识桥:如果去掉,图的联通块个数会增加的边DFS树:将一个图DFS遍历所得到的树非树边:不在DFS树上的边显然非树边只会存在于DFS树的点与祖先之间非树边不可能是桥边双联通...

    2017-10-28 07:55
    1136
  • 【边双联通分量】hihoCoder#1184 连通性二·边的双连通分量

    题面在这里其实就是边双的裸题示例程序:

    2017-10-27 21:14
    409
  • 【状压DP】UOJ#265 【NOIP2016】愤怒的小鸟

    题面在这里其实就是一个简单的状压DP如果你直接O(2n⋅n3)O(2^n\cdot n^3)暴搞肯定是不行的那么就预处理一下gi,jg_{i,j}表示经过i,j两头猪的抛物线经过的猪然后……就好了示例...

    2017-10-25 20:39
    545
  • 【扫描线+贪心+线段树】Codeforces 458C Elections

    题面在这里考虑暴枚dd表示所有的对手选票不大于dd那么选票大于dd的对手都需要抢选票,如果这样自己的票数还是不够就从选票小于等于dd的对手哪里抢选票这个可以用线段树维护前K小示例程序:

    2017-10-24 19:02
    467
  • 【字符串+乱搞】Codeforces 762C Two strings

    题面在这里一开始题目看错了……还以为是求LCA\text {LCA}……其实很简单:对A串的每个位置求能匹配到B串的最长前/后缀然后就是在A串上枚举一个位置ii,把[1,i][1,i]能匹配的前缀 和...

    2017-10-25 09:58
    372
  • 【贪心+线段树】Codeforces 557C Arthur and Table

    题面在这里其实很简单……暴枚最长桌脚的长度ll,然后长度比ll长的桌脚全部都要砍掉长度比ll短的桌脚选择代价前kk小的砍掉用线段树维护……示例程序 :

    2017-10-25 12:50
    530
  • 【二分+正序对】51Nod 1711 平均数

    题面在这里考虑二分答案,其实就是求平均值大于等于mid的区间个数写出来就是∑air−l+1≥mid\frac {\sum a_i} {r-l+1}\ge mid所以每一项减去mid,写成前缀和就是Sr...

    2017-10-25 15:28
    357
  • 【组合数】51Nod 1627 瞬间移动

    题面在这里考虑枚举移动的步数ii那么答案就是 ∑i=1i<min(n,m)Ci−1n−2⋅Ci−1m−2 \sum_{i=1}^{i<min(n,m)}C_{n-2}^{i-1}\cdot C_{m...

    2017-10-25 16:42
    482
  • 【单调栈】51Nod 1423 最大二“货”

    题面在这里考虑枚举区间的次大值。那么可以维护一个递减的单调栈,里面都是可能的最大值然后第一个比当前大的值就是区间的最大值,更新答案就好了倒过来再做一次示例程序:

    2017-10-27 20:34
    480
  • 【容斥】51Nod 1829 函数

    题面在这里其实很简单……我太菜了……想了好久……因为题目要求B中所有元素都至少被覆盖一次所以枚举有几个元素没有被覆盖(这是容斥的基本套路)答案就是: ∑i=0mCim⋅(m−i)n⋅(−1)i+1 ...

    2017-10-28 19:04
    399
  • 【单调栈】51Nod 1349 最大值

    题面在这里最大值相关题目求控制区间已经是很明显的套路了啊喂枚举当前点为区间的最大值,用单调栈求出范围,两边一乘就好了示例程序:

    2017-10-28 21:15
    484
  • 【乱搞】51Nod 1622 集合对

    题面在这里数学题,看懂了就很好做。下面给出证明:首先,集合的异或操作是可以类比位运算的异或操作的。对于一个集合AA,可以给全集的每个元素赋一个01变量,表示是否在集合AA中出现过这样A xor BA\...

    2017-10-29 20:41
    430
  • 【贪心+优先队列】51Nod 1053 最大M子段和 V2

    题面在这里其实很简单……首先有一个贪心想法就是把所有的正数都取来但是这样子段数可能会超过m那么有以下两种方法减少子段数: 删去一个正的子段 取一个负的子段,并将相邻两个正子段合并 然后把这两种操作都扔...

    2017-10-30 15:26
    427
  • 【主席树】51Nod 1175 区间中第K大的数

    题面在这里主席树裸题……联赛快来了还是练练手速吧示例程序

    2017-10-30 16:46
    503
  • 【DFS序+树状数组】51Nod 1681 公共祖先

    题面在这里稍稍转化一下题面就可以得到,其实是求 ∑x=1nC2s \sum_{x=1}^n C_s^2 其中s是在两棵树中都是x的后代的节点个数如何统计s呢?其实也很简单先对一棵树处理出DFS序...

    2017-10-30 19:52
    439
  • 【状压DP】51Nod 1779 逆序对统计

    题面在这里很水的状压DP……fsf_s表示s这个状态的最大逆序对数显然按照顺序去处理M个数,用于修正后面的转移的权值其实就是算有几个比当前大的示例程序:

    2017-10-31 09:32
    615
  • 【树状数组+二分】BZOJ2028 [SHOI2009]会场预约

    题面在这里考虑到每个预约只可能被删除一次所以可以把与当前冲突的预约一个一个删除其实就是不断取某位置前面第一个比自己小的端点这个用树状数组+二分维护就好了(其实也是第K大问题)然后这样就O(nlog2n...

    2017-10-26 15:33
    418
  • 【乱搞】BZOJ5074 [Lydsy十月月赛]小B的数字

    题面在这里可以感觉到当N很大时,基本都是输出NO的如何证明呢?设bi=2ci,∑ci=Sb_i=2^{c_i},\sum c_i=S则有:∀i满足S≤ai⋅ci,即Sai≤ci\forall i \t...

    2017-10-27 20:45
    537
  • 网络流-最大流

    【前言】网络流作为一个经典问题,在OI及实际生活中有着广泛的应用,值得我们仔细研究。【何为网络流?】网络流,是一种资源调配问题,如下图(以下图片均来自网络): 其中,S表示网络流中的源点,是资源...

    2017-05-15 21:12
    514
  • 浅谈上下界网络流

    背景最近一直在做这类题目…… 感觉题目变化还是挺多的 就在这里总结一下好了……首先Orz Lynstery 本文参考博客:有上下界的网络流学习笔记——by liu_runda正文上下界网络流,显...

    2017-07-07 21:18
    3383

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部