随笔分类 - a学习笔记
摘要:只能读入数字,不过这个比scanf快很多,并且对于 long long 类型用I64d,还是用 lld 完全忽略,不需要靠考虑在windows,或Linux系统的差别,效率很高!!! 这是 long long 类型读入优化(只要改变函数的类型和x的类型就好了) cin/cout读入优化 ios::s
阅读全文
摘要:模板 http://blog.csdn.net/u012860063/article/details/40752197
阅读全文
摘要:例题 poj 2417bsgs http://poj.org/problem?id=2417 这是一道bsgs题目,用bsgs算法,又称大小步(baby step giant step)算法,或者拔(b)山(s)盖(g)世(s)算法,或者北(b)上(s)广(g)深(s)算法。。。 题目大意就是 给定
阅读全文
摘要:tarjian算法 LCA: LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点。也就是说,在两个点通往根的道路上,肯定会有公共的节点,我们就是要求找到公共的节点中,深度尽量深的点。还可以表示成另一种说法,就是如果把树看成是一个图,这找到这
阅读全文
摘要:P3379 【模板】最近公共祖先(LCA) P3379 【模板】最近公共祖先(LCA) P3379 【模板】最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树
阅读全文
摘要:算法就是将n个数序列分成块k块,每次操作时可以一次操作一块,不需要暴力挨个操作,这是分块的主要思想。 修改时,可以给每个块设置一个加法标记(就是记录这个块中元素加了多少),每次操作对每个整块直接标记,而不完整的块由于元素比较少,可以暴力修改元素的值。 查询时,何求该差不多,在块上的元素直接乘上,不完
阅读全文
摘要:载自:NotOnlySuccess的博客 【完全版】线段树 很早前写的那篇线段树专辑至今一直是本博客阅读点击量最大的一片文章,当时觉得挺自豪的,还去pku打广告,但是现在我自己都不太好意思去看那篇文章了,觉得当时的代码风格实在是太丑了,很多线段树的初学者可能就是看着这篇文章来练习的,如果不小心被我培
阅读全文
摘要:线段树模板 这是合并。可以改的,如果改成求最值,只要将赋值变成,min或max就ok了。 这是建立一颗线段树,l左端点,r右端点,rt第几条线段 改变 将第 p 个数个改为 v 访问 nowl 左端点,nowr 右端点,求此区间的 sum 值;
阅读全文
摘要:1 struct sta 2 { 3 int sz[100001]; 4 int top() 5 { 6 return sz[top]; 7 } 8 void push(int x){ 9 sz[++top]=x; 10 } 11 void pop(){ 12 if(top>0) 13 top--;
阅读全文
摘要:此算法能够实现是由异或运算的特点决定的,通过异或运算能够使数据中的某些位翻转,其他位不变。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。 代码实现:
阅读全文

浙公网安备 33010602011771号