llc'blog 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

c++流和c流

c++ 流 和 c 流 标准的c++流默认与其相对应的c流同步:( 在每次输入/输出后同步 ) 同步的c++流 无缓冲,每次c++流上的$I/O$操作都立即应用到对应 C 流的缓冲区。这使得能自由地混合 C++ 与 C $I/O$ 。 若关闭同步,则允许 C++ 标准流独立地缓冲其 I/O ,可认为这在某些情况下更快。 12345678910#include <iostr

2019-12-14
C++primer读书笔记

lambda表达式后的()

一直对lambda后面的()这种离奇的语法感到奇怪,今天看到如下代码: 1234567auto optimize_cpp_stdio = []() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); std::setvbuf(stdout, n

2019-12-14
C++primer读书笔记
lambda

基于Thinkphp开发的博客 (第一次开发,mark一下

基于Thinkphp开发的博客 (第一次开发,mark一下tp_blog 开发日志 11.20 文件命名空间sb new 命名空间下的文件一定要\app 12.8 忘记密码时输入邮箱的唯一性没有确定,已修复 玄学Bug : system设置的时候 system验证器离奇失效( 不知道是不是版本问题) 注册账号 和 忘记密码给注册邮箱发送4位验证码 使用了phpmailer扩展 登录的验

2019-12-11
php
blog

树状数组

树状数组lowbit(x) lowbit既能求出该节点及其下面子节点的个数,也能帮助区间下标转换 $lowbit(x) = x & (-x)$ 例如lowbit(8): $8_{10} = 1000_{2}$ 负数符号位不同( $-8_{10} = 1000_2$ 计算机以补码计算 8的补码$1000$, -8的补码$-8 = 1000_2 = 0111_2 + 1

2019-12-05
算法
树状数组

ST表

ST表 $O(logn * n)$ 预处理 $2*10^6 \approx 2^{21}$ $log2^{21} = 21$ $O(1)$查询,不支持修改操作 例如用于静态区间最大最小值查询 预处理 询问区间$[L,R]$,最多使用2个预处理过的区间的并就能覆盖询问区间 $f(i,j)$表示区间$[i,i+2^j-1]$的最大值 ,,,, $2^j-1$即倍增的长度 ,,, $f(i,

2019-12-04
算法
RMQ

非旋转Treap

非旋转Treap 通过节点的优先级来维护树的平衡, 下面是普通非旋转Treap (弱平衡, 性质 Treap是笛卡尔树的一种,只是 节点优先级是随机的 $Tree+Heap$: 二叉搜索树+堆的性质 2个核心操作 分裂+合并 分裂 split 按照 节点权值分裂或者值的排名分裂 $split_val$ 将一颗treap分裂成2个treap,第一个treap所有节点的权值$\le k

2019-12-04
算法
非旋转Treap

替罪羊树

替罪羊树$\alpha$权重平衡 认为一棵树$X$是平衡的当且仅当它每一棵子树满足下列条件: $size(x.left) \le \alpha * size(x)$ $size(x.right)\le \alpha * size(x)$ $\alpha \in [0.5,1]$ $\alpha = 1$就是普通的二叉搜索树 $\alpha = 0.5$ 左右子树的大小是该数的一半

2019-12-02
算法
平衡树

Luogu P3165 Splay区间翻转

脑残记录: 这周末2天只做了一道平衡树题目(2天被一道题限住),发现自己的很多问题, 1. 学了算法及其性质 但是总是做不出来题目,很难利用学过的性质, 同样这种情况再次发生在今天 没有运用的能力,思维太差??? 反思: 自己对算法题目的思维能力 还是不行 ( ???一定要想办法改变??? ) 要对自己的学过的算法的流程 好好走一遍, Splay 练习 Luogu P31

2019-12-01
算法
区间翻转

Luogu P2234+P2286 (Splay性质

Luogu P2234 记住性质才能更好利用: Splay的查询前驱和后继操作 $tree.ins(val)$插入后会$Splay$到根节点 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

2019-11-28
算法
Splay性质

Splay

从oi-wiki学来及自己总结Splay树 用$Splay$维护二叉查找树 节点维护的信息 root tot fa[i] ch[i][0/1] val[i] cnt[i] size[i] 根节点编号 节点个数 节点i的父亲节点 节点i的左右儿子编号 节点i存的值 节点i存的值出现的次数 节点i子树的大小 旋转操作 本质: 将树上某个节点上移一个位置 旋转总结: 以节点$x$

2019-11-26
算法
splay操作
1…7891011…30

搜索

Hexo Fluid