06 2020 档案

摘要:数字三角问题 有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数,如图: 从第一行的数开始,每一次可以往左下或右下走一格,知道走到最下行,把沿途经过的数全部加起来,如何走才能使得到的这个和尽量大? ######分析 采用$dfs$暴搜每次把每个点能经过的路 阅读全文
posted @ 2020-06-15 23:09 私の目を見て 阅读(188) 评论(0) 推荐(0)
摘要:食物链都会数吧!从最低端到达最高端称为一条食物链。(高中生物题),现在有m条关系和n种动物,数关系图中有多少条食物链。 HAOI2016食物链 ####思路 食物链就是找出哪些点的优先度比较低,而拓扑排序正是比较点与点出现前后关系的算法,所以采用拓扑算法。 其中m种关系比较多,所以采用结构体的方法存 阅读全文
posted @ 2020-06-15 23:08 私の目を見て 阅读(292) 评论(0) 推荐(0)
摘要:#三角形外接圆圆心 Where is the little Jgshining? #include<bits/stdc++.h> using namespace std; double xx1,yy1,xx2,yy2,xx3,yy3; int main( ) { int t; scanf("%d", 阅读全文
posted @ 2020-06-15 23:06 私の目を見て 阅读(369) 评论(0) 推荐(0)
摘要:##定义 #####欧拉通路 图中行遍所有顶点且恰好经过图中的每条边一次的通路. 顶点可以重复经过,边只经过一次。 #####欧拉回路 图中行遍所有顶点且恰好经过图中的每条边一次的回路. 顶点可以重复经过,边只经过一次。 #####欧拉图: 有欧拉回路的图 #####半欧拉图 有欧拉通路而无欧拉回路 阅读全文
posted @ 2020-06-15 22:56 私の目を見て 阅读(789) 评论(0) 推荐(0)
摘要:欧拉函数 欧拉函数$φ(n)(n∈N ^∗)$是小于等于$n$ 的正整数中与 \(n\) 互质的数的个数。 欧拉定理 对于任意互素的 \(a\) 和 \(n\),有$a^{φ(n)}≡1\ (mod\ \ n)$ 参考链接 费马小定理 当$p$为质数,则 \(a^{p-1}≡1\ (mod \ \ 阅读全文
posted @ 2020-06-15 22:54 私の目を見て 阅读(323) 评论(0) 推荐(0)
摘要:大数取模 ll ans=0; for(int i=0; i<strlen(s); i++) { ans=(ans*10+s[i]-'0')%mod; } 快速幂 计算一个数$a$的$n$次幂即$a^n$ 快速幂的思想就是将指数$n$转化成二进制再进行求解 \(eg:a^{11}\) 其中指数$(11 阅读全文
posted @ 2020-06-15 22:06 私の目を見て 阅读(228) 评论(0) 推荐(0)
摘要:分层图最短路是指在可以进行分层图的图上解决最短路问题。分层图:可以理解为有多个平行的图。 图片来源 ####这个图的意思是第0层是原始的图,上面的1—k层都是第0层的映射。 层内(同一层),仍然是u->v的关系,权值为w. 层间(不同层),也是u->v的关系,但权值是0, 比如图中的$S_0$与$a 阅读全文
posted @ 2020-06-15 21:58 私の目を見て 阅读(190) 评论(0) 推荐(0)
摘要:KM算法用来求二分图最大权完美匹配 一般对KM算法的描述,基本上可以概括成以下几个步骤: (1) 初始化可行标杆 (2) 用匈牙利算法寻找完备匹配 (3) 若未找到完备匹配则修改可行标杆 (4) 重复(2)(3)直到找到相等子图的完备匹配 二分图匹配里面我们找最大边进行连边! 但是遇到某个点被匹配了 阅读全文
posted @ 2020-06-14 16:26 私の目を見て 阅读(688) 评论(0) 推荐(0)
摘要:###最小点覆盖 #####概念: 用一个点集(点集的数量尽可能小),让每条边都至少和其中一个点关联(边的两端有一端在点集里就算有关联) 最小点覆盖是覆盖所有的边 最小点覆盖==最大边匹配(匈牙利算法) ###最小边覆盖 #####概念: 用一个边集(边集的数量尽可能小),让每一个点最少于其中的一条 阅读全文
posted @ 2020-06-14 16:23 私の目を見て 阅读(221) 评论(0) 推荐(0)
摘要:####二分图定义: 顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。同一个子集中没有两个点直接相连。 图中没有含奇数条边的环。任何无回路的的图均是二分图。 ####二分图的判定: 如图一个二分图FIG.1都可以分成两个互不相交的 阅读全文
posted @ 2020-06-14 16:21 私の目を見て 阅读(227) 评论(0) 推荐(0)
摘要:#多边形面积 改革春风吹满地 #include<bits/stdc++.h> using namespace std; struct point { double x,y; }node[10001]; double cosr(point a,point b,point c) { return (a. 阅读全文
posted @ 2020-06-14 16:17 私の目を見て 阅读(192) 评论(0) 推荐(0)
摘要:##利用单调栈,可以找到从左/右遍历第一个比它小/大的元素的位置. #####假设有一个单调栈S和一个数组a[5]; #####有一个记录数组L[5],序号由1-5,表示a[i]向左遍历第一个比a[i]小的数的下标; a[5]:3 5 7 4 6 当a[1]=3压入栈中,是空栈,L[1]=0; 当a 阅读全文
posted @ 2020-06-14 16:15 私の目を見て 阅读(351) 评论(0) 推荐(0)
摘要:##单调栈 向右寻找比自己大的第一个数 poj 3250 Bad Hair Day #include<iostream> #include<cstdio> #include<stack> #define M 80100 #define ll long long using namespace std 阅读全文
posted @ 2020-06-14 16:13 私の目を見て 阅读(150) 评论(0) 推荐(0)
摘要:最小生成树大家都会,但是次小生成树呢?生成树算法在计算机运用广泛啊!!!! 先来讲一下定义: 设 $G=(V,E,w)$是连通的无向图,\(T\) 是图$G$ 的一棵最小生成树。如果有另一棵树$T1$,满足不存在(找不到)树$T’$,\(W_{T’}<W_{T1}\),则称T1是图G的次小生成树。( 阅读全文
posted @ 2020-06-14 16:06 私の目を見て 阅读(180) 评论(0) 推荐(0)
摘要:##次短路 #####(一) 从$u$(父节点)到$v$(子节点)次短路直接更新(通常在最短路已经确定的情况下才进行直接更新次短路) 从$u$(父节点)到$v$(子节点)最短路不更新,但是距离比次短路距离小,更新次短路 从$u$(父节点)到$v$(子节点)最短路更新,原来的最短路就成了次短路 数组$ 阅读全文
posted @ 2020-06-14 16:00 私の目を見て 阅读(303) 评论(0) 推荐(0)
摘要:Power Tower ###题意: 一个序列有$n$个数,$q$次询问,将$l$到$r$这个区间的数叠起来模上$M$ ###思路: 欧拉降幂 #include<bits/stdc++.h> #define ll long long using namespace std; map<ll,ll>mp 阅读全文
posted @ 2020-06-14 15:55 私の目を見て 阅读(186) 评论(0) 推荐(0)
摘要:Caesar Cipher ####题意: 凯撒密码加密,输出对应的密文的明文 ####思路: 加密是将明文向右移位,那么解密就是将密文向左移位。 注意:A向左一位是Z #include<bits/stdc++.h> #define ll long long using namespace std; 阅读全文
posted @ 2020-06-14 15:51 私の目を見て 阅读(185) 评论(0) 推荐(0)
摘要:####祭祀river ####题意: 在有向无环图中找尽可能多的点使这些点任意两点都不能通过已知的边到达对方(最大反链(点集)) (区别最大点独立集) ####思路: 最大反链==最小可相交路径覆盖 #include<bits/stdc++.h> using namespace std; int 阅读全文
posted @ 2020-06-14 15:48 私の目を見て 阅读(165) 评论(0) 推荐(0)
摘要:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有模式树(字典树)Trie和KMP模式匹配算法的基础知识。KMP算法是 阅读全文
posted @ 2020-06-14 15:46 私の目を見て 阅读(164) 评论(0) 推荐(0)
摘要:###阶 定义: 设$p>1,gcd(a,p)==1$,那么使得$a^r≡1\ (mod\ \ \ p)$成立的最小正整数$r$就称为$a$模$p$的阶.记作$ord_p(a)$ 并且$ord_p(a)$总是可以整除$φ(p)$即$φ(p)$是$ord_p(a)$ \(\because a^{φ(p 阅读全文
posted @ 2020-06-14 15:44 私の目を見て 阅读(509) 评论(0) 推荐(0)
摘要:记:\(Z_m=\{0,1,2,...,m-1\}\) **定义:**设$A$是定义在集合$Z_m$上的$n$阶方阵,若存在一个定义在$Z_m$上的方阵$B$,使得$AB=BA=E(mod\ \ p)$ 则称$A$模$p$可逆,$B$为A的模$p$逆矩阵,记为 \(B=A^{-1}(mod\ \ p 阅读全文
posted @ 2020-06-14 15:41 私の目を見て 阅读(2748) 评论(0) 推荐(0)
摘要:####$Merkle-Hellman$背包密码体制 加密: 选择任何一个超递增集\(\{s_1,s_2,...,s_n\}\)。陷门有任意大于$\sum_is_i$的素数$p$和任意小于$p$的整数$a$组成,这两个数和集合${s_1,s_2,...,s_n}\(都是保密的。公开的整数集是\){t 阅读全文
posted @ 2020-06-14 15:36 私の目を見て 阅读(474) 评论(0) 推荐(0)
摘要:###Elgamal: 加密 随机选择一个质数$p$,并且求出模$p$情况下的本原根\(\alpha\),并将$p,\alpha$公开 随机选择一个整数$a$,作为私钥,并对$a$保密。 计算出公钥$A=\alpha^(\ \ \ mod\ \ \ p)$ 对于一段明文$x$,随机选择一个整数$b$ 阅读全文
posted @ 2020-06-14 13:05 私の目を見て 阅读(637) 评论(0) 推荐(0)
摘要:题意 有n个人,每个人的重量为ci,每条船的最大承重为k,每条船最多乘坐两个人。在保证全部人上船的前提下,最少要多少条船 解题思路: 先排序,从最大的开始上船,若船还有空间就与最小的重量进行比较,若空间大于或等于最小的重量,那么这条船还可以装,若剩余的空间小于最小的重量,意味着这个最大的就单独一条船 阅读全文
posted @ 2020-06-10 22:00 私の目を見て 阅读(216) 评论(0) 推荐(0)