★技术
文章平均质量分 81
鸟啼西山~
我热爱编程
展开
-
树状结构之主席树
主席树搞了一个多星期TAT,,,,,,也只是大致领悟而已!!!主席树又称函数式线段树,顾名思义,也就是通过函数来实现的线段树,至于为什么叫主席树,那是因为是fotile主席创建出来的这个数据结构(其实貌似是当初主席不会划分树而自己想出来的另一个处理方式。。。。是不是很吊呢? ORZ...)不扯了,切入正题。主席树就是利用函数式编程的思想来使线段树支持询问历史版本、同时充分利用它们之间的共同转载 2018-02-08 15:29:39 · 186 阅读 · 0 评论 -
Hash详解
对于Hash,我们是怎样来处理冲突的。现在就来介绍一些经典的Hash冲突处理的方法。主要包括 (1)开放地址法 (2)拉链法 (3)再哈希法 (4)建立公共溢出区 (1)开放地址法 基本思想:当发生地址冲突时,按照某种方法继续探测Hash表中其它存储单元,直到找到空位置为止。描述如下转载 2018-02-23 10:32:56 · 547 阅读 · 0 评论 -
扩展欧几里得算法
在讲解扩展欧几里得之前我们先回顾下辗转相除法: gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a\%b)当a%b==0a%b==0a\%b==0的时候b即为所求最大公约数 好了切入正题: 简单地来说exgcd函数求解的是ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)的最小正整数解。根据数论的相关...原创 2018-02-28 18:12:45 · 269 阅读 · 0 评论 -
LaTeX 各种命令,符号
函数、符号及特殊字符声调语法效果语法效果语法效果\bar{x}latex数学符号表(2)" style="border:none; outline:0px; max-width:100%; margin:0px 0px 24px">\acute{\eta}latex数学符号表(2)" sty转载 2018-02-24 19:17:14 · 1506 阅读 · 0 评论 -
二进制小技巧
目录(?)[-]xx-1xx1xx1x-xx&(x-1)现在令 x = 10101000,接下来我们算一下 x&(x-1)的结果。首先我们回忆一下二进制减法的规则:0-0=1-1=0 1-0=1 0-1=1(向高位借位) 例如,(11000011)2-(00101101)2的算式如下: 11000011 被减数 00101101 减数转载 2018-02-25 14:10:32 · 642 阅读 · 0 评论 -
Menci's Code Style for OI
本文介绍本人在 OI 中常用的代码规范。概览所有的#include指令必须放置于整个程序开头。不应该使用using namespace std;。main函数应该放置于整个程序末尾。不应该使用int代替bool表示逻辑值。预编译指令#include中,C 标准库头文件必须使用c前缀,而不是.h后缀。#include中,C 标准库头文...转载 2018-03-24 16:01:09 · 713 阅读 · 0 评论 -
NOIP考纲总结+NOIP考前经验谈
目录(?)[-]浴谷国庆集训 算法评价与枚举考前准备秘诀NOIP前必须记住的30句话浴谷国庆集训 算法评价与枚举上图是一张时间复杂度对照表,考试的时候方便对照评价自己的算法是否会超时。仅供参考,还要考虑老年评测机的速度,算法常数等等……一些算法和时间复杂度对照数据类型和占用空间对照i转载 2018-02-12 21:34:59 · 416 阅读 · 0 评论 -
区间dp一般模板
#include #include #include #include using namespace std;int dp[1010][1010];int main(){for(int i=0;i<n;i++) dp[i][i]=........ for(int len=1;len<=n;len++)//区间长度 { for(int i=0;转载 2018-01-30 14:44:29 · 403 阅读 · 0 评论 -
线段树详解 (原理,实现与应用)
线段树详解By 岩之痕目录:一:综述二:原理三:递归实现四:非递归原理五:非递归实现六:线段树解题模型七:扫描线八:可持久化 (主席树)九:练习题一:综述假设有编号从1到n的n个点,每个点都存了一些信息,用[L,R]表示下标从L到R的这转载 2018-02-05 13:52:19 · 345 阅读 · 0 评论 -
Codeforces科学刷题指南,一图一表便够了
简要介绍如何科学地刷算法题,来提高自己解决问题的能力,并利用爬虫抓取Codeforces的题库,来分析题目难度以及算法分类的关系无论做什么事,多尝试、找套路、然后刻意练习都是至关重要的。对信息科学竞赛(Olympiad in Informatics)爱好者来说,找套路的关键就是多刷题。然而题海茫茫,单以Codeforces来说,截止2017年1月3日,总共有3206道题。换言之,如转载 2018-02-01 10:14:30 · 37878 阅读 · 3 评论 -
100层楼扔两个鸡蛋的问题
两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。 最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?================================================= 对于这个问题,如果从编程角度而言,最转载 2018-02-01 15:46:05 · 288 阅读 · 0 评论 -
容斥原理(翻译)
这篇文章发表于http://e-maxx.ru/algo/inclusion_exclusion_principle,原文是俄语的。由于文章确实很实用,而且鉴于国内俄文资料翻译的匮乏,我下决心将其翻译之。由于俄语对我来说如同乱码,而用Google直接翻译中文的话又变得面目全非,所以只能先用Google翻译成英语,再反复读,慢慢理解英语的意思,实在是弄得我头昏脑胀。因此在理解文章意思然后翻译成中文的转载 2018-02-03 08:06:11 · 304 阅读 · 2 评论 -
Lucas定理与大组合数的取模
首先给出这个Lucas定理:A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0]) modp同余即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p)转载 2018-02-04 13:01:53 · 351 阅读 · 0 评论 -
C++ string的用法和例子
目录(?)[-]使用场合声明和初始化方法声明初始化字符串处理substr操作insert操作erase操作append和replace操作string的搜索操作find和rfind函数find_of函数比较与转换compare函数数值转换使用场合:string是C++标准库的一个重要的部分,主要用于字符串处转载 2018-01-29 09:15:16 · 161 阅读 · 0 评论 -
C++容器之List容器初学
List简介² list是一个双向链表容器,可高效地进行插入删除元素。² list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err)² #include list对象的默认构造list采用采用模板类实现,对象的默认构造形式:list lstT; 如:list lstInt;转载 2018-02-09 19:11:04 · 172 阅读 · 0 评论 -
异或运算的神奇运用
Xor运算是位运算的一种,和And、Or运算类似,假如a、b都是布尔变量,则a Xor b被定义为:a、b相异则为真(所以中文名字叫做异或),a、b相同则为假。1其真值表为:1 Xor 0 = 10 Xor 1 = 11 Xor 1 = 00 Xor 0 = 01234众所周知,位运算也可以用于两个数之间,其定义就是把这两个数转化为二进制,然后一位一位的进行位运算。比转载 2018-03-26 18:35:00 · 1543 阅读 · 0 评论