自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

止于至善

智慧本身就是好的。有一天我们都会死去,追求智慧的道路还会有人在走着。死掉以后的事我看不到,但我活着的时候,想到这件事,心里就很高兴。

  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 USACO算法系列十三——butter

      题目:http://www.nocow.cn/index.php/Translate:USACO/butter      题目大意是找出一个牧场,使得奶牛到这个牧场的路径和最小。      最原始的想法是计算出这些牧场内部之间的最短路径,根据map[i][j] = min( map[i][j], map[i][k] + map[k][j]),然后所有奶牛到牧场路径和为 {求和cube[j] * map[i][j],j 从 1~MAX};(cube[j] 指第j个牧场的奶牛数)。因此代码如下:#i

2010-10-20 10:20:00 664

原创 USACO算法系列十二——msquare

<br />    题目:http://www.nocow.cn/index.php/Translate:USACO/msquare<br />    看到这道题我还以为有什么比较捷径的策略,毕竟广度优先遍历,是很耗内存空间的,而且需要去重的话,不断遍历数组也是很费时的。但是看了参考答案以后,好像也没什么特殊的解法。所以就开始写了。<br />    跟预期的一样,如果一遍遍的检索的话,在Test7的时候,会超时,但是如果用一个2^24次方的数组记录是否是否检索过,又很快超出了空间。思索了很久,终于想到了知

2010-10-19 19:46:00 484

原创 USACO算法系列十一——ratios

<br />       前段时间因为有事出去了一段时间,很久没有碰USACO的题目了。<br />      昨天又和同学聚会,看到很多同学都到各个大公司实习了,心里很是羡慕。想想自己,明年这个时候也到了我找工作的时间了,能不能找到一个比较好的工作,未来怎么走?我的人生又是什么样?感觉很是迷茫。而且转眼之间研究生阶段就要结束了,在研究生阶段不知道应该留下什么,能够在以后蹉跎的岁月里能够和我的子孙们分享,或者在即将作古之年,遥想起这段时间,觉得自己没有白走这段路。现在的我只想把自己提升到一个新的高度,而这个

2010-10-18 20:57:00 410

原创 USACO算法系列十——spin

    题目:http://www.nocow.cn/index.php/Translate:USACO/spin    题目很长,而且比较难以理解。大概意思就是转动五个纺织轮子,直到他们的五个缺口重合为止。    没有好的想法,还好数据量不大,模拟吧。由因为转动360秒以后,所有轮子回到起始角度。因此如果360秒以后还没有出现重合情况的话,就可以退出循环了。    模拟累加轮子的角度并不难,难的是如何判断五个轮子重合呢?起初我也没有很好的方法,一个个去判断重合区域实在是太麻烦了。后来想到一个好方法。把36

2010-10-11 15:42:00 700

原创 USACO算法系列九——kimbits

<br />    题目:http://www.nocow.cn/index.php/Translate:USACO/kimbits<br />   求出可以用<=K个1表示的长度为N的二进制串的最小的第I个数。又是01字符串,最先想到方法是遍历1~2^N-1的自然数,如果其中包含1的个数<=K个1表示,则计数加1,直到I为止。但是想想2^31次方可以表示接近2 0000000000的整数,肯定会超时的。<br />   如果把二进制串当作二叉树的叶子节点,然后采用前序遍历的方式对二叉树进行遍历,往左边走,

2010-10-10 19:47:00 561

原创 USACO算法系列八——fact4

<br />    题目:http://www.nocow.cn/index.php/Translate:USACO/fact4<br />    题目大意是求N!的倒数第一个不是0的位数值。题目也很明确跟我们说了:阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了。 因此用一个大整数来存储N!,然后再求倒数最后一位的尾数,似乎不太现实。我们假设N! = X * 10 ^ K(X的尾数不为0)。则我们要求的是X %10。但是即使是这样子的X也是非常大。我们又可以考虑一下,实

2010-10-10 09:13:00 487

原创 USACO算法系列七——stamps

