USACO Section 1.5 解题报告

今天晚上要在电信楼 203 讲 USACO Section 1.5, 解题报告先发到这里吧。

幻灯片在文章的最后提供下载,为了加大文章的篇幅,就……就把代码粘在这里……

阅读全文

Codeforces Beta Round #95 (Div. 2)

刚才刚刚参加完 Codeforces Beta Round #95 (Div. 2). 第一次做 Codeforces 的比赛,感觉国外的题目还是比国内稍微水那么一些……

虽然说没有 AK, 其实也不奢望 AK, 但是至少两个小时之内能通过前 4 题的 pretest, 并且能够再思考一题,感觉还是不错的……

现在正在评测,A 和 B 已经 AC 了,随便发点题解,之后睡觉。

阅读全文

开源 jQuery 插件之元素漂浮 jFloat

最近做一个项目中需要一个功能,让一些图片或者 Flash 之类的元素漂浮于页面上。我 Google 了一下,发现能够实现功能的 JavaScript 是有,但是用起来很不方便。我还找到了一个 jQuery 的插件,但是用起来有一些 bug. 所以我就干脆自己重新开发了一个,还打算添加一些功能。

阅读全文

今年的 ACM/ICPC 区域赛总结

星期一刚从福州回来,至此,今年的 ACM/ICPC 区域赛就这样结束了。

这一届我们队甚至我们学校的 ACM 竞赛可以用惨淡二字形容。五个赛区中,我们除了福州赛区外,每个赛区都有一个队的名额,福州赛区有两个队的名额,由于学校预算问题,我们放弃了成都赛区。最终,我校共获得三块铜牌,两块铁牌。

我们队共参赛三次,其中带星一次。五块牌中的所有有色金属牌,都是我们队拿到的。其实很惭愧,因为三块铜牌,和一块铜牌,有能有什么区别呢?

我们队的三个队员,三场比赛中都只过了两题,最终都是铜牌。虽然在福州,我们似乎可以出四道题,但是最终在调试的两道题还是没有 AC.

我觉得我们队的互补性还是比较强的,我在编程语言、开发环境和英语阅读上比较有优势,Wideas 代码能力强,经验丰富,WH 能够想出一些奇怪的算法,还有很多动规题都是他出的。但是,这个互补,却没有把整个 180° 角覆盖完……

拿我自身来说吧,平时训练比较少,高中训练也是相对较少的。并且考虑代码的“整洁性”过多,写得也比较慢。所以到了后两个赛区,我几乎就没有坐在电脑面前过,基本上都是看题目,想算法,帮助队友 debug 之类的。还有我的计算几何题目做得少,模板没有准备好,有的题目一些训练有素的队伍应该是水过的,我们就只能放弃了。

最后我还觉得大一的时候没有重视训练也是比较可惜的,今年 ACM 的训练也只是从暑假去北京之后才开始的。

在比赛之后的那瞬间,突然感觉到,这不是结束,这只是开始。

POJ 1062 昂贵的聘礼

POJ 少有的中文题目。这道题的模型就是物品交换模型,可以用图论解。顶点表示物品,边表示花费。从 0 顶点到达目标顶点所走的最短路就是最小花费。

原题地址:http://poj.org/problem?id=1062

阅读全文

Codeforces 9E Interesting Graph and Apples

这道题首先给你一个 n 顶点 m 条边的无向图,然后让你加若干条边,使得这个图中的每个顶点都只在一个圈上(自连环也算是圈)。如果不能做到,则输出 NO.

如果能做到,输出 YES 之后,再输出需要至少连多少条边,然后把这些边列出来,并且要求输出字典序最小的解(具体见原题)。

原题地址:http://codeforces.com/problemset/problem/9/E

阅读全文

Codeforces 20C Dijkstra?

题目的要求是求一个可能含有自连环和平行边的图的单源最短路(从 1 到 n)。

顶点数为 n, 边数为 m, 2 ≤ n ≤ 105, 0 ≤ m ≤ 105. 时间限制 2 秒。

原题地址:http://codeforces.com/problemset/problem/20/C

阅读全文

Codeforces 22C System Administrator

给你三个整数,分别为 n m k, 要求你构造一个无向图,其中 n 是顶点总数,m 是边总数,k 是这个无向图的一个割点。输出连接的方案,如果不存在方案,则输出 -1.

原题地址:http://codeforces.com/problemset/problem/22/C

阅读全文

Codeforces 24A Ring road

首先给你一个有向图,有 n 个顶点,有 n 条边,保证这 n 个顶点的连接方式是一个巨大的圈,就是说每个顶点有且仅有两条边。

显然这个图有时候是不强连通的,现在让你改一些边的方向,使得这个有向图变成强连通的。但是改变每条边的方向的花费并不一样,所以你的任务是计算最少花费。

原题地址:http://codeforces.com/problemset/problem/24/A

阅读全文

Codeforces 25C Roads in Berland

首先给你一个带边权的有 n 个顶点的完全图,然后要在这个图上加 k 条边,求每次加边后,每两个顶点之间的最短路之和变成了多少,两个顶点是不考虑顺序的,也就是 a → b 的最短路和 b → a 的最短路只算一次。

原题地址:http://codeforces.com/problemset/problem/25/C

阅读全文