2016
文章平均质量分 76
zhouzhenghuac
这个作者很懒,什么都没留下…
展开
-
2016-8-5夏令营总结(状压DP)
今天我们在夏令营主要学习了状压DP的知识。 状压DP是指把DP状态从多维压缩到少维,通常使用二进制的01表示是否操作。原创 2016-08-06 09:00:47 · 344 阅读 · 0 评论 -
2016-8-4夏令营总结
今天是我们夏令营入营的第一天,我们主要是讲了一下学过的算法,然后就是入营测试了。第一题:音阶题目大意: 给出一串旋律,判断是a小调还是C大调。判断方法,ADE分为a小调,CFG分为C大调。把这串旋律的每个音节的第一个字母取出,看一下是分为a小调的多还是C大调的多(哪个多就是哪种调)如果一样多,那么看旋律的最后一个音是a小调就是a小调,否则就是C大调。 题目分析: 就是找旋律中开头字母和每一个音原创 2016-08-05 08:44:00 · 541 阅读 · 0 评论 -
高斯消元法解方程--gauss
5月15号的创新班,我们做了两道题,还讲了一个新知识——高斯消元法。 高斯消元法其实就是我们学校里学的加减消元法,也就是通过两条式子通过乘法使两条方程的有一个相同的项,然后两条方程相减(加)来消去未知数。 看个例子吧: 原理就是这样了。 但是,我们要怎么用编程实现高斯消元法呢? 我们看一下: 但是会有一些特殊情况,比如有多组解,无解,或者是在编程中出现的一些小问题。 所以我们先用一个数组存下整原创 2016-08-04 20:25:25 · 996 阅读 · 0 评论 -
2016-8-6夏令营总结(kmp,回文串,扩展kmp)
今天我们用了一个上午学习了字符串中的kmp,最长回文子串和扩展kmp算法,下午在编相应的裸题。KMP算法我们有一个长度为n的字符串S,长度为m的字符串T,问T在S里出现了几次? 这题是我们平时最经常遇到的字符串问题。这题暴力搜索的话要o(nm)。(当然用hash只需要o(n))我们暴力搜索时会枚举S每一位为开头,然后比较S[i…i+m-1[与T[1…m]为匹配,之后又继续往后推一位后再次匹配。(如原创 2016-08-06 22:02:53 · 1155 阅读 · 0 评论 -
2016-8-7夏令营总结(后缀数组+RMQ)
8月7号,我们学习了字符串的后缀数组的知识。后缀数组是一种十分强大的算法,是一个把这个串的所有后缀排个序的数组。 后缀数组的代码量十分的大,可以分为几个部分:倍增算法、基数排序、求最长公共前缀与RMQ。定义首先要弄清楚,后缀数组是什么? 后缀数组就是给一个字符串的每一个后缀排个序的数组。(后缀就是一个字符串的某一位开头一直到结尾的子串)倍增算法我们先定义两个数组rank[]和sa[]。rank[原创 2016-08-11 19:38:29 · 485 阅读 · 0 评论 -
2016-8-8夏令营总结(字母树)
今天我们只学了一个十分简单的内容——字母树。 如果给出n个字符串(所有字符串总长度<=2000000),问有多少个不是其它的字符串的前缀。 这题我们硬做的话,就要o(n^2*当前字符串长度) 我们能可以用一种比较巧妙的方法,就是把这些字符串放进树里面。 我们依次将右边的字符串放进去。先看第一个:我们从root出发,在第一个字符串s[1]中搜到个a,看看这个点,原来有没有a的分支,有就搜a原创 2016-08-13 09:37:00 · 461 阅读 · 0 评论 -
2016-8-9夏令营总结(网络流—增广路+dinic)
今天我们学习了一个新的一个算法:网络流。 网络流其实就是最大流。在一个有向图中,每条边的边权就是每条边的能通过的最大流量,问从源点到汇点的最大流量是多少? 我们看看这个图,源点是s,汇点是t。如果我们一开始还不会网络流算法的话,或许我们会想到的是:每次都找一条容量最大的路径。比如我们先把1-3-4的路径搜了,然后把他们的容量全部减去20,然后再搜最大的1-2-4,把容量减去20,然后1-2原创 2016-08-14 16:44:41 · 549 阅读 · 0 评论