唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

競技プログラミング

AtCoderのショートコード数で1位になってみた(コードゴルフ)

Competitive Programming (その2) Advent Calendar 2015の4日目の記事です注意、ショートコーディング(コードゴルフ)のテクニックっぽい話はほとんど載っていませんちょっと2ヶ月ぐらいAtCoderでショートコーディングをがんばってみました。楽しかったので…

CODE RUNNER 2015 予選Bに参加して32位ぐらいだった #coderunner2015

CODE RUNNERは3時間以内にプログラム(ゲームAIなど)を書いてスコアを競うマラソン型の競技プログラミングのコンテスト この形式のコンテストは参加したことなくて興味があったので、社会人でも予選までは参加できるので初参加してみた。coderunner.jp序盤は…

CodeIQ「ホリエモンからの挑戦状」を解いて賞金1246円を手に入れた

【3周年特別企画】ホリエモンからの挑戦状 | CodeIQcodeiq.jp 100万円を正解者数で割った金額が賞金としてもらえるというルール 6月20日ぐらいに挑戦した時は挑戦済みは2,3百人ぐらいだったけど、最終的には986人が挑戦したらしい問題の内容は、数値の配列と…

AtCoder Regular Contest 042 ◯◯◯- 1159->1180

54位 300点 Welcome to AtCoder Regular Contest 042 - AtCoder Regular Contest 042 | AtCoder 公式の解説 arc042 from AtCoder Inc. www.slideshare.net A: 掲示板 - AtCoder Regular Contest 042 | AtCoder 掲示板に\(1\)から\(N\)までのスレッドがある …

TopCoder SRM 663 Div1 o-- 1243->1264

久しぶりにTopCoderで問題を正解できました 解くのが遅かったのでレートは微増?位, 117.32点, +0/-0 challenge Volatility: ?->168 300: ABBADiv1 'A'と'B'の2種類の文字だけで構成された文字列、initialとtargetが与えられる(文字列の長さ\(N \le 50\)) 以…

AtCoder Beginner Contest 026 ◯◯◯◯

Welcome to AtCoder Beginner Contest 026 - AtCoder Beginner Contest 026 | AtCoder めずらしく全問解けたけど、WAをたくさん出して61位公式の解説 AtCoder Beginner Contest 026 解説 from AtCoder Inc. www.slideshare.net A: 掛け算の最大値 - AtCoder …

CodeIQ #フィズバズエクストリーム 問題に挑戦した

「フィズ・バズ・エクストリーム」問題 | CodeIQcodeiq.jp 問題は以下のような感じ \(10^9\) 以下の正の整数のうち、 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 の少なくともどれか一つの倍数となるものの総和を求めてください。 愚直に\(10^9\)までのすべての正…

TopCoder Open 2015 Round 2B --- 1250->1221

TopCoder Open 2015のRound2の2回目 朝6時開始に寝坊して間に合わなかったのだけど、開始が1時間遅れたので参加できた(?) 残念ながら例のごとく1問も解けず323位, 0点, +0/-0 challenge Volatility: 201->192Round2の3回目はオンサイト(ドワンゴ)でやるっぽ…

AtCoder Regular Contest 040 ◯◯◯- 1183->

49位 300点Splatoonネタの問題回 C問題までは比較的簡単に解けたが、D問題が難しくて部分点も取れず Welcome to AtCoder Regular Contest 040 - AtCoder Regular Contest 040 | AtCoder 公式の解説 AtCoder Regular Contest 040 解説 from AtCoder Inc. www.…

TopCoder SRM 660 Div1 x-- 1232->1250

あとちょっとでeasyが解けそうだったけど、残念ながら今回も1問も解けずorz230位, 0.0点, +0/-0 challenge Volatility: 218->201 250: Coversta 各マスに\(0\)から\(9\)の数字が書かれた四角形の盤面と、最大の長さが\(10\)の配列\(x, y\)が与えられる 盤面…

TopCoder Open 2015 Round 2A x-- 1232->1232

例のごとく1問も解けずorz382位, 0点, +0/-0 challenge Volatility: 241->218 250: ModModMod 正の整数の配列\(m\)と正の整数\(R\)が与えられる ただし\(m\)のすべての要素について\(1 \le m[n] \le 5000\)、また\(1 \le R \le 10000000\) \(1\)から\(R\)ま…

最良優先探索で15パズルを解いてみた(paizaオンラインハッカソン5+)

paizaの問題で15パズルを解くプログラムを書きました 与えられた配置をできるだけ少ないスライド回数で解く問題です(実行時間時間制限あり) レナとミナミの国際プログラミング選手権 | paizaオンラインハッカソン5+ 15パズル 15パズル - Wikipedia 1から15の…

AtCoder Beginner Contest 024 ◯◯◯×

