srupのメモ帳

競プロで解いた問題や勉強したことを記録していくメモ帳

2016-07-16から1日間の記事一覧

yukicoder No.6 使いものにならないハッシュ

問題 問題概要 省略 解法 ハッシュて書いてあるけど、特に知識などはいらず、ハッシュ生成の作業を実装するだけ。素数判定の部分にエラトステネスを使ってる。 またハッシュ生成後は1ケタの数字となるので、生成後の数字は多くても0~9の10通りに絞られるん。…

yukicoder No.4 おもりと天秤

問題 問題概要 省略。 解法 dp[i番目までのおもりを見た時][左側の重さj] := (trueならある)というbool型の配列を用意して、i番目のおもりの時に、左側の重さがjが存在するかをdpで探索していく。単純におもりが左の天秤なのか右の天秤なのかでやってしまう…

yukicoder No.3 ビットすごろく

問題 問題概要 省略。 解法 エラトステネスをイメージしてやった。アルゴリズムは幅優先探索を利用している。queueにスタート時点の1をいれて、そのあとは、2進数にした時の1の数によって、両側に動いた場所を調べている。幅優先探索で調べると、移動が少な…

yukicoder No.2 素因数ゲーム

問題 問題概要 複数山の石取りゲーム 解法 まず、素因数分解をします。そして、同じ素因数の数を数える。素因数の因数のどおしをxorで計算する。すべての素因数に対してその処理を行い、その結果が0であれば、後攻の人がかつ。この問題は必勝法が存在するの…

yukicoder No.1 道のショートカット

問題 問題概要 省略 解法 この問題は町どおしを有向グラフでつないでおり、現在の町の番号は増える方向に必ず増えるように条件が与えられている。そして、残り残金も減る方向に行くので、この問題はDAGグラフで考えることができ、dpで解くことが出来る。 dp[…

yukicoder No.397 NO MORE KADOMATSU

問題 問題概要 門松列をぶち壊す。 解法 何回でも並び替えていいので、昇順または降順に並び替えてしまえば、大丈夫。バブルソートで実装した。 ミス なし。 コード #include <iostream> #include <algorithm> #include <vector> #include <cstdio> using namespace std; typedef long long ll; ty</cstdio></vector></algorithm></iostream>…

yukicoder No.396 クラス替え

問題 問題概要 省略 解法 2m個で循環するので、mod(2m)で計算してる。modを取った後の値がmより大きいか、小さいかで場合分けして、数字が昇順に並ぶ部分なのか、昇順に並ぶ部分なのかで考えて、何組なのかを考えている。 ミス 1オリジンでやっていてばぐら…

yukicoder No.395 永遠の17歳

問題 問題概要 省略 解法 X進数で表した時17となるXを求める。17の1が数字X分の大きさを持つので、X + 7 = nより X = n - 7を解答として出力すればいい。ただし、17ということは少なくとも8進数以上であることを意味する。X = 8のときn = 15より、nが15より…

yukicoder No.394 ハーフパイプ(1)

問題 問題概要 省略 解法 ソートしてやるだけ。ソートして1番目のものと最後のものを除いた和をだし、それを4で割って平均を出している。 ミス 小数点第2位まで。。 コード #include <iostream> #include <algorithm> #include <vector>> #include <cstdio> using namespace std; #define all(v</cstdio></vector></algorithm></iostream>…