2025-01-01から1年間の記事一覧
はじめに 毎日開発業務で生成AIを使用していますが、AIについて断片的な知識しか持っておらず、網羅的に正確な情報をインプットしなければと、危機感を持ったのでこちらの本を読みました。 book.impress.co.jp 本の感想 この本は全部で以下の章構成になって…
AtCoder Beginner Contest 411 B問題 B - Distance Table 累積和を使用した回答 #!/usr/bin/env ruby n = gets.to_i d = gets.split.map(&:to_i) total = Array.new(n, 0) # 駅間の距離の累積和の配列 (0..n-2).each do |i| total[i+1] += total[i] + d[i] e…
AtCoder Beginner Contest 410 結果 AB2完、Cは計算量削減の方法の検討がつかずTLE撃沈でした。 パフォーマンス177、新レーティング326(△21) ここ4週連続でレートが転げ落ちています。。 AB問題の解くスピードが遅いこと、C問題を安定して解く実力がまだな…
はじめに AtCoderで配列を用意するときにArray.newをよく使用するのですが、同一オブジェクトを参照する挙動やブロックの記法などが曖昧になってしまっているので、自分用に記憶定着のためアウトプットします。 記法 Array.new(要素数、オブジェクト)と書く…
ABに30分時間を消費しCも計算量見積もりが甘く今回は全くダメでした。 ABは10分程度で解けないといけない問題だったと思います。 最近練習量が落ちていることが確実に影響していますね、、気合を入れ直したいと思います。 パフォーマンス248、新Rating363(△…
C問題撃沈。 難易度が高めだったようでレーティングは上がりました。 パフォーマンス572、新Rating378(+22)。 C問題 ランレングスエンコーディングを用いた回答 atcoder.jp チルダ型になる条件を考察することはできましたが実装に至りませんでした。 ラン…
ABC3完答でしたがC問題に時間がかかり低調なパフォーマンスでした。 パフォーマンス287、新Rating356(△8)。 C問題 提出コード atcoder.jp 普通に実装するとO(N2)になるので配列の合計値を利用することで計算量を削減する実装を思いつくことができました。 …
結果はAC完答でパフォーマンス475、新Rating364(+12)でした。 B問題に手こずってしまいました。 回転する操作を行う回数が 0,1,2,3 回のいずれであるかを 4 通り全て試すことで解くことができたのですが、複雑に考えてしまいその方針に辿りつけませんでし…
AtCoder ABC401振り返り 結果はAB2完、パフォーマンス252、新Rating339(△11)でした。 C問題はAnを配列の合計値を都度求める方法をイメージしましたが、TLEにならないような工夫の効いた効率の良い方法を思いつくことができませんでした。 回答案を見るとコ…
AtCoder ABC399振り返り ABC3完。パフォーマンス544。新Rating350(+21)。 C問題 atcoder.jp 連結成分をBFSで求める実装。 過去問でやっていたのでほぼそのまま。 #!/usr/bin/env ruby n, m = gets.split.map(&:to_i) # bfs to = Array.new(n){[]} # 各頂点…
AtCoder ABC398振り返り ABC3完。パフォーマンス339。新Rating329(+1)。 コンテスト開始前にPCの環境を整えるのに手間取って10分ロスしてしまった。 またB問題でコード修正を保存せずに提出してしまってペナルティをくらった。 ちょっと緩んでますね、、 B…
AtCoder ABC397振り返り C問題撃破。パフォーマンス443。新Rating328(+12)。 自身最高レーティング更新。 C問題 atcoder.jp 提出コード n = gets.to_i a = gets.split.map(&:to_i) len = a.size set1 = Set.new cb1 = [] set2 = Set.new cb2 = [] (0..len-…
AtCoder ABC396振り返り C問題撃沈。パフォーマンス322。新Rating316(+0)。 C問題は降順ソート、累積和は分かったのだけど、2重ループの計算量を削減する実装ができなかった。 解説動画を見て納得。 C問題 atcoder.jp 解答 n, m = gets.split.map(&:to_i) …
AtCoder ABC395振り返り ABC3完。パフォーマンス441。新Rating316(+13)。 D問題でまた鳩の問題だったから笑った。問題作成者は鳩好きなのかな? 前回の鳩問題を経験していたので、全く太刀打ちできない訳ではなかったものの、解ききれなかった。 D問題 atc…
AtCoder ABC394振り返り Cで大ハマりして撃沈。パフォーマンス178。新Rating303(△17)。 C問題 atcoder.jp このコードがどうして通らないのか分からず、最後まで時間を使っても解ききれず撃沈。 iの一つ前しかチェックしないので、WACはACCになるけど、たと…
ライブラリの依存関係を調べるために、よくnpmの公式サイトを彷徨っていたが、情報が見つからず何かと不便に感じていた。 便利なコマンドがあるのを知ったのでメモしておく。もっと早く知りたかった。 npm info ライブラリ名@バージョン dependencies 例え…
はじめに 英会話学習サービスのCamblyを2024年9月に初めて、週に60分(1回15分を週に4回)ネイティブの先生と英会話をしている。現在までに総英会話時間が1245分に到達したので、できるようになってきたこと、ならないこと、これからについてメモしておく。 …
AtCoder ABC393振り返り ABC3完。パフォーマンス356。新Rating320(+4)。 2週連続でC問題を解ききることができた。 もっと早解きしないとレートは上がらないけど、実力はついてきているはず。 C問題 atcoder.jp setとincludeで計算量を小さくする工夫を実装…
docker compose up実行時に以下のようなエラーが発生した。 E: You don't have enough free space in /var/cache/~~~. コンテナ内でパッケージをインストールしようとした際に、ディスクの空き容量が不足していたために発生したエラーだと分かった。 docker …
AtCoder ABC392振り返り ABC3完。パフォーマンス367。新Rating316(+6)。 Cまで38分で解くことができたが順位もパフォーマンスもそこまで高くなかった。 これではまだまだ遅い。 C問題 atcoder.jp 提出コード ansにq[i]も保持するようにして最後にソートし…
競プロで条件がtrueの時に答えを出力して即座にexitしたいときがよくある。 if文を1行で書くと意図しない動作になることがある。 このようなコード h.times do |i| w.times do |j| puts "#{i} #{j}" if a[i][j] == "." exit end end これだとif a[i][j] == "…
AtCoder ABC391振り返り AB2完。パフォーマンス239。新Rating310(△9)。 B問題に時間を取られてしまった。でも解けたのは実力がついてきた証拠だと思うので前向きに捉える。 C問題、おそらく易しめだったと思うしこれは解ききれるようにしないと。とても悔…
yarn install時にglコマンドの実行に失敗したため、エラーの原因を探るためyarn whyコマンドを使って調査したところ、このコマンドがとても便利だった。 warning Error running install script for optional dependency: "/node_modules/gl: Command failed.…
AtCoder ABC390振り返り ABC3完。パフォーマンス692。新Rating319(+40)。 Cの解法が割とすぐに思いついて実装できたので嬉しい。 A問題 atcoder.jp 提出コード dupで配列を複製する解法で実装した。 a = gets.split.map(&:to_i) x = [1,2,3,4,5] if a == x…
AtCoder ABC389振り返り C問題TLEで最後まで粘るも解けず...。パフォーマンス199。新Rating279(△11)。 C問題 atcoder.jp 提出コード(TLE) type2のクエリの動作をmapで実装したが案の定TLE。 抜けるへびの長さを記憶しておいて、type3で出力するときに引け…
プロジェクトのバージョンアップ作業に伴い、bundleについて理解を深めるために公式ドキュメントを確認してみた。 bundler.io Bundlerとは? Bundlerは、必要なgemとバージョンを正確に追跡してインストールすることで、Rubyプロジェクトに一貫した環境を提供…
AtCoder ABC388振り返り ABC3完。パフォーマンス328。新Rating290(+5)。 Cが解けたのは上出来。でも二分探索は練習不足で時間がかかり過ぎてしまったので、パフォーマンスはあまり高くなかった。 もっとサクサク書けるように練習しよう。 B問題 atcoder.jp…
AIプラットフォーム「Devin」の働きぶりがすごいらしい。 zenn.dev zenn.dev テストコードの作成などのタスクを与えるとGitHubにPRまで作成してくれるそう。 料金は従量課金で1ヶ月あたり500$〜ととてもお安い。 Devinをパートナーとして新しい価値を生み出…
AtCoder ABC387振り返り AB2完。パフォーマンス386。新Rating285(+10)。 C問題がかなり難しかった。1800人弱しか正解できていなかったようだから、かなり難易度が高かったと思う。 手も足も出ずに断念。 C問題 A・Bは易しかったので割愛。 atcoder.jp 桁数…