- 2008-06-18 (Wed) 20:17
- 一般
マシントラブルで時間がなく… 250点問題を解いたのみ.Java でpermutationを自前で書くよりC++使えば一瞬だったよなぁ、と.
250点問題:各アイテムの割合が与えられ,それをパイグラフに描いたときに最大で何本の直径を引くことができるかを答える.結局アイテムの並べ方全パタンを生成し,差が5割である組の数を数えて最大をとれば終わる.
500点問題:紙の上に書かれた表に数字が書いてある.紙を縦か横かに折って重なった部分の数字を足しあわせて新しい表とする.これを適当に繰り返して表に書いてある数字を最大化しする.とき方よくわからないので枝狩りで再帰かな? 表の正数の合計より現在の最大値が大きければその表は破棄で.
1000点問題:有効グラフと始点と終点が与えられ,それらの点を結ぶK番目の最短路の長さを答える.グラフには制限があり,どの頂点も高々ひとつの単純サイクルにか属さず,どの2頂点も高々ひとつの単純経路しか持たない.結果として,最短路を求め,その最短路から順番にその路上のサイクルを余計に一回回って少し大きな経路を小さいほうから作っていけばいい気がする.でも馬鹿正直にはできないから工夫が必要なはず.
- Newer: ことはじめ