久々の競技プログラミング 53位。D問題が解けない(´・ω・`) Welcome to AtCoder Beginner Contest 024 - AtCoder Beginner Contest 024 | AtCoder 公式の解説 AtCoder Beginner Contest 024 解説 from chokudai www.slideshare.net A: 動物園 - AtCoder Beg…

Google code jam 2015 Round 1C ◯◯△

277位、77点 なんとか今年もRound1を通過出来ました Problem A. Brattleship 配置された戦艦の場所を当てるゲームを行う 行が\(R\)個、列が\(C\)個の盤面で、大きさ\(1 \times W\)の戦艦がひとつ配置される 戦艦は水平線方向が長くなるような向きでしか配置…

AtCoder Beginner Contest 023 oo△△

微妙に競技プログラミングやる気が上がっているので参加 Welcome to AtCoder Beginner Contest 023 - AtCoder Beginner Contest 023 | AtCoder 65位 260点公式の解説 AtCoder Beginner Contest 023 解説 from chokudai www.slideshare.net A: 加算王 - AtCod…

Pythonワンライナーでpaizaオンラインハッカソン5に挑戦してみた

paizaがイラスト付きでプログラミングの問題を出しているpaizaオンラインハッカソンも5回目になりました 前回ぐらいから難易度が下がった代わりに、イラストとかストーリーとかに力を注ぎ始めているみたいです(?) なんとストーリーの分岐がありますマンガ版…

TopCoder SRM 658 Div1 x-- 1266->1232

0時という健康的な時間だったので参加 残念ながら1問も解けず344位, 0.0点, +0/-0 challenge Volatility: 255->241 250: OddEvenTree グラフのすべてのノード間のペアについて、距離が偶数か奇数かが与えられる 与えられる距離の偶奇を満たすある木の辺を出…

AtCoder Regular Contest 038 ooo- 1043->1183

32位 300点 Welcome to AtCoder Regular Contest 038 - AtCoder Regular Contest 038 | AtCoder ゴールデンウィークだったのでAtCoderに参加 C問題まで解けたのがよかったのか、めずらしくそこそこの順位がとれた 今回は2人ゲーム系の問題縛りでおもしろかっ…

TopCoder Open 2015 Round 1B o-- 1225->1266

微妙な順位でRound1を通過した312位, 228.26点, +1/-0 challenge Volatility: ?->255 TCO15 Algorithm R1B - Togetterまとめ 250: TheNicePair 整数のリストが与えられるので、そこから任意の範囲を選んだ時に範囲内の半分以上の整数が1以外の同じ数で割り切…

最近何回かTopCoder(Div1)に参加したけど1問も解けてない

修行の旅に出るか競技プログラミングやめたほうがよいっぽいEasyの問題は解説読めばわかりはするんだけどなぁ…… TopCoder SRM 655 Div1 x-- 1323->1312 SRM 655 - Togetterまとめ writeの解説 Short Editorial of SRM 655 Div1 Easy and Hard - Codeforces 2…

TopCoder SRM 654 Div1 o-- 1283->1323

たまたま時間的に参加できた 190th, 91.23pts, +0/-0 challenge Volatility: 324->304 SRM 654 - Togetterまとめ writerの解説SRM654 - sigma425のブログsigma425.hatenablog.com今回も途中で問題文に訂正が入ったのでunratedかと心配になったDiv1 Easyが動…

TopCoder SRM 649 Div1 o-- 1322->1283

442th, 95.3pts, +0/-0 challenge Volatility: 347->324 SRM 649 - Togetterまとめ 250: Decipherability 文字列\(s\)と数値\(K\)が与えられる(\(1 \le K \le 50\)、文字列の長さは\(K\)以下) \(s\)からちょうど\(K\)文字削除した文字列を考える その文字列…

TopCoder SRM 648 Div1 o-- 1319->1322

348th, 146.45pts, +0/-0 challenge Volatility: 384->347 SRM 648 - Togetterまとめ 250: AB \(N\)と\(K\)が与えられる(\(2 \le N \le 50\)) 文字'A'と'B'で構成された長さ\(N\)の文字列を考えた時に、文字'A'が'B'より前に来るような文字の位置のペアの数…

AtCoder Beginner Contest #017 ooo-

51位, 301点 いつものABCよりも難しく感じた 公式の解説 AtCoder Beginner Contest 017 解説 from chokudai AtCoder Beginner Contest 017 解説 A: プロコン - AtCoder Beginner Contest #017 | AtCoder 割合をかけて足すだけ 出力が整数なのに、急いでいて…

TopCoder SRM 646 Div1 o-- 1284->1319

199th, 145.04pts, +0/-0 challenge Volatility: 417->384久しぶりの参加 めずらしくDiv1 Easyが解けて、4ヶ月以上ぶりに、Div1で正の点数をとってレートが上がった SRM 646 - Togetterまとめ 250: TheConsecutiveIntegersDivOne 最大で47個の整数が与えられ…

ABCのA問題を早解きしたい / AtCoderで提出するときに自動で言語選択してくれる野良Chrome拡張を作った話

前に競技プログラミングのAtCoder Beginner Contest(ABC)のA問題の早解きに挑戦しようと思ってタイトルのような拡張を作ってました AtCoder (アットコーダー)では、なぜか各回の最初の提出時にプログラミング言語を毎回選択する必要があります コンテストの…

Pythonワンライナーでpaiza Online Hackathon 4 liteに挑戦してみた

paizaで新しいオンラインハッカソンが出題されていたので挑戦してみました エンジニアでも恋がしたい〜転職初日にぶつかった女の子が同僚だった件〜|paizaオンラインハッカソン4 Lite マンガ版「エンジニアでも恋がしたい!」〜転職初日にぶつかった女の子…

TopCoder SRM 638 Div1 x-- 1283->1284

156th, 0.00pts, +0/-0 challenge Volatility: 512->462いつもどおりDiv1 Easyが解けず。 Challengeいけそうな気がしたけど、毎回このパターンでマイナスの点になっているので我慢した 300: ShadowSculpture 立方体をいずれかの面がくっつくようにつなげてい…

TopCoder SRM 637 Div2 oo- 1168->1283

17th, 704.33pts, +1/-0 challenge Volatility: 501->512EasyとMediumの早解き回 部屋1位だった 1000点の問題を誤読していた(´・ω・`) SRM 637 - Togetterまとめ writerの解説 SRM637 - あなたは嘘つきですかと聞かれたら「YES」と答えるブログ SRM637 - あ…

