集训夏令营
文章平均质量分 77
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 评论 -
宽度搜索
7-28 宽度搜索 首先再次说明一下宽度搜索的概念与原理。宽度搜索,就是宽度优先搜索(也叫广度优先搜索),所以宽度是优先。我们都知道深度搜索是一下子搜到底,然后再通过回溯之类的方式返回到上一个分支,然后继续往下搜。也就是深度优先;而宽度优先搜索就是一层一层地找:先找一层,记录下来,然后继续搜下一层。 这时我们就需要两个指针:head和tail。head是头指针原创 2016-08-04 20:25:06 · 825 阅读 · 0 评论 -
动态规划
动态规划7-30,我们学习了一个比较重要的知识——动态规划。动态规划,从字面上理解就是动态地取规划某件事情,使其得到最优结果。规划之中就会有选择到底要还是不要,做还是不做,所以动态规划就是要选择最优。动态规划有4个核心:阶段、最优、子问题和边界。在分析动态规划这种问题时只要找出这4个核心,那变成解决问题起来就比较简单了。下面就通过一道题目来了解一下4个核心分别什么以及如何找出这4个原创 2016-08-04 20:25:03 · 673 阅读 · 0 评论 -
2015信息学夏令营第1、2……天——搜索与递归
7-26,是我们2015年信息学夏令营的第一天,我们主要就是学习了搜索。 ================================================= 搜索又分宽度搜索与深度搜索。这两个搜索又有什么区别呢?深度搜索是指深度优先搜索,宽度搜索就是宽度优先搜索。搜索主要是看搜索树: ——这颗(搜索)树的开始的点就是源点。 小技巧原创 2016-08-04 20:25:00 · 798 阅读 · 1 评论 -
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-9夏令营总结(网络流—增广路+dinic)
今天我们学习了一个新的一个算法:网络流。 网络流其实就是最大流。在一个有向图中,每条边的边权就是每条边的能通过的最大流量,问从源点到汇点的最大流量是多少? 我们看看这个图,源点是s,汇点是t。如果我们一开始还不会网络流算法的话,或许我们会想到的是:每次都找一条容量最大的路径。比如我们先把1-3-4的路径搜了,然后把他们的容量全部减去20,然后再搜最大的1-2-4,把容量减去20,然后1-2原创 2016-08-14 16:44:41 · 549 阅读 · 0 评论