2013-01-01から1年間の記事一覧

JOI 2012-2013 本選 問題1 電飾

反転回数は最大でも1回かと思っていたけど2回だった。反省 #include <iostream> #include <vector> #include <algorithm> using namespace std; // 前回反転させた, 前回のランプ, 場所 int dp[3][2][100001]; int main() { int n, k, ans = 0; vector<bool> a; cin >> n; for(int i = 0; i < n;</bool></algorithm></vector></iostream>…

JOI 2013-2014 予選4番

最近forで回すDPの方が書きやすい、と感じている最初、鍵を持っている人の情報を持ってしまっていて重複したケースも数え上げてしまっていて時間が結構かかった。 #include <iostream> #include <cstdio> #include <string> #include <vector> #include <map> #include <algorithm> using namespace std; const </algorithm></map></vector></string></cstdio></iostream>…

PKU 1036

少し読解困難だった. はTLEするが,の処理は外に出すことができるためとなる. dp[i][j] := i時間で扉がjの状態であるときに,来訪するgang達の価値の総和の最大値#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <vector> #include <string> #include <map> using </map></string></vector></algorithm></cstring></cmath></cstdio></iostream>…

JMC 2014 4番

pastaっぽいと思った。作問のプロだと感じた(小並感) #include <iostream> #include <cstdio> #include <string> #include <vector> #include <map> #include <algorithm> using namespace std; int dp[128][128][2]; bool m[128][128]; const int MOD = 100000; int main() { int N, M, L, a, b; cin >> N >> M</algorithm></map></vector></string></cstdio></iostream>…

PKU 1014

JOI予選が近づいてきて,JOI予選の過去問解いてない後輩を煽るためPKUのDP問題解いてます(意味不明) 問題概要 価値が1から6まであるビー玉がある.入力には各々の価値のビー玉の個数が与えられている.二人はビー玉を任意の個数選び,ビー玉の価値を二等分…

AOJ 0271: Izua Dictionary

解説 文字列をsとして愚直にシミュレーションしていくと、sを適当に入れ替えたときのi番目(1 割とゴリ押しな感じあふれてる。 ソースコード めっちゃ汚い… typedef long long i64; const i64 MOD = 1000000007; const int MAX_N = 100002; struct BinaryInde…

AOJ 0231 Dangerous Bridge

解法 高々100人の情報しかないので、座標圧縮すると最大でも200回ループ回せば終わる。 ソースコード struct P { int m; long long a, b; }; int n, from[128], to[128], sum[128]; P p[128]; int main() { while(scanf("%d", &n) && n) { string ans = "OK"…

AOJ 0261 Mayan Crucial Prediction

訳 日本語なので省略 解説 マヤ暦→西暦 最大でも2016000日を処理するので愚直にループを回せばいける。 あと((((b*20+ka)*20+t)*18+w)*20+ki)とかで求めようとするとバグ埋め込む原因になった(自分の場合は) 西暦→マヤ暦 先に閏年を求めるのでy-2013回ルー…

Codeforces Round #168 (Div. 2) B. Convex Shape

訳 n*mのグリッドが与えられ、1マスごとに黒色か白色の情報が与えられる。以下の条件を満たすとき凸の図形である。 黒色のマスから隣接する黒色のマスに移動することができ、移動する向きを2回以上変えずに全ての黒色のマスに辿り着くことができる。 与えら…

AOJ 0263 Beat Panel

解法 パネルの状態を持ってメモ化再帰。 dp[i][S] := 今譜面iを見てパネルの状態Sのときの最大の獲得得点 勝手に前回使った運指は使わない(SRM?か何かでそんな感じの問題があったような…)という条件を付け足したことで冷え。 パネルの状態はbitとかvectorと…