<br />     题目:http://www.nocow.cn/index.php/Translate:USACO/stamps<br />    邮票数可以显示最大连接自然数的问题,看到这道题目第一个想到的是整数划分问题。但是又很不一样。第一它不用考虑这个整数的所有划分情况,而是只要考虑整数是否可以被<=K个邮票表示。<br />    最简单的想法,用stamp【N】数组表示邮票,然后递增考虑1到K*stamp【N】范围的自然数的划分,直到不能划分为止。为了加速我们可以对邮票面值先做一下排序,但是还

2010-10-09 20:27:00 472

原创 USACO算法系列六——contact

<br />    题目:http://www.nocow.cn/index.php/Translate:USACO/contact<br />    题目很长,又是奶牛,又是望眼镜,还有地外生物的。很佩服外国人的想象力,一道算法题也能联系出一部星际大战出来。<br />    题目大意,简而言之,就是统计由01组成的字符串当中,长度在A到B之间(1<=A<B<=12)的字符串出现的频率,然后把前N个最大频率的字符串打印出来。<br />    看起来是简洁多了,但是题目还是比较复杂的。想到了两种方案:<b

2010-10-08 22:48:00 3054

原创 USACO算法系列五——rect1

    题目:http://www.nocow.cn/index.php/Translate:USACO/rect1    最简单的想法是声明一个N*N的二维数组,用于表示单位1的矩形,二维数组的初始值为1,表示初始的颜色。一层一层的往上覆盖,不断更新数组的颜色值,最后统计一下二维数组里面各个颜色的个数就可以得出结果了。然而这种想法存在着严重的缺陷,第一时间,每次更新都需要更新A * B的空间,因此时间为o(N*A*B),加上最后统计,因此时间为o( A * B),因此最后的时间为O(N*A*B),A*B已

2010-10-07 22:23:00 509

原创 USACO算法系列四——inflate

    题目:http://www.nocow.cn/index.php/Translate:USACO/inflate    这道题目类似于算法与数据结构当中的01背包问题,只是这里的物品有数量的问题。但是还是可以用动态规划解决问题。    我们假设f[type][minute]表示对前面type种题目在minute分钟下最大的得分情况。用struct Problem{ int point; int minute;}结构体数组表示题目类型和分数。则    当type>1时,f[type][minute]

2010-10-07 14:21:00 762

原创 USACO算法系列三——agrinet

    题目:http://www.nocow.cn/index.php/Translate:USACO/agrinet    这道题目没什么好说的,求图的最小生成树问题。有两种算法Kruskal算法和Prim算法。但是看了USACO的参考答案以后,发现自己对空间的利用还是不够。知道思想,如何用简单利索的语言实现,高效而准确。#include #include #define MAX 100#define LARGE 999999999using namespace std;

2010-10-07 13:48:00 484

原创 USACO算法系列二——fracdec

    题目在:http://www.nocow.cn/index.php/Translate:USACO/fracdec    题目大意是,给出两个数,求出它们的商,小数中循环部分用括号括起来。    刚拿到这道题的时候,没有很好的想法,觉得如果直接double表示商,然后提取每位小数位判断是否循环。但是这样会出现以下问题:由于在C语言中,双精度(double)型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。 也就是他的小数位最多只有16位。   

2010-10-07 13:36:00 671

原创 USACO序列一-humble

    题目:http://www.nocow.cn/index.php/Translate:USACO/humble    题目的大意是,给你一些排序的质数,然后要你求出由这些质数作为质因子的第几小的丑数。    看到这道题的时候,有两种想法,第一种是遍历从最小的丑数开始的自然数,判断这个自然数是不是丑数,直到找到第n个丑数为止。这样做的好处是,想法简单,避免了由质数相乘得到的丑数的排序过程。代码如下:#include #include #define MAX 100using namespa

2010-10-07 13:28:00 501

C#写的贪吃蛇小游戏

C#写的贪吃蛇游戏,很简单,主要考虑程序的扩展性

2009-07-14

Java 迷你QQ

小学期实现的一个迷你的QQ聊天程序,包括源码,注释。<br>

2008-08-20

七彩连珠游戏源码

七彩连珠小游戏源代码

2008-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除