其他知识的一些小结
文章平均质量分 88
Hypoc_
这个作者很懒,什么都没留下…
展开
-
偏序关系&Dilworth定理
偏序关系先介绍一些形式上的定义。定义一个作用在集合 SSS 上的二元关系 ≤\leq≤(并不是指小于等于,但是用这个符号比较形象,因为 ≤\leq≤ 自身就是广泛满足偏序关系的),若 SSS 满足:自反性: 对于任意 x∈Sx\in Sx∈S,有 x≤xx\leq xx≤x。反对称性: 如果有 x≤y,y≤xx\leq y,y\leq xx≤y,y≤x,那么有 x=yx=yx=y。传递性: 如果有 x≤y,y≤zx\leq y,y\leq zx≤y,y≤z,那么有 x≤zx\leq zx≤z。原创 2020-12-01 07:26:44 · 1485 阅读 · 0 评论 -
分拆数与五边形数小结
废话据说是GDOI普及的冷门东西qwq?然后NOI Online1又给大家普及了一次(NOI Online不愧为算法普及大赛),甚至以模板题出了出来……再不学就要被机房的潮流淹没了……五边形数原创 2020-06-03 08:29:18 · 385 阅读 · 2 评论 -
自然常数e的一点知识
定义e=limx→∞(1+1x)xe=\lim_{x\to \infty}(1+\frac 1 x)^xe=x→∞lim(1+x1)x有一个很生动的比喻,将 111 块钱存到银行,这个银行年利率为 100%100\%100%,即一年后就有了 222 块钱。但是这个银行允许随时取钱,那么如果在六个月时就取出来,可以得到 1+612×100%×1=1.51+\frac 6 {12}\times 100\%\times 1=1.51+126×100%×1=1.5 元,此时再存进去,六个月后再取出原创 2020-05-22 15:03:54 · 934 阅读 · 0 评论 -
bitset优化传递闭包
这是在学 2−SAT2-SAT2−SAT 的时候突然看到的一个东西,就顺便学了一下。先了解一下传递闭包的定义,来一张网上广泛用到的图:说白了就是 c[i][j]c[i][j]c[i][j] 表示 iii 能不能到 jjj,能为 111,不能为 000。显然可以用 floydfloydfloyd 来求这个东西,时间复杂度为 O(n3)O(n^3)O(n3)。由于这个东西只需要记录 0/10/10/1,所以可以用 bitsetbitsetbitset 来优化,原本一个 boolboolbool 占用一原创 2020-05-13 12:24:36 · 947 阅读 · 0 评论 -
行列式入门
定义这是一个函数,符号为 detdetdet,施加于大小为 n×nn\times nn×n 的矩阵。计算方式首先,我们定义 τ\tauτ 表示一个数列的逆序数(在 OIOIOI 界咱们一般叫逆序对数),比如 τ(3,1,2)=2\tau(3,1,2)=2τ(3,1,2)=2。而行列式的计算方式就是:从矩阵中拿出 nnn 个元素,要求他们都在不同的行和列上(换句话说,每行取一个元素,要求任意...原创 2020-03-17 16:51:45 · 1464 阅读 · 0 评论 -
Cayley公式及Prüfer编码详解
介绍CayleyCayleyCayley 公式是用来求这样一个问题的:问 nnn 个有标号点能组成多少棵不同的树。注意:有标号意味着每个点之间是不同的。而 Pru¨ferPr\ddot uferPru¨fer 编码是一种对无根树的编码方式,它可以保证每一棵无根树都对应唯一一个 Pru¨ferPr\ddot uferPru¨fer 编码,而每一个 Pru¨ferPr\ddot uferPru¨...原创 2019-10-12 11:22:46 · 1147 阅读 · 2 评论 -
约瑟夫问题详解
约瑟夫问题:有n个人,编号为1~n,从第一个人开始报数,从1开始报,报到m的人会死掉,然后从第m+1个人开始,重复以上过程。在死了n-1个人后,问最后一个人的编号是?暴力题目传送门暴力都想不到就真是让人折服了。暴力的话大模拟即可,不是重点,贴份代码就算了。#include <cstdio>int n,k;struct node{ int x; node *ne...原创 2019-09-13 14:06:33 · 31252 阅读 · 17 评论 -
除法分块小结
求∑i=1n⌊ni⌋\sum_{i=1}^n \lfloor \frac n i \rfloor∑i=1n⌊in⌋O(n)O(n)O(n)的做法很显然,但是一般n会很大,于是有了除法分块。对于一段连续的iii,⌊ni⌋\lfloor \frac n i \rfloor⌊in⌋可能是相同的,比如说当iii的值在区间[6,10][6,10][6,10]时,⌊ni⌋=1\lfloor \f...原创 2019-08-28 19:35:56 · 848 阅读 · 0 评论 -
逆序对
逆序对这个东西的定义就是:在一列数中,若i<j且a[i]>a[j],那么(i,j)就称为逆序对。经典的问题就是:问在一列数中有多少个逆序对这里为大家讲解一个用树状数组的做法首先,用一个vis数组来表示每个数是否出现过,然后我们从数列的最后一个数开始做起,那么很容易可以想到对于每一个i有多少个j与它是逆序对,也就是vis[1]~vis[a[i]-1]的和,那么这个和也就可以用...原创 2018-04-25 14:55:05 · 337 阅读 · 0 评论 -
关于原码,反码和补码
原码这个东西比其他两个都好理解,因为正数和负数的原码都是一样的转换方法,就是一个数转成二进制之后的数,其中,最高位是符号位,正数的符号位为0,负数为1,比如-13,在字长为8的处理器中会表示成10001101。反码这个东西在正数和负数中就不一样了,正数的反码就是它的原码,而负数的反码是它的原码将全部位取反之后的数(除了符号位),就比如上面的那个-13,原码是10001101,则他的反码...原创 2018-04-11 14:32:36 · 513 阅读 · 0 评论