摘要: 这题用贪心法做的,每个任务都从现有的machine里面拿运行结束最早的机器里执行。唯一需要写的是:用执行最快的arrJobDoneA 和 执行最慢的arrMachineDoneB相结合,第二快的A和第二慢的B相结合...最后这N个里面时间最长的那个就是所有任务全部执行完成的最长用时。代码比较简单,如下:/*ID: zhangyc1LANG: C++TASK: job*/#include <fstream>#include <iostream>#include <cstdlib>#include <cstring>using namespace s 阅读全文
posted @ 2013-03-19 12:18 J.Z's World 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 这题还是可以用最大流。只要添加一个源点和一个汇点,并添加源点至牛,汇点至各牧场的边即可转化为标准的最大流不过,关于二分匹配有专用的算法,匈牙利算法,本质上来说,匈牙利算法应该属于XXX-XXX方法,就是添加增广路径的那个。只不过在二分匹配里面的增广路径是有特点的----它是一个交错路径(从起点算起1..2k+1,第奇数条边为非匹配的边,第偶数条边为匹配过的边)。交错路的搜索可以bfs,也可以dfs。 dfs写起来比较简单,bfs则需要记录前驱从而在搜索成功后回溯匹配过程。第一次提交时,我用的dfs在test8时超时了,原因与dfs代码中被我注释掉的那句有关。改了之后提交OK,又顺便试了一下bf 阅读全文
posted @ 2013-03-19 12:09 J.Z's World 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 背景不介绍,目的是为了个火车票数据。可惜真正研究了才发现各种车次的数据格式不统一,最终我都没有来得及搞出个完成格式"日期", "停车时间", "开车时间", "里程", "硬座", "硬卧中铺", "软座", "软卧下铺" ,"高级软卧下铺" 大致上是这个,程序比较粗糙.-------------------------//C#程序,解析dom树的方式抓所有火车车次详细数据,保存为xml格式,mark掉一句代码~us 阅读全文
posted @ 2013-03-15 15:09 J.Z's World 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 最大流问题,这题提交了提交了两次,第一次提交时test9输出错误,查了半天才发现数据中有重复的边。仔细看了一下题“Note however, that there can be more than one ditch between two intersections.”也就是说,两个点之间可以有多条边。把多条边合成一条边就OK了。用的是relabel to front. 为了方便,代码全部用的数组。--------------------------------------------/*ID: zhangyc1LANG: C++TASK: ditch*/#include <fstre 阅读全文
posted @ 2013-03-15 14:04 J.Z's World 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 擦,公司上不了USACO了,怀疑公司用了一个牛X的防火墙,通过机器学习把我给禁掉了,实在恶心。我还以为USACO挂掉了,还好今天灵机一动,用“在线代理”这个有点sexy的网站可以突破天际。 这道题太恶心。。。我开始用的set<string> 妥妥的,bad_alloc啥的,可能是内存不足吧(USACO有16M内存的限制??),后来自己实现了个hash表,自己来,擦的,用了16228KB,又bad_alloc了,折腾许久,无解。百度了一下,发现大家都不解决hash conflict,居然也过了...唉,就这样吧,我用的BKDR_Hash,因为这个hash 简单,而且效果很好,有本书上 阅读全文
posted @ 2013-03-14 11:34 J.Z's World 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 上班真无趣,还是上学好。偷偷码个题。这个题真是让我抓狂,本来觉得很容易的(把边图转化为点图,dfs就好了)。结果在转化的时候才发现,这INPUT不是一般的恶心,后来在纸上画画,觉得不用转化应该也OK。搞个边的结构,把所有东西都读进去。struct SEdge { int nLen; int arrSize[2]; int arrCon[2][8];};核心还是dfs。int dfs(int k, int pre)。k为本次处理的边,pre为上次处理的边,假设pre在k的第0组相邻边中,那么本次处理的时候从第1组中选边即可,返回本节点路径下的最小环的周长。没有专门的剪枝...本... 阅读全文
posted @ 2013-03-04 17:02 J.Z's World 阅读(473) 评论(0) 推荐(0) 编辑
摘要: Fence RailsBurch, Kolstad, and SchrijversFarmer John is trying to erect a fence around part of his field. He has decided on the shape of the fence and has even already installed the posts, but he's having a problem with the rails. The local lumber store has dropped off boards of varying lengths; 阅读全文
posted @ 2013-03-01 12:30 J.Z's World 阅读(351) 评论(0) 推荐(0) 编辑
摘要: Beef McNuggetsHubert ChenFarmer Brown's cows are up in arms, having heard that McDonalds is considering the introduction of a new product: Beef McNuggets. The cows are trying to find any possible way to put such a product in a negative light.One strategy the cows are pursuing is that of `inferio 阅读全文
posted @ 2013-03-01 12:29 J.Z's World 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 这道题断断续续做了有两三天了,真纠结。写下分析:%%第一问好解,用线段相交的判断就好:满足条件1 && 条件21.以线段为对角线的长方形要相交2.两对端点互相跨立设这四个点为x1,y1,x2,y2,x3,y3,x4,y4L1的坐标为t1=x1-x2,w1=y1-y2,1端点到3,4的线段向量分别为t2=x1-x3,w2=y1-y3,t3=x1-x4,w3=y1-y4;则3,4在L1两端即为(t1*w2-t2*w1)*(t1*w3-t3*w1)<=0 (等于0的情况发生在重合的情况下。在满足了第一个条件之后,这里的等号可以去掉了)%%第二问就没那么容易想了:当一条边可以被看 阅读全文
posted @ 2013-03-01 12:27 J.Z's World 阅读(452) 评论(0) 推荐(0) 编辑