読者です 読者をやめる 読者になる 読者になる

水面下の夢

競プロやイラストに興味があります.メインブログがここ.ソシャゲの話はこっち(http://ameblo.jp/0n0-yumechi/).ブログアイコンはYaQ(@8_9_00)さんから.

No.458 異なる素数の和

ネタバレになるので。。。

No.450 ベー君のシャトルラン

No.450 ベー君のシャトルラン - yukicoder yukicoderのAdventカレンダー2016 1問目の問題なので、ネタバレ見たくない人は回れ右で。

No.455 冬の大三角

yukicoderのAdventカレンダー問題、まだコレしか着手できてない…。 問題 No.455 冬の大三角 - yukicoder ある2点が星になっている地図があるので、もう1点を星にして(どんな形でも良い)三角形を作る問題。 方針 ある1点について隣接する上下左右の4隅のど…

No.411 昇順昇順ソート

c++初心者の自分が知らなかったことがあったので、メモ。No.411 昇順昇順ソート - yukicoder

No.392 2分木をたどれ

毎日ブログを書かないとなあ。 No.392 2分木をたどれ - yukicoder 個人的には2進数っぽくて好きな問題。例えば、13から0に向かうことを考えます。(ちなみに13はRRLです。) 13を2進数変換すると1101になるわけですが、これを右シフトします。すると6になり…

No.365 ジェンガソート

No.365 ジェンガソート - yukicoder恥ずかしながら問題を読み間違えていた(挿入ソートやんこれではない) 元の並びをどれだけ活かしてソートできるかなのですが、私は手元のノートでの考察を間違えており考察失敗しました。大反省です。 解説見たら一瞬で解…

No.350 d=vt

No.350 d=vt - yukicoder解法はこの2つになりそう。 文字列を分割して、10000倍して、整数で計算してから戻す。 Decimalなどの任意精度演算ライブラリを使う 両方で解いてみました。Python3です。 整数で計算してから戻すパターン。#81031 No.350 d=vt - yuk…

No.349 干支の置き物

No.349 干支の置き物 - yukicoder絶対に隣りあわないパターンかどうかを判断する問題。 もしこの中で一番多い種類を考えると、ABABABABAのように1つ置きにAが現れるパターンが最大で、これを超えてしまうと絶対どこかで隣り合ってしまう。 よって一番多い種…

No.250 atetubouのzetubou

No.250 atetubouのzetubou - yukicoder難しかったです…。 見たことあるような感じだったんですが、どうも組み合わせの数が合わないと思って解説を読んだら、自分が考えた組み合わせがめちゃくちゃだったみたいですね…。(小さいケースで全部試してみて、数の…

No.314 ケンケンパ

No.314 ケンケンパ - yukicoder本当に典型的なDP問題。 なお、私は考察に失敗し、一般項を出すことに失敗しました。(考察が弱いかも…) ハム吉さんの解説の通り、和が少ないものの時に試すと以下のことがわかります。 hamukichi.hatenablog.jp というわけで…

No.347 微分と積分

No.347 微分と積分 - yukicoder微積の式に突っ込んでいきます。 私は微積の式なんて忘れてしまっていたので、ぐぐりました。 というか、式で出せそうな奴はどんどんググらないとダメですね…。ただし、微分の時は0.0の場合、整数となるので無視する。積分の時…

No.346 チワワ数え上げ問題

#80607 No.346 チワワ数え上げ問題 - yukicoder作りうるc.*w.*w列の数は?という問題。前から見てもTLEするケースが少なかったので、前から見てもなんとかなると思ってしまった。 yurahunaさんの解説の通り、後ろから出現したwの数を数えておき、cが出るたび…

No.345 最小チワワ問題

No.345 最小チワワ問題 - yukicoderyurahunaさんがすでに解説を書いているので、私が書く意味は殆ど無いのですが、まあ記録のために一応。pakapa104.hatenablog.com 最短でc.*w.*wがでるようなパターンを求める問題。 あれ、これもしかして最短チワワ問題な…

No.342 一番ワロタww

落ちるテストケースの予測がうまく行かず,WAを連発した問題 No.342 一番ワロタww - yukicoder 回答 #75835 No.342 一番ワロタww - yukicoder 以下のアルゴリズムで回答した.(見直したら一部簡略化出来た) 文字列の先頭から続くwを切りとる (追記)…

No.341 沈黙の期間

久々にYukicoderに出た.問題 No.341 沈黙の期間 - yukicoder回答 #75649 No.341 沈黙の期間 - yukicoder最長マッチする文字列を検索する.Pythonの正規表現のライブラリの中に,findallというものがあり,これを使うとマッチした文字列のリストを取り出すこ…

No.49 算数の宿題

問題 No.49 算数の宿題 - yukicoder 回答 最初の回答(分岐が多すぎて嫌になった) #61464 No.49 算数の宿題 - yukicoder書き直した方(最初のものに比べ分岐が減ったうえ,コード長が半分になってすっきり) #61799 No.49 算数の宿題 - yukicoder 追記 よく…

No.306 さいたま2008

問題 No.306 さいたま2008 - yukicoder 回答 #61462 No.306 さいたま2008 - yukicoder二分探索しようとして失敗した. 解説を見て,あー…(思考停止)ってなった.なんというか,普通に高校数学とかを知っていれば解ける問題です. AとBの座標が与えられるの…

No.305 鍵(2)

問題 No.305 鍵(2) - yukicoder 回答 #60773 No.305 鍵(2) - yukicoder今度は桁数が大きいため,単純な総当りではダメです. 幾つか解決方法があると思いますが,私の解決方法を.このクエリは,投げると X locked のように帰ってきて,Xがいくつ合っていた…

No.304 鍵(1)

問題 No.304 鍵(1) - yukicoder 回答 #60438 No.304 鍵(1) - yukicoder桁数が少ないので,総当りでOK. リアクティブなので,flushを忘れずに.あと,rubyで0詰めした文字列を作る場合,formatというメソッドを使うことで出来る. (最近気分で書く言語変え…

No.40 多項式の割り算

問題 No.40 多項式の割り算 - yukicoder 回答 #60165 No.40 多項式の割り算 - yukicoder x^3-xで割り算した結果はどうなるか,という問題. x^3で割れる範囲で割っていく.割れなくなったら出力.という,割りとやるだけの問題であったのにもかかわらず,な…

No.164 ちっちゃくないよ!!

問題 No.164 ちっちゃくないよ!! - yukicoder 回答 #59800 No.164 ちっちゃくないよ!! - yukicoder 元ネタはWORKING!!の種島ぽぷらちゃんのセリフですかね(たまには元ネタの推測をする) 各数について最小となるような進数を考え,最小となる進数での表…

No.297 カードの数式

問題 No.297 カードの数式 - yukicoder 回答 #58090 No.297 カードの数式 - yukicoder 結構,めんどくさい感じになってしまった(コード長め)

No.296 n度寝

問題 No.296 n度寝 - yukicoder 回答 #57449 No.296 n度寝 - yukicoder起きた時間 - 1 回分寝続けるわけだから,その時間分だけ,分に足す. そのあと,時の方に足す. 最後に時の方を24の余り,分の方を60の余りを取るように出力….一回目なんか剰余取るの…

No.152 貯金箱の消失

問題 No.152 貯金箱の消失 - yukicoder 回答 #56687 No.152 貯金箱の消失 - yukicoder4個同じ直角三角形を指定した長さL以下で作れるかどうかという問題. 条件を言い換えると,L/4以下の長さで作れる直角三角形を求め続ければ良い. その三角形を求めるため…

No.39 桁の数字を入れ替え

問題 No.39 桁の数字を入れ替え - yukicoder 回答 #56811 No.39 桁の数字を入れ替え - yukicoder入れ替えのパターンを全部試せば良い. 文字列として保持しておき,入れ替えて毎回整数型に変換,最大値かどうかを判定する,という操作を繰り返す. こういう…

No.133 カードゲーム

問題 No.133 カードゲーム - yukicoder 回答 最初のやつ #56598 No.133 カードゲーム - yukicoder改良版 #56599 No.133 カードゲーム - yukicoderAくんとBくんに同じ枚数のカードが配られるので,カードを出しあって勝った回数が多いものを勝者とする.(カ…

No.240 ナイト散歩

久々に更新しておこうと思う. 問題 No.240 ナイト散歩 - yukicoder 回答 #55893 No.240 ナイト散歩 - yukicoderタグにあるとおりで,幅優先探索していく. 本当は,要素数が3つの配列をqueueに突っ込みたかったが,方法がわからず,断念. pair< <pair<int, int>, int> の</pair<int,>…

No.285 消費税2

問題 No.285 消費税2 - yukicoder 回答 #52866 No.285 消費税2 - yukicoder普通に1.08をかけて出力すると,誤差が出て見事に死んでしまう. なので,108をかけて,文字列に変換,最後二文字以外+"."+最後二文字を出力してあげると,うまくいきます. (コ…

No.16 累乗の加算

問題 No.16 累乗の加算 - yukicoder 回答 #45705 No.16 累乗の加算 - yukicoder解説を見ながら解けているものの,いまいちわかってない感じです. ただ,A^7をもとめるとすると,A^7 = A^4 * A^2 * A^1なので,同様にしてビットをよく見ながら更新していけば…

No.80 四角形を描こう

問題 No.80 四角形を描こう - yukicoder 回答 #45700 No.80 四角形を描こう - yukicoder割と総当りですかねえ. 面積は頑張って立式した.Dcm D = 2(x + y), 1 < x < D/2, 1 < y < D/2 S = x * y = x * ( D/2 - x ) = - x^2 + (D/2)x— yumechiさんと最後の夏…

No.167 N^M mod 10

問題 No.167 N^M mod 10 - yukicoder 回答 #45698 No.167 N^M mod 10 - yukicoder気がつくか気が付かないかの問題のような気がする. 下一桁に注目する.じつは4回をワンループとし,下一桁の計算結果を持ってくることが可能である. (解説のとおりだけど自…

No.44 DPなすごろく

問題 No.44 DPなすごろく - yukicoder 回答 #45693 No.44 DPなすごろく - yukicoderすごく単純なDPの問題. ただしこのサイコロ,1か2しか出ないんですね….そこに気づかず(ry先頭から計算をしていき,積み上げていくことで普通に出ます. DPの理解ができ…

No.161 制限ジャンケン

問題 No.161 制限ジャンケン - yukicoder 回答 #45692 No.161 制限ジャンケン - yukicoderまずひたすら勝つようにじゃんけんして,その後手を更新する. そのあと,ひたすらあいこになるようにじゃんけんして,計算する….単純なのですが,最初グー,ちょき…

No.183 たのしい排他的論理和(EASY)

DP 練習タイム 問題 No.183 たのしい排他的論理和(EASY) - yukicoder 回答 #45092 No.183 たのしい排他的論理和(EASY) - yukicoderこれもDPで次々に計算結果を更新していく. 値を適応した結果をDPに書き込み,最後にDPに書き込んだ数を数え上げて終わり.こ…

No.4 おもりと天秤

なんか前にも行ったかもしれないが,DP使うタイプの問題はC++でかく. 問題 No.4 おもりと天秤 - yukicoder 回答 #45087 No.4 おもりと天秤 - yukicoder合計値が奇数なら,おもりの両端が釣り合うことがないので,即impossible. そうでなければ,左側に重り…

No.170 スワップ文字列(Easy)

問題 No.170 スワップ文字列(Easy) - yukicoder 回答 #45073 No.170 スワップ文字列(Easy) - yukicoder結果から言えば,解説通りの解き方をした. 出現数が多い文字列から組みあわせを掛けあわせる. ちなみに,No.171も基本的にはこれで溶ける.No.170くら…

No.268 ラッピング(Easy)

問題 No.268 ラッピング(Easy) - yukicoder 回答 #44893 No.268 ラッピング(Easy) - yukicoder割と自然に思いついた. 個人的にこのコンテストの1問目(トランプのやつ)より簡単に感じました…. 結論から言えば,紐の組み合わせで総当りします. それ…

No.267 トランプソート(あんまり良くない例)

問題 No.267 トランプソート - yukicoder 回答 #44841 No.267 トランプソート - yukicoder明らかな悪い例なので,適当にコメントします. こんなに複雑なのを本番で書いてたらそりゃスコアも上がらないでしょう\(^o^)/悪い例の回答アルゴリズムですが, 読…

No.3 ビットすごろく

問題 No.3 ビットすごろく - yukicoder 回答 #44663 No.3 ビットすごろく - yukicoder幅優先探索で見つける.見つからない場合は,到達不可能.-1を出力. 探索回数はちゃんとメモすること.(最初忘れてた)幅優先探索,こういう書き方ばかりしているが,も…

No.8 N言っちゃダメゲーム

問題 No.8 N言っちゃダメゲーム - yukicoder 回答 #44655 No.8 N言っちゃダメゲーム - yukicoderなんか過去に解いた問題に似ている. N % (K + 1) = 1 となる場合のみ負ける.この時はN-1を後攻が確実に言うことができるためである. それ以外は勝利. KがN-…

No.112 ややこしい鶴亀算

問題 No.112 ややこしい鶴亀算 - yukicoder 回答 #44646 No.112 ややこしい鶴亀算 - yukicoderなんか問題を読み取れた瞬間にぱあっと溶けました…. よくかんがえると,つる,かめのどちらかならば,つるのやつはみんな同じ足の数になるため,(かめも同様) …

No.123 カードシャッフル

問題 No.123 カードシャッフル - yukicoder 回答 #44641 No.123 カードシャッフル - yukicoderもっと賢い方法があると思うが,この計算時間,入力ケースならば無理やり並び替えればOKなのですね. リストくっつけるのはPythonが個人的に一番楽…,私は他の言…

No.178 美しいWhitespace (1)

問題 No.178 美しいWhitespace (1) - yukicoder 回答 #44627 No.178 美しいWhitespace (1) - yukicoder結構実装がめんどくさかった記憶. まず,入力データの受取と同時に最大のスペースのものを求める. で,入力データがすべて奇数,または偶数であること…

No.104 国道

問題 No.104 国道 - yukicoder 回答 #44623 No.104 国道 - yukicoder結果的にこれ2進数表記に落とせるのであった…. なので,とりあえず文字列でいっぱいくっつけていって,最後に2進数を10進数に変換すればOKと.自力で気づけたのでよかった.考察がそ…

No.175 simpleDNA

問題 No.175 simpleDNA - yukicoder 回答 #44616 No.175 simpleDNA - yukicoder並び替え可能な組み合わせをひたすら求める. 終止コドンがどうこうということだから,その前はどう並び替えられるかを求める必要がある. 全体の長さからコドンの長さを引いて…

No.172 UFOを捕まえろ

問題 No.172 UFOを捕まえろ - yukicoder 回答 #44614 No.172 UFOを捕まえろ - yukicoderなんでこの式になるのか,めっちゃ考えてしまった…. 解説を読んで一応理解しました.http://yukicoder.me/problems/388/editorial#計算ができれば簡単な式に落とし込め…

No.116 門松列(1)

問題 No.116 門松列(1) - yukicoder 回答 #44605 No.116 門松列(1) - yukicoder最初問題文が読み取れなかったのですが,要は連続する3つの要素を見て,真ん中になるものが,右端または左端になるかどうかを判断する. (要するになっていない) あと連続し…

No.56 消費税

問題 No.56 消費税 - yukicoder 回答 #44604 No.56 消費税 - yukicoder普通に… 計算すれば… 良い…. うん…★1ってただ実装すれば良い問題が多いことに改めて気づき始める. import math d, p = map(int, input().split()) print(d + math.floor(d * p * 0.01))

No.57 ミリオンダイス

問題 No.57 ミリオンダイス - yukicoder 回答 #44603 No.57 ミリオンダイス - yukicoderサンプル見てたら,計算結果が 3.5 × ダイスの数 ということがわかる. print(3.5 * int(input()))

No.63 ポッキーゲーム

問題 No.63 ポッキーゲーム - yukicoder 回答 #44602 No.63 ポッキーゲーム - yukicoderこれも与えられた通りに計算していくだけですね. l, k = map(int, input().split()) l = l - l % (k * 2) if l % (k * 2) != 0 else l - k * 2 print(l // 2)