Archive for June, 2010


Andrew Stankevich’s Contest #3
ZOJ2361 SGU209 Areas 18.12% (62/342)
ZOJ2362 SGU210 Beloved Sons 45.40% (173/381)
ZOJ2363 SGU211 Strange Counter 28.12% (63/224)
ZOJ2364 SGU212 Data Transmission 11.95% (104/870)
ZOJ2365 SGU213 Strong Defence 36.40% (83/228)
ZOJ2366 SGU214 Weird Dissimilarity 13.31% (84/631)
ZOJ2367 SGU215 PL/Cool 22.91% (33/144)
ZOJ2368 SGU216 Royal Federation 24.80% (64/258)
ZOJ2369 SGU217 Two Cylinders 15.71% (94/598)

还是先推荐两道构造题2363 Strange Counter2368 Royal Federation2361 Areas是一道coding量很大的计算几何题,而2367 PL/Cool是一道考验基本功的蘑菇题。2363 Data Transmission是一个值得再研究的分层图的阻塞流问题。

ZOJ2361/SGU209 Areas

downloadsource code (ZOJ2361.cpp) [geometry, 计算几何, dfs]

题目描述很简单,问给定的n条线把平面分出了几个有限的区域。

规模为80,不得不ym那些用优化的半平面交轻松AC这道题的牛人们,但我觉得这不能算a right approach。

我的算法是O(n^2lg(n))的。 Continue reading “Andrew Stankevich’s Contest #3解题报告” »

Comments 5 Comments »

ZOJ Monthly, June 2010,也是今年ACM-ICPC集训选拔赛的一部分。赛前hhanger放出话:

史上最easy的一次月赛,believe me :mrgreen:

这也是atouSk, Bzu, CError和Django奉献的最后一次Monthly了。没题啊,没题啦……


ZOJ Monthly, June 2010
[A]ZOJ3343 Accident Tree 12.00% (3/25)
[B]ZOJ3344 Card Game 36.73% (18/49)
[C]ZOJ3345 Language 28.90% (61/211)
[D]ZOJ3346 Number Game 12.87% (26/202)
[E]ZOJ3347 Picture Handling 26.15% (68/260)
[F]ZOJ3348 Schedule 14.21% (30/211)
[G]ZOJ3349 Special Subsequence 18.09% (76/420)
[H]ZOJ3350 Strange Calender 21.21% (7/33)
[I]ZOJ3351 Washing Clothes 18.64% (110/590)

ZOJ3343 Accident Tree

downloadsource code (ZOJ3343.cpp) [bitwise, tree, parser, scanf]

计算中心218原因不明地起火了,据专家Frozen的表示,起火原因可用一棵XML树表示:

  • 非叶子节点有两种:”and”代表的条件成立当且仅当其所有的子条件都成立;而”or”节点只要有一个子条件成立,这个节点就成立;
  • 叶子节点都表示一个元条件,包含名字和概率。注意具有相同名字的叶子节点总是同时成立或不成立的。

要求这棵树(根节点)成立的概率。最多只有10种不同名字的元条件。

由于只有10种不同名字的元条件,很容易想到2^10枚举所有情况,再判断根节点是否成立。最后的答案就是所有成立情况的加权和,复杂度为2^10*200。题目的麻烦之处再于读入XML并parse成树,其实灵活运用scanf的话,还是比较轻松的,具体看代码。

ZOJ3344 Card Game

downloadsource code (ZOJ3344.java) [counting, BigInt]

其实问题的本质是求将n个数的排列分解为不超过k的奇数个环的方案数。把n个数的排列分解为恰好k个环的方案数就是第一类斯特林数

\left[{n\atop k}\right] = (n-1) \left[{n-1\atop k}\right] + \left[{n-1\atop k-1}\right].

当然还要求n的阶乘。需要大数。

ZOJ3345 Language

downloadsource code (ZOJ3345.cpp) [string]
Continue reading “ZOJ Monthly, June 2010 解题报告” »

Comments 26 Comments »