素因数分解とかエラトステネスの篩(ふるい)とかのメモ

素数を求めたり素因数分解するのは競技プログラミングでたまに出てきます 計算量とか詳細をあまり知らなかったので基本的なアルゴリズムについて調べてみましたアルゴリズムや数学についてはあまり詳しくないので間違いがあったら指摘してください ランダウ…

TopCoder SRM 635 Div2 oo- 1077->1168

41st, 729.46pts, +0/-0 challenge Volatility: 515->5011000点は解けそうな問題だったけど解けず 部屋で誰も1000点を説いている人がいなかったので部屋1位だった SRM 635 - Togetterまとめ 250: IdentifyingWood 文字列s, tが与えられる tがsのsubsequence…

AtCoder Beginner Contest #014 ooox

Welcome to AtCoder Beginner Contest #014 - AtCoder Beginner Contest #014 | AtCoder 知り合いとLINEで会話してゲームのテストプレイに付き合いながら参加。 D問題が解けたと思ったらPythonが遅すぎてTLEだった 公式の解説 AtCoder Beginner Contest 014 …

TopCoder SRM 631 Div2 oo- 1019->1135

31th, 671.63pts, +0/-0 challenge Volatility: 422->???Hardが950点だったので解けるかなーと思ったけど、問題文の意味が理解できずにタイムロスをしまくってギリギリ時間内には解けなかったorz 250: TaroGrid column上の連続するセル数の最大値を答えるだ…

PythonでpaizaオンラインハッカソンLiteに挑戦した

