intさわだんのBlack History

刹那的レジェンドになりたい。

2014-10-12から1日間の記事一覧

第9回日本情報オリンピック 本選 「つらら」

ちょっと考えたら解法が浮かんでくるのではないだろうか。 解法: d[i]をi番目のつららの長さとする。 まず、一番長いつららd[i]が折れるのにかかる時間はL-d[i]である。 次に、二番目にながいつららについて、その両隣のどちらかに自分より長いつらら(つま…

第9回日本情報オリンピック 本選 「お菓子の分割」

ヤバ問 解説は後ほど #include <cstdio> #include <algorithm> using namespace std; const int INF = 10000000; int n,t[10003]; int dp[2][5101][2]; int main(){ scanf("%d",&n); for(int i = 0;i < n-1;i++){ scanf("%d",&t[i]); } for(int i = 0;i < 2;i++){ for(int j = 0</algorithm></cstdio>…

第9回日本情報オリンピック 本選 「旅人」

累積和 入門 #include <cstdio> #include <algorithm> using namespace std; const int mod = 100000; int main(){ int n,m,d[100003]={0},ans=0; scanf("%d%d",&n,&m); for(int i = 2;i <= n;i++){ int tmp; scanf("%d",&tmp); d[i] = tmp + d[i-1]; } int nau = 1; for(int i </algorithm></cstdio>…

第8回日本情報オリンピック 本選 「認証レベル」

頭が悪い。解法: priority_queueと、二分探索をもちいた。 おそらくJOI解説とほとんどおんなじ。 気が向いたら詳しく説明します。priority_queue、大きいほうからでてくるのすっかり忘れてましたね #include <cstdio> #include <utility> #include <queue> #include <vector> #include <algorithm> usin</algorithm></vector></queue></utility></cstdio>…

第8回日本情報オリンピック 本選 「散歩」

解法: それぞれの座標に行く回数をn-1回分まで記録しておき、その回数が奇数だったら最初の文字(東、西)を反転させ、偶数の場合なにもしない。 最後にn回目の散歩の終わる座標を求めて出力。計算量O(HW)。 #include <cstdio> using namespace std; int h,w,n; int</cstdio>…