自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

渐近自由

只要有朝那个方向的分运动,你就离它越来越近

  • 博客(10)
  • 收藏
  • 关注

原创 usaco 1.4 Packing Rectangles(枚举模拟 含结构体排序)and poj 1169

看到这题完全没有思路,网上看大神们的解析,有说到用深搜,但是不知道这题怎么用深搜,大概是自己没有理解 深搜 的用法。于是选用了令一种思路,枚举。因为题目中只说了六种情况,所以将他们全表示出来,加上四个矩形的位置及长宽变化,一一枚举。最后对答案进行排序,即可。以下截图来自百度文库:http://wenku.baidu.com/view/3cae8f14866fb84ae45c

2014-02-26 17:07:28 851

原创 noj:广搜 (bfs) and 深搜(dfs) 整理

第一次写dfs与bfs 在学长的帮助下过了两题自己学校oj的题第一题 dfsnoj 1010http://noj.io/problem/p/1010&cid=1116代码:#includeconst int M=81;int maze[M][M],n;int dir[][2]={{0,1},{1,0},{0,-1},{-1,0}};bool

2014-02-23 15:51:26 985

原创 usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路:1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。3. 暴搜。第一行数从 100到999,第二行数从 10到99。4. 剪枝。代码:/*ID: who jayLANG: C++TASK: crypt1*/#includebool hash[10

2014-02-19 09:09:14 839

原创 usaco 1.3 Calf Flac(暴搜)

思路是暴搜。需要注意的地方是输入的方法,以及输出时的换行。代码:/*ID: who jayLANG: C++TASK: calfflac*/#include#include#includeint main(){ freopen("calfflac.in","r",stdin); freopen("calfflac.out","w",stdout);

2014-02-16 17:26:57 695

原创 usaco 1.3 Barn Repair(贪心)

思路:用上M块木板时有 M-1 个间隙。目标是让总间隙最大。将相邻两个有牛的牛棚之间间隔的牛棚数排序,选取最大的M-1个作为间隙,其余地方用木板盖住。做法:1.若,板(M) 的数目大于或等于 牛棚中有牛的数目(C),则 目测 给每个牛牛发一个板就为最小的需求~2.否则,先对 牛牛们的门牌号排序,然后 用一个数组 blank[ ] 记录两门牌号之间的距离,然后 用数组 ans

2014-02-09 11:17:26 598

原创 usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~结构体排序核心:1.结构体定义struct Milk{ int price; int milks;}milk[5000];2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,aint milkcmp(const void *va,const

2014-02-06 23:21:52 878

原创 usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了直接上代码:/*ID: who jayLANG: C++TASK: palsquare*/#includeint x[20],xlen,y[20],ylen,B;void change(int n){ int m; m=n; xlen=0; while(m) { x[++xlen]

2014-02-04 23:05:37 526

原创 usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字需要注意的是从新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’详见代码:/*ID: who jayLANG: C++TASK: namenum*/#include#includeint main(){ FILE *fin = fopen ("namenum.in"

2014-02-04 21:56:24 580

原创 usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!!第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end )2 反之

2014-02-02 23:43:59 581

原创 usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来注意计算公式:( 变换后的矩阵记为C)顺时针旋转90°:C[i] [j]=A[n-j-1] [i](旋转180°和270° 可以多转几个九十度来推)对称:C[i] [n-j-1]=A[i] [j]代码有点长 。。。/*ID: who jayLANG: C++TASK: transform*/#includ

2014-02-02 20:08:28 502

空空如也

空空如也

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

TA关注的人

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