天才火消しエンジニア霧島「もしPMおじさんが丸投げを覚えたら」|paizaオンラインハッカソンLite 問題設定 \(n\)個の会社それぞれに、エンジニアの人数\(q\)と価格\(r\)が与えられる 会社をいくつか選んで契約した時に、エンジニアの人数の合計がある値\(m\…

AtCoder Beginner Contest #012 ooox

Dが解けずに198位でした A: スワップ - AtCoder Beginner Contest #012 | AtCoder 2つの数値が与えられるので、順番を逆にして出力 # -*- coding: utf-8 -*- import math,string,itertools,fractions,heapq,collections,re,array,bisect def ls(): return ra…

TopCoder Open Round 2C o-- 1178->1236

517th, 97.42pts, +0/-1 challenge Volatility: 378->363途中で再提出したのとまたchallengeミスしたのが残念(300が通ったので首がつながった 300: SubstringReversal 文字列のある範囲を一回だけ反転できるときの辞書順最小になる交換範囲を答える現在の位…

TopCoder SRM 626 Div2 oo- 1147->1178

179th, 681.49pts, +0/-1 challenge Volatility: 414->378眠すぎたのかコードを読み間違えてチャレンジ失敗orz そろそろチャレンジ封印したほうがよさそうですね…… 10回目のRoom Winでした(Div2で稼ぎ続けている 250: SumOfPower 配列中の任意のあらゆる長さ…

AtCoder Beginner Contest #011 oooo

全問解けて33/361位でした 順位表 - AtCoder Beginner Contest #011 | AtCoder 回答状況 - AtCoder Beginner Contest #011 | AtCoder A: 来月は何月? - AtCoder Beginner Contest #011 | AtCoder 与えられた月の次の月を出力するだけ最速解答を目指して読み…

TopCoder SRM 624 Div2 oox 1067->1147

60th, 734.91pts, +0/0 challenge Volatility: 420->414前回マイナスの点を取って久しぶりのDiv2。250と500を早解きして1000は解けず。 9回目のRoom Win。 250: CostOfDancing 与えられたリストから小さい順に\(K\)個選んで総和を出力するだけ class CostOfD…

TopCoder SRM 620 Div1 x-- 1268->1207

743th, 0pts, +0/0 challenge Volatility 345->336ケアレスミスによって0点orz Div1の問題は解けない運命なのですね(違 250: PairGame 2つの正の整数のペア\( (a,b), (c,d) \)が与えられる。 ある正の整数のペア\( (x,y) \)から始めて、ペアの要素の片方にも…

Google code jam 2014 Round 1B ◯△△

ねむくてつらかった A-small、A-largeとB-smallとC-smallを解けて824位、1000位以内なので一応Round2まではいけるっぽい Problem A. The Repeater 文字列が\(N\)個与えられる ある文字の次に同じ文字を付け足すか、連続してる同じ文字を1文字削除するかの2つ…

AOJの問題を推薦――協調フィルタリングを試してみた

AIZU ONLINE JUDGE(AOJ)という競技プログラミングの問題を公開しているサイトがある。 AIZU ONLINE JUDGE: Programming Challenge 1年以上前にAOJを少しだけやっていた頃に、AOJの問題を推薦するスクリプトを書いたものの、特に公開も使用もせずに放置してい…

TopCoder SRM 617 Div1 --- 1350->1268 ――オイラーのトーシェント関数

690th, 0pts, +0/0 challenge Volatility 333->345 250: MyLongCake ある長さ\(n\)のケーキが与えられる。 \(n\)よりも小さな\(n\)の約数の人数の友達が来ることがわかっている。 何人友だちが来ても大丈夫なようにケーキを切るには、ケーキを最小で何ピース…

TopCoder Open 2014 Algo Round1B o-- 1339->1350(highest)

684th 197.2pts, +0/-0 challenge Volatility 369->333 Easyしか解けず 200: SpamChecker 最初スコアが0からスタートして入力の文字が'o'ならgoodを足して'x'ならbadを引いて、スコアがマイナスになったらスパム、最後まで0以上だったらスパムじゃないっての…

TopCoder Open 2014 Algo Round1A oo- 1338->1339

990th 394.37pts, +0/-0 challenge Volatility 409->369 Mediumで無駄にややこしいコードを書いてしまって、バグが取れずに終了5分前ぐらいまでコードを書いていた(´・ω・`)問題のeditorialが公開されている https://docs.google.com/document/d/1O5v5d_iY9…

TopCoder SRM 616 Div2 ooo 1199->1338(highest)

5th, 1097.27pts, +0/-1 challenge Volatility 321->409最近Challenge失敗続きなので本気で控えたほうが良さそうですね 250: WakingUpEasy ある整数から、配列の要素を循環させながら順に引いていって、何番目で0以下になるかを答える class WakingUpEasy: d…

TopCoder SRM 615 Div1 o-- 1211->1199

564th, 146.69pts, +0/-1 challenge Volatility 355->321例のごとくChallenge失敗してDiv2落ち。 250: AmebaDiv1 ある正の整数の大きさのアメーバがいて自分と同じ大きさの石があったら食べて2倍の大きさになる。 いくつかの石がある順で与えられ、最初のア…

TopCoder SRM 614 Div1 x-- 1211->1211

397th, 0pts, +0/-0 challenge Volatility 394->355Challenge失敗+システムテスト落ちでDiv2に落ちることが多いので、安全策でChallengeはせず。 結局250がシステムテストで落ちて0点でした。 250: MinimumSquare 二次元空間上の異なる点(座標はすべて整数)…

TopCoder SRM 612 Div2 oox 1097->1211

14th, 735.75pts, +2/0 challenge Volatility ?->394前回-25ptsを取ってDiv2に落ちたのですが、よい順位をとれたのでDiv1に復帰できました。 250: LeftAndRightHandedDiv2 右利きの人と左利きの人が連続した椅子に座っている。 右利きの人の左側に左利きの人…

AtCoder Regular Contest #018 oxo-

AtCoderのコンテストに久しぶりに参加(現実逃避 A,C問題を解けたのにB問題を解けずorz 131/339位でした 順位表 - AtCoder Regular Contest #018 | AtCoder C問題をPythonで正解した人の中では最速だったみたいです(そもそもPythonでやっている人があまりいな…

-->