摘要:
阅读全文
摘要:
我可以确定估计我们整个班都不知道怎么算,但是我们想知道,老师不讲,问她,她说一项项展开,吐槽一下,这是一个只会吹牛逼的组合数学老师,还是个女的……我在算法分析里看到的…… 阅读全文
摘要:
最近大三学生让我去讲课,我就恶补了最大流算法,笔者认为最重要的是让学弟学妹们入门,知道算法怎么来的?为什么是这样?理解的话提出自己的改进,然后再看看Dinic、SAP和ISAP算法…..一、概念引入 首先要先清楚最大流的含义,就是说从源点到经过的所有路径的最终到达汇点的所有流量和。 流网络G=(V... 阅读全文
摘要:
看见了海量数据去重,找到停留时间最长的IP等问题,有博友提到了Bloom Filter,我就查了查,不过首先想到的是大叔,下面就先看看大叔的风采。 一、布隆过滤器概念引入 (Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制... 阅读全文
摘要:
一、算法效率比较 题目:针对数组A和数组B,两个数组的元素内容相同,不过数组A是已经排序的,数组B是乱序的,针对数组的中位数,存在以下两组程序,比较其效率并分析原因。 int g;int main() { g = 0; for(int i = 0 ; i mid ) ... 阅读全文
摘要:
一、替换字符 题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。 将长度为1的空格替换为长度为3的“%20”,字符差的产度变长。如果允许我们开辟一个新的数组(用Java的StringBuilder这样的可... 阅读全文
摘要:
一、题目理解 题目:数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1)。注:al[i]元素是支持'a[right],则表明前半段元素中存在大于后半段的元素,那么我们... 阅读全文
摘要:
经过训练的话一眼看出来是5!/2!;我想的是先排WLCM那么是4!,5个位置,由于L左右两边的位置其实是一样的(再插入的还是L),索以结果是4*4!,这样重复了,看下图。 阅读全文
摘要:
由题意可知道r>=n,我原来想的是先取n个全排列,剩下的r-n个每个有n中选择,所以结果是n!*n^(r-n)。经满神猜测,这样是会重复的。比如说,1到5个球,ABC三个盒子,mspaint打开画板。 C盒子里先放5和先放2(345,后C方2;342后C方5),这样就重复了。 允许重复的组合是C(n+r-1,r),允... 阅读全文
摘要:
一个SX问我的,我就写了写......从2010.1.1开始,给了一组测试数据3的话输出2010.1.4星期1,所以说2010.1.1是星期五,总星期就是(day+5)%7==0?7:(day+5)%7 下面是代码......#include #include using namespace s... 阅读全文