- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 USACO算法系列(小结)
<br /> 开始做USACO题目是在2010年的7月份吧,本来打算花3-4月时间利用课余时间做完所有的题目,但是中间断断续续的一直做到现在,已经半年多了,现在还有15道题吧。<br /> 我不知道自己提高了多少,很多次都想放弃了。一是因为平时工程项目挺紧的,二是因为寂寞啊。但是那一串串AC的字符串一直鼓励着我,好不容易走到现在。现在快过年了,心情也没办法平静下来,每天校内,sina,qq的逛,虽然觉得很浪费时间,也曾经一度想把校内停掉,但是尾大不掉,人生就是不断的挣扎,要不就安心堕落,我不想堕落,
2011-01-13 13:39:00 854
原创 USACO算法系列四十六——milk4
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/milk4<br /> 一个整数使用给定的整数集合当中最小的整数集合进行划分,要求使用的集合最少,其次使用的整数最小。<br /> 第一个方法,我想使用0-1背包进行解决,但是发现做出来可以满足,最小的整数集,但是无法保证集合最小。代码如下:<br />#include <iostream>#include <fstream>#include <algorithm>#d
2011-01-12 10:51:00 521
原创 USACO算法系列四十五——wissqu
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/wissqu<br /> 采用的是深度搜索的方法。发现现在使用深度搜索的频率不断升高了。其实程序昨天就写好了,但是怎么运行都没有结果,调试也觉得没有问题,一度让我处于崩溃的边缘。休息了一天,今天重新调试了一下,发现原来是数据输入的时候出错了。A:3,B:3,C:3,D:4,E:3。写成了A:3,B:3,C:4,D:3,E:3。难怪一直没有结果了。<br /> 代码如下:<br
2011-01-11 10:10:00 417
原创 USACO算法系列四十四——snail
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/snail<br /> 直接深度搜索。我还以为会超时,没想到AC了。代码如下:<br />#include <iostream>#include <fstream>#define SIZE 121#define UP 0#define RIGHT 1#define DOWN 2#define LEFT 3using namespace std;
2011-01-10 13:47:00 369
原创 USACO算法系列四十三——theme
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/theme<br /> 求最大重复主题序列的长度,让我想起了求最大重复子串,最大重复子串的解法,我觉得这个博客写的很好。我们可以一起学习一下(http://www.cnblogs.com/dyh333/articles/1801714.html)<br /> 但是这道题跟最大重复子串有些不一样的地方。<br /> 第一,子串不允许重叠。<br /> 第二,子串的主题重
2011-01-07 15:29:00 437
原创 USACO算法系列四十二——starry
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/starry<br /> 题目还是比较好理解的,想法也比较简单,但是写起来相当麻烦。我的想法是:<br /> 第一,使用广度遍历的方法,遍历出所有的星座,并记录下他们的路径,边框,高度,宽度。<br /> 第二,对于每一个星座,对他们做归一处理,就是另他们的起点都是从0,0开始的。然后画到一个虚拟的天空上,然后遍历接下来的几个星座,并把他们也画到虚拟天空中,如果两个星座重合
2011-01-07 10:32:00 553
原创 USACO算法系列四十一——fc
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/fc<br /> 求所有点的凸包的最小周长。<br /> 利用的是“卷包裹”算法:http://www.nocow.cn/index.php/Graham_Scan<br /> 算法描述如下:<br /> 找出一个必定会在凸包内的中点 计算每个点和中点的连线与x轴的夹角(在 0——360 度的范围内) 根据这些夹角对顶点排序 加入最初的两个顶点 对于除最后一个顶点以
2011-01-06 16:39:00 507
原创 USACO算法系列四十——frameup
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/frameup<br /> 第一次理解这道题目的时候理解错了。这句话很关键:“矩形的每条边中,至少有一部分是可见的。注意,一个角同时属于两条边。”<br /> 也就是说每条边至少有一个点是可见的,这样我们就可以确定出矩形的边框。<br /> 这样就可以确定出整个矩形,然后利用深度遍历的方法,搜索出所有的答案。<br /> 代码如下:<br />#include <io
2011-01-05 14:24:00 476
原创 USACO算法系列三十九——milk6(续)
<br /> 别人提供了一个解决方案,http://dementrock.blog.com/2009/06/usaco-442-pollutant-control/<br /> 很明显地,这是一个最小割的模型,设每边的权值为原始权值,则最大流的值就是最小割的容量,即最小损失。现在有两个问题:停止的线路数,使开始输入顺序最小。<br /> 为解决这两个问题,可将每边的权值修改为500000+i+500000*1001*c,这个式子有什么用呢?首先,每边的权值都加上500000,那么最大流(
2011-01-04 21:03:00 604
原创 USACO算法系列三十八——milk6
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/milk6<br /> 这道题超级麻烦,想了我好几天,现在能写出来的方案,也只能解决小数据量问题,对于大数据量问题还是很有难度。<br /> 我的方法是:首先,这是一道最大流最小割问题,也就是在去掉k条边以后,使得左右两侧的边的节点之间的流为最大流,并且k最小。<br /> 因此,第一步我先求出图的最大流。使用的就是前面求出最大流的方法。<br />
2011-01-04 18:07:00 486
原创 USACO算法系列三十七——shuttle
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/shuttle<br /> 将左边的所有W移动到最右边,将右边的所有的B移动到最左边。如果通过模拟的话,我觉得会超时,但是并不用模仿每一步移动步骤。<br /> 因为可以通过以下几个规则一定可以得到结果。<br /> 如果"WB_"模式,则"_BW",如果"_WB",则"BW_", 否则轮流移动左右侧的格子。如<br /> WW_WBBB //左移动
2011-01-01 20:44:00 447
原创 USACO算法系列三十六——lgame
<br /> 题目:http://www.nocow.cn/index.php/Translate:USACO/lgame<br /> 这道题看起来数据量很大,而且不知道40000字典,实际上经过处理以后数据量不大。<br /> 第一步预处理,读入数据的时候,如果长度超过现有的字符串长度,删除。<br /> 第二步预处理,读入数据的里面字符的个数多于我们拥有的字符个数删除。<br /> 第三步词对组合判断完以后,能够得到最大的字符值,此时,我们打印结果时,只要打印字符串的值为最
2011-01-01 14:03:00 486
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人