PKU

PKU 3177 Redundant Paths

PKU

無向グラフが与えられて辺を追加して、各点間に二通りの経路ができるようにする時(その経路は同じ辺を使わってはいけない) 追加する辺の個数を最小化 二重連結であれば2通り経路があるのでlowlinkを用いて適当に現在のグラフの二重連結成分を頂点にしたグラ…

JOIss2013

参加記です. JOIssは8/26~30に準山奥で開催されました.怖い本ばかりに見えて怯えながらコンピュータ・ジオメトリを選択しました. (指圧マットさんとhogloidさんと同じ班, チューターは藤原さんでした) 講義寝まくってすみませんでした..セミナーも楽しかった…

PKU 2777 Count Color

PKU

板があって、ある区間に色を塗るクエリとある区間の色の種類を数えるクエリが来るので高速に処理しろという問題です。 どうでみてもsegment treeだが区間の左右が逆なこともあるよとか言う制約読んでいなかった... #include <cstdio> #include <algorithm> using namespace std;</algorithm></cstdio>…

PKU 3269 Building A New Barn

PKU

要約 : 牛が二次元にn頭生えているので、全ての牛からのマンハッタン距離の和が最短となるような点は何個あるか??ただし牛がいるところは除く。どっかのJOIで見たサンタもどき。中央値を適正に考えると解ける。 隣接する点に牛がいないという制約のおかげで…

PKU 3616 Milking Time

PKU

3616 -- Milking Time DP苦手すぎるなあ はじめから終わる時間+休憩時間にその区間が終わるとみなすと楽かも(ほとんど同じ) ifdefとか試しに使ってみた #include <cstdio> #include <algorithm> #include <queue> using namespace std; #undef DEBUG struct WORK{ int s, e, c; bool op</queue></algorithm></cstdio>…

PKU3258 River Hopscotch

PKU

蟻本の練習問題。 岩の位置をソートして二分探索 #include <cstdio> #include <algorithm> using namespace std; int l, m, n; int rock[50000]; bool C(int d){ int last = 0; while(rock[last] < d){ last++; if(last == n) return false; } for(int i = 1; i < n - m; i++){ </algorithm></cstdio>…