- 博客(5)
- 收藏
- 关注
原创 树链剖分学习笔记
私以为树链剖分的讲稿中秦淮岸的笔记最好 笔记 稍稍做个补充,边树剖怎么做呢? 将边的值赋给子节点,查询时若x,y为同一点,则直接返回即可。
2019-10-17 14:47:32
193
原创 可持久化线段树学习笔记
本文主要阐述自己对可持久化线段树的一些理解 可持久化线段树是一种数据结构,用于查询线段树的历史版本 实现基础在于,对于线段树的单点修改,每次只需改动logn(树高)个节点的信息,即可记录新的线段树的所有信息 如何实现? 首先建一棵线段树,这是最初版本,记为preprepre。 当对这棵线段树进行修改时,新建一个节点,在此记为 ppp 将pre的信息copy到p中去; 从初始节点开始下沉,如果修改位...
2019-10-09 21:41:23
282
原创 C++的卡常技巧
C++的一系列卡常技巧 register 的运用 register 相当于一种“暗示”,它暗示你的内存cache这个变量将会频繁使用,使得你的cache存下该变量以便直接调用,常用于各种循环中 如 for(register int i=1;i<=n;i++) { } ++i与i++ 在分别进行两种操作时,不同于++i,i++将会先把i的值在内存中存下再运用,一般花费时间是++i的1.5倍左右,常用于循环(据说现在不少编译器已经将此优化 ) 如 for(int i=1;i<=n;++i) { }
2019-09-01 16:38:25
1613
1
原创 "~"运算符在C++中的作用
我们在学习新的知识或是观看某些代码时常常看到 “~” 的符号,它是什么意思,有什么作用呢? 1:“~”的作用 “~”的解释为:对某一常数转化为二进制时对各位进行取反,是一种位运算。 举个例子 “4”的二进制码为 “100” 取反之后——》变为 “011”同时正负颠倒,于是“~4”在数值上等于“-5”; 同理“~1046”=“-1047” ,“~0”=“-1”, 等等。 细心的读者已经发现了 “~...
2019-04-24 21:39:55
16327
2
原创 洛谷P1795无穷的序列 题解(暴力)
题目描述 有一个无穷序列如下: 110100100010000100000… 请你找出这个无穷序列中指定位置上的数字 输入输出格式 输入格式: 第一行一个正整数N,表示询问次数; 接下来的N行每行一个正整数Ai,Ai表示在序列中的位置。 输出格式: N行,每行为0或1,表示序列第Ai位上的数字。 说明 对于100%的数据有N≤1500000,Ai≤10^9 解析: 看到本题的第一眼,我就想起了初中...
2019-04-21 13:42:30
1165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