
学习知识up
文章平均质量分 87
Dream_Lolita
退役OIer,转战ACM
展开
-
【高科技数学原理】矩阵乘法
首先我们要了解一下矩阵乘法: 首先来讲一下矩阵的定义,其实就是按照长方形排列的实数或复数集合,在编程语言中可以看做是二维数组咯。一般我们可以叫它Matrix。然后是矩阵的运算,我们当前应接触的有四种:加、减、数乘、乘原创 2016-08-15 11:17:38 · 984 阅读 · 1 评论 -
【学习】莫比乌斯反演入门
莫比乌斯反演入门原创 2018-01-02 21:39:49 · 544 阅读 · 0 评论 -
【QBXT】学习笔记——Day7分块
又是蛇皮的一天原创 2018-01-21 19:27:16 · 428 阅读 · 3 评论 -
【学习笔记】差分约束系统+可并堆
这两个东西没什么关系,纯属凑篇幅差分约束系统差分约束系统就是给出一些形如x-y这个问题的神奇之处是可以转化为图论的最短路问题。所以我们需要用到的知识: 最短路径(主要是spfa)================分割线================其实看到不等式,我们也可以想起最短路中的一个叫松弛操作的东西:d[u]+w(u,v)d[v]d[u]+w(u,v)原创 2018-01-04 21:44:54 · 397 阅读 · 0 评论 -
【QBXT】学习笔记——Day8分治
不爽的一天QAQ原创 2018-01-22 22:03:09 · 733 阅读 · 0 评论 -
【QBXT】学习笔记——Day9数学
今天要讲数学,莫名慌张TAT。 一看目录确实是很难很难啊。======================分割线=====================Day 9 1.23AM先开始讲了极限,这一部分的内容在高等数学上就有,在此不多讲。 写一些OI中会”常用“的结论?? lim+∞(1+1n)n=lim+∞(1−1n)n=e\lim_{+\infty}(1+\frac 1 n)原创 2018-01-23 19:58:28 · 877 阅读 · 0 评论 -
【QBXT】学习笔记——Day10数学
今天还是数学。 依旧十分慌张。 然而有些内容昨晚无聊的时候讲了。======================分割线========================今天因为来的比较晚,所以前面的内容多用图片辣。 后面有机会再写公式。引入题:从1到n" role="presentation">nnn中选择最多的数,使它们两两互质,问最多能选择多少个。 好无聊的题,去后一半就行了,因原创 2018-01-25 00:15:57 · 1081 阅读 · 1 评论 -
【QBXT】学习笔记——Day1/2数据结构
没能力去WC什么的只能来清北学堂了。 因为没什么空闲时间,所以就只能在上课做笔记贴在这了。 这两天刚开始觉得too easy,不过后来讲的题目挺有趣的,做法很巧妙。 其实还是做题太少了,太弱了。=======================分割线======================== 1.14并没有做笔记,因为较为简单,或者说忘记了。1.15AM随手写一点笔记吧。原创 2018-01-17 20:41:44 · 356 阅读 · 0 评论 -
【QBXT】学习笔记——Day11网络流
网络流,真是一个有趣的课题呢。 经历了数学的折磨后,感觉世界真美好。珍爱生命,远离数论====================分割线========================Day11 1.25AM网络流的基本操作在此也没什么好说的。 要掌握的应该也就是dinic或者SAP(ISAP)+费用流算法。 主要难点还是在建模上。接下来就是一堆题目。POJ2391 Ombr原创 2018-01-25 20:13:20 · 820 阅读 · 0 评论 -
【QBXT】学习笔记——Day5dp
QBXT Day5dp专题原创 2018-01-18 21:09:27 · 364 阅读 · 2 评论 -
【QBXT】学习笔记——Day12杂题
带着悲伤的心情来上今天的课TAT 今天都是杂题,下午又是要考试了。 没什么心情考试怕不是要爆零。然后下午果断RE了。原创 2018-01-26 21:46:11 · 333 阅读 · 0 评论 -
【QBXT】学习笔记——Day13计算几何
啊,计算几何好难啊。 估计今天要爆炸了,写一堆笔记。 虽然计算几何在OI里应该考得不多,不过还是要看一看0.0Day13 1.27AM首先是一些注意事项。对于scanf/printf来说,long double 类型不能直接读入,要用%lf读入double,然后再将double的变量赋值给long double的变量。输出也不能直接输出(windows下是不能的)ldb实际情况原创 2018-01-27 19:44:26 · 472 阅读 · 0 评论 -
【QBXT】学习笔记——Day6树上问题
今天这个专题上的真是一脸mengbi啊。 讲的各种用法十分玄学,听懂的不是很多。 不过把点分治好好看了看,还切掉了一道点分+扩欧的题。 对我来说已经是很神的题了啊,居然没有调试很久就过掉了233.=====================分割线=====================Day6 1.19AM树上问题啊树上问题啊,上午讲树剖+点分。 刚开始还好,然后就昏昏欲睡原创 2018-01-19 20:20:03 · 750 阅读 · 1 评论 -
【QBXT】学习笔记——Day3/4图论+dp
继续上传一波笔记吧。Day3 1.16AM今天讲图论,以习题为主。开篇水题: 给一幅图,若删去一个点后变成一棵树,则这个点合法。问哪些点合法。 思路根据树的性质:这个点不是割点,m-这个点的度数=n-2CF666B:给定边权为1的有向图,求四个不同点ABCD使得A->B+B->C+C->D最大。 B题还是很水的,nm很小,预处理两点间的dis,然后枚举B...原创 2018-01-17 20:47:15 · 726 阅读 · 1 评论 -
【解题报告】2016.8.5·Day2·状压DP
今天的练习是二选一,最短路和DP,于是我们果断选DP,毕竟DP的内容很多我们都不大熟练,而最短路的内容至少我们还有过练习。 感觉对于状压并不陌生但又有点boom~,主要是刚开始时对于如何转移还是有不懂,不过在练了两题加上ppt内容理解的情况下,对于这玩意的简单运用还是可以的,T3很容易就AC了,只是T4感觉好高深!! 那么就这样开始了。原创 2016-08-05 21:35:13 · 520 阅读 · 0 评论 -
【算法】(扩展)KMP+manacher
今天头脑风暴……然后就爆炸了! 讲字符串,图tm的坑,很难懂,然而还是可以懂。好吧也不是很难懂反正就是这样的。原创 2016-08-06 22:01:33 · 626 阅读 · 0 评论 -
【图论】强连通分量和拓扑排序
说实话,这个标题是我实在不知道起什么名字了,强拓其实比较简单,篇幅也会短一点……原创 2016-08-15 08:47:28 · 1215 阅读 · 0 评论 -
【算法】网络流之最大流~~
流啊流~流啊流~,流成最大流~ 网络流是个是个神奇的玩意~ 今天先写一个最大流的博文记录咯。原创 2016-08-11 21:31:11 · 3482 阅读 · 0 评论 -
【数据结构】后缀数组
什么是后缀数组啊~就是把一个字符串的所有后缀字串排个序的数组。现在就来讲后缀数组啦~原创 2016-08-08 11:36:07 · 506 阅读 · 0 评论 -
【数据结构】线段树
啦啦啦啦啦啦线段树是个好东西- - 好吧并没有什么好的- -但貌似还是很好啊- - 线段树就是一棵树! 顾名思义(又是这个词),就是求关于一段的某些什么什么东西。比如区间最大值啊什么的。引用百科知识:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a原创 2016-08-08 09:33:06 · 361 阅读 · 0 评论 -
【数据结构】树状数组
什么是树状数组?顾名思义,就是一个数组,但是却可以看成是一棵树,它以树的方式来存储数据。 如果我们给定一个数组,要求里面全部数据的和,一般来说会想到累加,但其时间复杂度是o(n),有的情况下,当询问多次时不能满足我们的需求。也有的人说用前缀和不就好了,但如果遇上要某个数加上一个数据呢?这样显然是不行的,我们就要用到树状数组了。 那我们一定要用这张图了: 那么观察存储方式,原创 2016-08-08 09:33:03 · 346 阅读 · 0 评论 -
【转载】最小生成树
首先给定一个连通图P={V,E},其中V是点集,E是边集。那么,最小生成树就是一个图P'={V,E'},使得P'是联通的,而且:E'上每一条边的边的权值之和最小。也就是说最小。 最小生成树有着很广泛的应用。比如说有若干个点,然后我们需要将这些点用最小的费用连接起来,比如说网线的连接,每一条网线的铺设费用就是相应的边权,那么我们做一个最小生成树就可以选择若干条边,将这个网线的系统连通。 但是,其实原创 2016-08-08 09:33:01 · 579 阅读 · 0 评论 -
【最短路径】Floyd算法
我们刚刚做了关于图最短路径的题目,学了几个算法。但这些算法都是从单源出发,找到某点到源的最短距离。但是如果我们要求任意两点之间的最短距离呢?这时我们就要用到Floyd算法了! 这是一个o(n^3)的算法,但貌似最优的算法也是这个了。 这个算法的核心在于,我们知道有两个点i和j,那么我们假设i到j之间要经过一个点k,那么我们可以比较dis[i,j]和dis[i,k]+dis[k,j]的值原创 2016-08-08 09:32:58 · 466 阅读 · 0 评论 -
【kuandui】二叉堆
恩,虽然二叉堆编的我头疼,但......所以我还是决定讲少点。 二叉堆是什么呢?其实就是一个数组......以前我们学过胜者树,这东西和胜者树差不多,只是少了最下面一层,然后求最大最小值时用交换罢了。 就像: 好吧我承认画工捉急,能看懂就行。就是这样的。 那么我们如何取出一个值呢? 我们可以把要取出的这个值与最后一个值交换,然后维护一下二叉堆! such so原创 2016-08-08 09:32:55 · 380 阅读 · 0 评论 -
【转载】树状数组(简单)
树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值 #include#include#define MAXN 100000using namespace std;int Lowbit(int);void Change(int,int);int原创 2016-08-08 09:32:52 · 208 阅读 · 0 评论 -
【高级】二进制与位运算
今天来讲讲二进制与位运算!二进制相信大家都知道,就是只有0和1,逢2进1。那么位运算又是什么呢?程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进原创 2016-08-08 09:31:37 · 499 阅读 · 0 评论 -
【IO板子】fread和frwite输出输出整数字符串
【前言】今天比赛的时候被200M的输出击败了,于是抄+改了一下快读的板子。【参考代码】#include<bits/stdc++.h>using namespace std;namespace IO{ const int LEN=100000; struct IO { char ibuf[LEN],obuf[LEN],*ih=ibuf+LEN,*oh=obuf,*...原创 2019-04-04 15:26:01 · 546 阅读 · 2 评论