摘要:
所谓快速幂,就是快速的进行幂运算 以下以求a的b次方来介绍[1] 把b转换成二进制数。 该二进制数第i位的权为 例如 11的二进制是1011 11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1 因此,我们将a¹¹转化为算 比如2002122700^2002102300这种数就不是特别好算, 阅读全文
摘要:
重点:这是一份课件整理,出自杨乐大佬之手,就此声明。 首先,搜索是一种暴力,在数据范围小的情况下,枚举所有的可能性。我们来模拟处理问题的步骤。 搜索主要分两类:dfs(深度优先搜索) :bfs(广度优先搜索) dfs的经典例题: 范式: 1.数独问题 题目梗概:给出一个 9×9 的棋盘,上面已经填好 阅读全文
摘要:
度娘定义:在数学理论中的序理论与组合数学中,Dilworth定理根据序列划分的最小数量的链描述了任何有限偏序集的宽度。其名称取自数学家Robert P. Dilworth。 反链是一种偏序集,其任意两个元素不可比;而链则是一种任意两个元素可比的偏序集。Dilworth定理说明,存在一个反链A与一个将 阅读全文
摘要:
Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是:在匹配过程中,模式串发现不匹配时,算法能跳过尽可能多的字符以进行下一步的匹配,从而提高了匹配效率。 核心思想:在匹配过程中,模式串并不被要求一定要按从左向右进行比较还是从右向左进行比较,它在发现不匹配时, 阅读全文
摘要:
题目: 题目描述 现有n个砝码,重量分别为a1,a2,a3,……,an,在去掉m个砝码后,问最多能称量出多少不同的重量(不包括0)。 输入输出格式 输入格式: 输入文件weight.in的第1行为有两个整数n和m,用空格分隔 第2行有n个正整数a1,a2,a3,……,an,表示每个砝码的重量。 输出 阅读全文
摘要:
关于线段树,其实我一开始也是很懵的,但看久了也就习惯了。 以下是我对线段树的一点理解,写得不好,也请各位看官见谅。 搜狗定义:线段树(Segment Tree)是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 定义还是很显然的。 那么线段树都能做些什么呢? 在 阅读全文
摘要:
众所周知,c++的模板库是相当强大的。 下面我来列举一些常用的,(神奇的) //部分材料选自《算法竞赛入门经典(第2版)》(刘汝佳) 一,algorithm (算法) min(a,b) 取最小值 max(a,b) 取最大值 //当然在实际应用当中可能无法直接使用,这时候我们需要自己编写函数 例: s 阅读全文