2012年1月25日

USACO 5.1 fencing the cows——计算几何/凸包模板

摘要: 终于进入第五章了,第四节最后一个题好无聊= =。此题纯凸包模板:/*ID:zlqest11LANG: C++TASK: fc*/#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const int N = 10005;const double eps = 1e-6;struct gPoint{ double x, y;}p[N];int n;//the convex 阅读全文

posted @ 2012-01-25 11:50 Moon_1st 阅读(350) 评论(0) 推荐(0) 编辑

2012年1月24日

USACO 4.4 Pollutant Control

摘要: 非常不错的一个最大流的题目,对边的处理很巧妙。这个链接的解题报告比较好:http://hi.baidu.com/mengyun1993/blog/item/c30d193c9a85932870cf6cda.html总体上分3步,这题不看解题报告真不好做,我自己想了半个多小时,只想到了如何判断一条边是否在最小割中,也就是解题报告中说的“退流定理”~再赞一下USACO,题目确实很不错,很多问题很值得花时间好好研究一下。Test 1: TEST OK [0.000 secs, 3224 KB] Test 2: TEST OK [0.000 secs, 3224 KB] Test 3: TES... 阅读全文

posted @ 2012-01-24 18:39 Moon_1st 阅读(534) 评论(0) 推荐(0) 编辑

2012年1月23日

USACO 4.4 shuttle puzzle

摘要: 起初用搜索,写了好多,bfs+位运算。。。然后STL的队列给MLE了。。。但是算出的结果是正确的,然后接着是TLE。。。虽然用搜索没有挂,但是不得不说又练了一下代码能力,还是有不少收获的,呵呵。。正确的算法是找规律,详细的做法看nocow吧,这里贴个代码:搜索:View Code /*ID: zlqest11LANG: C++TASK: shuttle*/#include <iostream>#include <cstdio>#include <cstring>#include <set>#include <vector>#inclu 阅读全文

posted @ 2012-01-23 21:01 Moon_1st 阅读(300) 评论(0) 推荐(0) 编辑

USACO 4.3 Letter game

摘要: 今天年初一,到邻居和临近亲戚家转完回来接着做昨晚未写完的USACO 4.3 letter game,此题给出的字典最多有40000个单词,但是仔细算一下可以发现有很多用处不大,我们来看一下:由于最多只给出7个字母,最少也要给出3个,每个单词也是这个样子(这两个条件非常关键),所以如果出现pair words,那么只有2种情况——长度3的单词+长度3的单词,长度3+长度4。而长度为4的合法单词最多只有7^4=2401个,所以在查找pair words时大部分单词是可以被筛掉的。一个单词的情况当然非常简单了,扫描一下就可以了。注意给出的单词不必全都用上,因为这里WA了= =。此题作为新年为自己奉上 阅读全文

posted @ 2012-01-23 10:54 Moon_1st 阅读(224) 评论(0) 推荐(0) 编辑

2012年1月2日

SRM528 DIV1 1000pt

摘要: 只能说是很好的一道题目~~1000pt似乎从来木有不好的。。。。学到的最重要的一点是:It is often a handy tool to formalize the conditions in the problem.还有,就是又学到了一个定理,关于二分图的: Hall's marriage theorem ——There is a perfect matching if and only if for each subset of the left side of the graph, the total number of neighbours of this subset i 阅读全文

posted @ 2012-01-02 19:19 Moon_1st 阅读(235) 评论(0) 推荐(0) 编辑

2012年1月1日

SRM528 DIV1 500

摘要: 一个关于字符串计数的问题。题意的描述很简洁,思路方向也很容易想——首先数据范围限定字符串长度最大为40,要把原串分为两个相等的子串,显然每个子串的长度最大为20,而且每个字符不是x就是o。。。所以很容易想到:求出x和o的个数,枚举所有可能的子串;或者可以直接用位运算,从0——2^20-1枚举一遍。然后计数方面看结构的话应该是dp。。。。但比赛的时候在dp上面悲剧了,我一直在想如何从前向后dp,边界设在前面。而官方题解给的是后向dp,边界设在了最后。。。对dp的理解又加深了,高兴~~突破思维定势,多角度看问题,把握根本。#include <iostream>#include < 阅读全文

posted @ 2012-01-01 21:46 Moon_1st 阅读(257) 评论(0) 推荐(0) 编辑

2011年12月31日

SRM528 DIV2 解题报告

摘要: 250pt:关于回文串的题。首先对称着看,如果对称的两端都是‘?’,那么选花费较小的一种字母替换即可(关键在于费用,字符串中只要标记一下就行了),如果两端只有一个问号,那么花费是确定的,根据对称的另一端累加最小花费#include <iostream>#include <cstdio>#include <cstdlib>#include <string>using namespace std;typedef long long llg;class MinCostPalindrome{public: int getMinimum(string s, 阅读全文

posted @ 2011-12-31 10:37 Moon_1st 阅读(161) 评论(0) 推荐(0) 编辑

2011年12月26日

关于程序设计语言(贴吧里很有意思的一个帖子)

摘要: 如果你想找一门表达力和功能都很强的语言:Python如果你想更快速地开发WEB程序:PHP如果你想和那些“摇滚明星”一般的程序员为伍:Ruby如果你想学真正的编程:C如果你想遁入空门的话:Scheme如果你想压抑的话:SQL如果你想基因突变成为非人类的话:Microsoft Visual Basic如果你想要得到一个有保证的,但普普通通的,收入还不错的,在一间小卧室的荧光灯下写一些金融应用的工作:Java如果你想在你的名字后放上一些认证和证书:C#如果你想得到一些很难在自大狂和孩子气中区分的那种魔幻般的感觉:Objective C如果你想寻找在被虐中被大众称道的感觉:C++如果你想整天都在说F 阅读全文

posted @ 2011-12-26 19:07 Moon_1st 阅读(408) 评论(0) 推荐(0) 编辑

2011年12月3日

SDUT_线型DP解题报告

摘要: 1001:不解释1002:将枚举行,然后压成一维求最大子段和。1003:随便按哪个坐标排一下序,然后就是裸的LIS,需要二分,用n*logn的写法。1004:打表排序输出。1005:LCS变种,分3种情况讨论就可以了。 阅读全文

posted @ 2011-12-03 18:51 Moon_1st 阅读(144) 评论(0) 推荐(0) 编辑

2011年11月22日

SDUT_基本算法解题报告

摘要: 1001:由于每种药品的体积是相同的,所以可以按浓度排一下序,然后从小达到一直累加到不满足条件为止。主要需要使用eps判精度,在加题前测试的时候我的代码就因为精度WA了一次。View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 7 const int N = 105; 8 const double eps = 1e-6; 9 10 int C, n, v;11 阅读全文

posted @ 2011-11-22 21:50 Moon_1st 阅读(282) 评论(0) 推荐(1) 编辑

导航