▎前言 戳开这个链接看看,惊不惊喜,意不意外?传送门. 没想到我的博客竟然被别人据为己有了,还没办法投诉. 这年头写个博客太难了~~~ 之前小编写过了二分图的一些基础知识和匈牙利算法,今天来讲一讲km算法,若你不知道匈牙利算法,请先看下面的博客.(否则会体验极差) 传送门 ▎km算法 ☞『引入』 之前学习的匈牙利算法还记得吗?它处理的是无权二分图,长这个样子: //mspaint画出来的真粗糙 但是如果加入了权值呢?比如说是这个样子的: 现在,我们的问题变了,不再求最大匹配问题了,而是最优匹配问…
▎前言 这个东西和迭代器长的很像,但是比迭代器常见的多. 今天就来浅谈operator. ▎定义 operator是C#.C++和pascal的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++和pascal扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都是由函数实现的). 在symbian os c++中,返回const TUint&给…
▎一些用的上的东西 小编太菜了,很多东西都不会证明(主要是三角函数还没有学啊~~~). 附上链接https://blog.csdn.net/enjoy_pascal/article/details/81478582 大家可以看看这个博主的证明. 所以小编就只提供讲解了. ▎前置知识 离散傅里叶变换,传送门. ▎FFT 在之前,一个多项式是长这个样子的: 现在我们拆一下,定义两个多项式: f1(x)=a0+a2x+a4x2+……+an-2xn/2-1 f2(x)=a1+a3x+a5x2+……+an…
废话不多说,直接上题:  P4170 [CQOI2007]涂色 题目描述 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符串表示这个目标:RGBGR. 每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色.例如第一次把木版涂成RRRRR,第二次涂成RGGGR,第三次涂成RGBGR,达到目标. 用尽量少的涂色次数达到目标. 输入格式 输入仅一行,包含一个长度为n的字符串,即涂色目标.字符串中的每个字符都…
▎前言 这次要讲的HMP算法KMP算法很简单,是用于处理字符串的,之前一直以为很难,其实也不过如此(说白了就是优化一下暴力). ▎处理的问题 通常处理的问题是这样的:给定两个字符串s1和s2,其中s1是文本串,s2是匹配串,求s2在s1中出现的位置. 举个例子:(方便起见,下标从1开始)比如说s1是AABAAC,s2是BA,那么s2在s1的第3个位置处出现. ▎暴力求解 如何使用暴力求解这道题呢?我们只要分别暴力遍历两个字符串,然后分别比对当前字符,如果相等就继续比下去,如果不相等,那么s1回溯…
▎写在前面 FF算法传送门 之前我们已经学过了FF算法(全称Ford-Fulkerson算法)来找最大流,但是这种算法仍有诸多不对的地方. 其实这种算法存在着严重的效率的问题,请看下面的图: 以这个图为例,我们使用的搜索是无规则选边的,可能第一次会选这样的一条边. 那么我们继续增广. 第二次我们可能会选这样一条边: 发现什么了没有?边一直在减1,那么如果这样循环下去,的确有严重的效率问题. 但是我们明明可以通过S -> 1 -> T或S -> 2 -> T就可以到达,且不存在效率问…
废话不多说,直接上题: SP7579 YOKOF - Power Calculus 题意翻译 (略过没有营养的题干) 题目大意: 给出正整数n,若只能使用乘法或除法,输出使x经过运算(自己乘或除自己,以及乘或除运算过程中产生的中间结果)变成x^n的最少步数 输入格式: 若干行数据,每行一个正整数n,数据以单独成行的0结束 输出格式: 若干行数据,对应每行输入的n所需的步数 题目描述 Starting with x and repeatedly multiplying by x, we can c…
▎写在前面 这是一种搜索算法,小编以前总是念成A乘寻路算法,没想到一直念错. 请大家都念成A星寻路算法,不要像小编一样丢人了. ▎A*寻路算法 ☞『引入』 相信大家都或多或少的玩过一些游戏吧,那么游戏中的这些AI角色是如何实现自动追踪玩家的呢? 难道是用普通的搜索吗?这种东西似乎有点太慢了,还没有过去就已经被玩家给打趴下了. 那么我们应该找到一种快速的办法,于是A*算法便有了用武之地. ☞『定义』 A*算法,A*(A-Star)算法是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜…
小编最近装了个Mac系统,因为小编已经有笔记本可以用linux了,所以就决定在台式机上装个双系统,结果一不小心把Mac装在C盘上了,哎,说多了都是泪啊. 其实用了Mac之后才发现windows特别好用,一用开Mac瞬间就感觉变了. 唉,原来菜单是在下面的,但是现在在上面. 唉,原来退出.最小化是在右边的,现在在左边. 唉,原来我的电脑之类的在左边,现在都没有了,其他显示的东西全在右边. 唉,原来能用的快捷键都不能用了. 唉,滚轮成了反方向. 唉,------------ 废话不多说(感觉说的很多…
▎前言 小编相当的菜,这篇博客难度稍高,所以有些可能不会带有证明,博客中更多的是定义. 我们将要学到的东西: 复数 暴力多项式乘法 DFT 当然,小编之前就已经写过一篇博客了,主要讲的就是基础多项式,如果你已经会了下面的内容就无需学了,否则请进入传送门. 环和域 多项式 卷积 多项式乘法 多项式点值表示 多项式的根 单位根 ▎复数 ☞『引入』 其实小编早就应该讲复数了,但是上次忘了讲,那么这次一定要补上,好了,切入正题: 如果你信誓旦旦的在初中卷子上不判断根号下(√)的数是否是负数,那么你极有可…