MasonChen的专栏

点点滴滴。积少成多。厚积薄发

USACO 特殊的质数肋骨

深度优先搜索#include using namespace std; int n; void dfs(int x,int y); bool prime(int x); int main() { cin>>n; if(n==1) cout<<2<...

2014-03-24 00:15:26

阅读数:642

评论数:0

hdu 位操作

高深的位运算有待学习#include #include using namespace std; void f(int &val,int index,int num) { if(num==0) val&=~(1<<index); els...

2014-03-24 00:11:52

阅读数:360

评论数:0

hdu Robot Motion

NSEW分别代表走的方向。地图走完之后有两个结果,如果走出地图的话,则输出走过的步数,如果形成循环的话,则输出循环之前的步数和循环的步数。 我的思路是用一数组表示是否走过该点以及走到该点时已经走过的步数。有点记忆化搜索的意思#include #include using namespace st...

2014-03-24 00:09:58

阅读数:567

评论数:0

hdu Shuffle’m up

又是令人蛋疼的英文题。。题目大意是给出s1,s2两摞纸牌颜色的顺序,求通过变换后能不能得到要求的顺序。 变换规则是先相互间隔的放成一摞,再从中间分开,在相互间隔的放成一摞...... 整体思想就是模拟 代码: #include #include using namespace std; c...

2014-03-24 00:07:58

阅读数:544

评论数:0

USACO Section1.4 n皇后问题

这个就属于深度搜索问题了,之前也做过一个深度搜索问题,感觉相同点就是在搜索函数中往往进行递归。关于n皇后问题课本上有一种解法,要适应这个题只需稍加修改。虽然我形式上明白了,但是对如何具体深搜的有的稀里糊涂的。。提交的时候最后一个数据点也就是13皇后问题超时,为1015ms,就超15ms,,,,百度...

2014-03-23 01:02:29

阅读数:359

评论数:0

USACO 修理牛棚

同样是一道贪心题,我的思路是用一个数组存下所有的空挡,对空挡进行排序,然后再在总长度中减去前m-1大的空档长度。 关键还是理解题意。。貌似洛谷oj不支持INT_MIN之类的。。还有要对初始数据排一次序,害我wa了一次。。。。 #include #include #include using na...

2014-03-23 01:00:36

阅读数:720

评论数:0

USACO Section1.3 混合牛奶

我对贪心的理解就是通过每一步的最优解找的整体的最优解。往往通过一个循环语句即o(n)的复杂度来解决问题,所以资料上总说贪心算法往往是所有算法中最快的。另外贪心往往用到排序,所以sort的用法要记牢,不管对数组还是结构体。。 具体到这个题就要先依据单价进行排序,这里就要求要把数据保存为结构体形式。...

2014-03-23 00:56:54

阅读数:475

评论数:0

USACO 回文质数

开始用暴力搜索写的,提交超时,上网看了一下别人的代码,有一种思想是先计#include #include using namespace std; int zhishu(int a)//这个函数用来判断质数 { int i; int end=sqrt((double)a); ...

2014-03-23 00:53:19

阅读数:555

评论数:0

USACO Section1.2破碎的项链

很明显使用模拟的方法进行搜索。但是一开始只是凭感觉写了出来,有些样例没有过,仔细想想才明白自己没有完全明白怎样模拟,下面是大体思路: 如果开始是一串连续的w,记录下它的数目,直到遇到一串或一个b或r,再把它们的数目加在一起,作为一次可能的结果。如果开始是一个或一串b或r记录下它的数目,直到遇到一...

2014-03-23 00:49:12

阅读数:1305

评论数:0

hdu how many ways

How many ways Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 4   Accepted Submission(s) : 3...

2014-03-23 00:33:11

阅读数:541

评论数:0

数字三角形(POJ)

描述 7 3   8 8   1   0 2   7   4   4 4   5   2   6   5 (图1) 图1给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 注意:路径...

2014-03-23 00:28:47

阅读数:525

评论数:0

hdu 命运

命运(1009) Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 21   Accepted Submission(s) : 9 Pr...

2014-03-23 00:25:43

阅读数:611

评论数:0

hdu 最大连续子序列

最大连续子序列 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 120   Accepted Submission(s) : 29 P...

2014-03-23 00:22:46

阅读数:496

评论数:0

USACO 方块转换

这个题目考察了二维数组行列之间的相互转化以及水平翻转和镜像转化。 一开始我想把每个情况写成一个函数,然后再根据情况决定调用哪一个。 程序是写出来了,但是不知道为什么有几种情况总是输出7。。。。 然后又上网查了查,发现了更好的方法。 错误代码: #include using namespace st...

2014-03-23 00:01:33

阅读数:540

评论数:0

USACO 挤牛奶

首先题意很清晰,给出并列的几个时间段,找出最长有人挤奶时间时间段和最长无人机乃时间段。 把有人挤奶的时间标记为1,无人挤奶的时间标记为0,然后再枚举寻找。 代码: #include #include #include using namespace std; int Time[1000010...

2014-03-22 23:51:50

阅读数:484

评论数:0

USACO 黑色星期五

题目大意就是给出一个年份,求从1900年到这一年的每月13号落在一星期之中每天的次数。 注意要判断某年是闰年或者平年,因为这两种年份相同月的天数不一样的。 算出每个月13号距离初始日期的天数,然后再用求余运算确定星期几。 这个题主要用了枚举的思想。 #include using na...

2014-03-22 23:41:32

阅读数:581

评论数:0

USACO 贪婪的送礼者

首先要弄清楚题意,题目要求输出收到的比送出的钱多的数目。送出的也就是原来的-余下的,然后再用一个数组记录收到的,答案就是两者之差。 这里最好用一个结构体来保存名字、原有的钱数和收到的钱数。#include #include using namespace std; char str[15]; i...

2014-03-22 23:36:42

阅读数:881

评论数:0

USACO1200 你的飞碟在这儿

虽然只是一道练手题,但我确实很久没做字符串的题目了,还是稍微纠结了一小会。 分别先求出两个字符串所代表数字的累乘积,再判断两个积分对47求余是否相等,如果相等输出GO,否则输出STAY。 另外,求字符串长度除了调用strlen函数之外还可以用“名称.size()”的方式。 代码: #inc...

2014-03-22 23:32:23

阅读数:431

评论数:0

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