08 2020 档案

摘要:这题是卡特兰数的一道裸题。 利用这一道题介绍一下什么是卡特兰数(Catalan) ###卡特兰数的定义式: $ h_n=\left{\begin 1 & n=1,0 \ \sum_^h_kh_& n> 1 \end\right. $ 由于这个定义式太复杂。平时我们很难用到。 ###卡特兰数的推出式: 阅读全文
posted @ 2020-08-18 17:26 x_miracle 阅读(175) 评论(0) 推荐(0)
摘要:这篇文章是从我的另外一篇文章:基础算法:贪心中分离出来的。 因为证明过程比较长。。。 详细内容欢迎看原文章。 设集合$A$中有$n$个元素,将其中每个元素进行编号为$a_x$ \(\left ( x\in \left [ 1,n \right ] \right )\) : \[ \begin{ali 阅读全文
posted @ 2020-08-18 13:15 x_miracle 阅读(1404) 评论(2) 推荐(1)
摘要:###贪心算法的定义与性质: 贪心算法是通过做出一系列 选择 来求出问题的最优解。在每一个决策点,它作出在 当前看来最好 的选择。 (也就是说贪心算法并 不从整体最优上加以考虑 ,它所作出的选择只是在某种意义上的 局部最优选择 。大概也是贪心算法名字的由来) (贪心算法进行决策时, 可能依赖于以往所 阅读全文
posted @ 2020-08-17 10:51 x_miracle 阅读(466) 评论(0) 推荐(1)
摘要:#include <bits/stdc++.h> long long binaryPow(long long a,long long b,long long m){ if(b == 0) return 1; else if(b%2==1) return a*binaryPow(a,b-1,m)%m; 阅读全文
posted @ 2020-08-09 09:35 x_miracle 阅读(133) 评论(0) 推荐(0)
摘要:比较函数分为两种: 1.普通的比较函数,以全局函数的形式呈现。 2.结构体内嵌比较函数。 相对于普通的比较函数,内嵌式的速度更快,而且如果存在多种结构的比较,内嵌式也显得更清爽。所以,这里主要讲后者。 形式: (优先队列) struct node { int d,pos; bool operator 阅读全文
posted @ 2020-08-09 09:26 x_miracle 阅读(598) 评论(0) 推荐(0)
摘要:P2176 [USACO11DEC]RoadBlock S / [USACO14FEB]Roadblock G/S 好题,这道题有许多值得记录的细节。 在链式前向星中,记录邻接表边权的编号。 这让我对邻接表结构有了更深的理解,原本以为,变量cnt的意义只是一个计数器,而当建图的过程完成后,cnt的历 阅读全文
posted @ 2020-08-08 09:37 x_miracle 阅读(199) 评论(0) 推荐(0)
摘要:二分查找(Binary Search) 二分查找也称折半查找(Binary Search),相对于普通的顺序查找,二分查找具有极好的效率。 **使用条件:**要求线性表必须采用 顺序存储结构 ,而且表中元素按关键字 有序排列 。 时间复杂度:$ \Theta(logn) $ 查找过程: 首先,假设表 阅读全文
posted @ 2020-08-04 11:44 x_miracle 阅读(166) 评论(0) 推荐(0)
摘要:[USACO08NOV]Cheering up the Cow G 核心算法:Kruskal 题目中说:“删去尽可能多的边”。就是指保留一棵最小生成树。 构图: 我们取一小段来分析一下: (可以把这个理解为单位元) 按照题目中的意思,走过这一张的花费为: C[1] + L + C[2] + L + 阅读全文
posted @ 2020-08-01 21:25 x_miracle 阅读(133) 评论(0) 推荐(0)