学習メモ AtCoder ABC129 C - Typical Stairs

atcoder.jp

AtCoder Beginner Contestの過去問を少しずつ解き始めたので、メモ。 DPの典型問題は手が勝手に動くくらい訓練しておきたい。

(※大したコードは書けていないので、この記事を参考にするのは推奨しません。)

N, M = map(int, input().split())
MOD = 1000000007

collapsed = [False for _  in range(N+1)]
dp = [0 for _ in range(N+1)]  # 0: 未到達orルートなし

# ステップ崩壊地点を登録
for _ in range(M):
    a = int(input()) # 1-indexで定義する
    collapsed[a] = True

# 初期化
dp[0] = 1
if not collapsed[1]:
    dp[1] = 1

for i in range(2, N+1):
    if collapsed[i]:
        continue
    # 剰余を求める計算は細かくやった方がメモリ&計算時間の観点で有利
    dp[i] = (dp[i-1] + dp[i-2]) % MOD

# ans
print(dp[N]) 

コーディング勉強進捗メモ【11月】

denkoshinrai.com

PAST公式本(エントリー〜中級)もある程度すすんで、2/3程度消化したのでメモ

DONE

  • グラフ
  • 計算量
  • DFS/BFS
  • DP
  • 累積和
  • 貪欲法
  • 二分探索
  • 最短経路問題(ダイクストラ法)

TODO

  • 最短経路問題(ワーシャル・フロイド法)
  • 最小全域木問題
  • 細かいテクニカルな話など

自分のような一般人にも理解できるくらい解説が丁寧だし、解答例のコードもきれいでとても読みやすい。良本。

2025年11月1週 今週気になった技術ネタ

次世代Pythonノートブック「marimo」について

今更感あるけど、この資料が良い感じ経ったのでメモ📝

軽く触ってみたが、Jupyterで感じていた不満点を丁寧に潰した感じがあって、ストレスがかなり軽減されている。

.pyファイルで定義されているのがありがたいのと、Jupyter特有のセルの依存関係がごちゃごちゃになる感じだったり、Git差分周りで治安が荒れやすくなる箇所が解消されている。

まだ試していないが、DBやAI連携も結構やりやすそう

2025年10月4週 今週気になった技術ネタ

ChatGPT Atlas

chatgpt.com

OpenAIからAI搭載Webブラウザがリリースされて、早速色々な使い方が開拓されつつあって色々Xの投稿を眺めるのがおもろい。

どなたかがポストされていたが、人間向けに作られていたこれまでのWebの設計ではAIによる参照がゲロ遅いので、AI用のWebの最適化がトレンドになってきそうというのは、確かにそうかもなあと。

ただ、プロンプトインジェクションはじめセキュリティ面が怖くてまだ本格導入は様子見。 お遊び利用がメインかなあ。

参考:

brave.com

2025年10月第3週 今週気になった技術ネタ

主にAI関連

LLM Servingの技術記事

https://zenn.dev/kotoba_tech/articles/98feb05f24c082

Claude Skillsは確かに良さそう

ただいまプレビュー中の機能。

専門的なタスクに特化するように、カスタマイズできるやつ。

https://www.anthropic.com/news/skills

【skill-creator】という、Antropic公式で提供されているSkillを作成できるカスタムSkill(紛らわしいw)を利用して「英会話講師役」をつくったり、

mcp-builderを利用して、適当なMCPを作成したりしてみたり...

早速試してみたけど結構良い感じかも。(小並感)

https://t.co/S9fQlloUaq

↑の記事で指摘されている通り、確かに消費するToken数は少なくて済みそうでありがたい...

棲み分けは確かに以下の感じになるんだろうなあ...

https://x.com/kazunori_279/status/1979247962376278511

CuckooというAI通訳アプリ

www.cuckoo.so

こんなのあるんだなあ...

チームみらい安野議員が、永田町のAI勉強会でオードリー・タンさんをゲストに迎えていたときに、このアプリで同時通訳を自動化していたので気になった :eyes:

海外系企業との商談とかもこれでカジュアルにコミュニケーション取りやすくなれると嬉しいなあ...!

(英語の勉強,,,そっと目を逸らす...)

【Speak】英会話アプリを一ヶ月程度触った所感

denkoshinrai.com で触れた通り、英語スピーキングの学習を毎日ちまちまと進めている。

開始当初は、ELSA SpeakとSpeakというアプリを2つ導入してみたわけだが、 結局Speakというアプリに一本化してスキルアップしていこうという判断に。

ELSA Speakは解約

このアプリ自体完成度が高くて発音の勉強をしっかりできるので素晴らしいのだが、、、 使っている途中でフリーズしたり音声認識が謎に精度が悪くなったりしていた。どこに原因があるのかもよくわからんかったのでお試し期間中に一旦解約した 😢

Speakは今のところ一ヶ月位継続学習できている

効果を実感できはじめているのと、音声認識や復習機能がよく作り込まれていて体験が非常に良いのが、続いている要因かなあ。

このアプリで特に良いと思ったのは、「ロールプレイ」という学んだフレーズを実践的に会話できるレッスンがあるところ。

フレーズを覚えていても、やはり生きた会話で適切な表現を取り出せないと、習得した感じにはならないなあと思っているが、これはまさにその箇所を補強してくている感じ。

簡単なフレーズであっても、IからSheやTheyに変わるだけで、doesとか複数形表現を咄嗟に取り出して返答できるか?は意外と盲点。こういう実践練習があることで、このあたりの定着度を確認できるのはありがたい。

また、ロールプレイは自分の返答にあわせてAI側も返答を毎回変えてくれるので、同じフレーズを扱うレッスンであっても、こういう時はこういう言い回しをするという表現の幅を広げられるのも地味に嬉しい。

Speak使い方がだいぶ見えてきた

学習の流れ

とりあえず、サクッと各コースを一通り舐める(A1であればA1のコースを1-最後までやる) → このコースの全ロールプレイを何度も繰り返して、流暢にコミュニケーションできるようになったら卒業

みたいな感じでロールプレイ中心にやり込むと良さそう。

苦手なフレーズは勝手にアプリ側が学習してくれるので、あとは適当なタイミングでレビューを実施する。

ロールプレイ実施時のコツ

ロールプレイを実施する際は、できる限り返答内容を毎回変えるように心がけ、表現の幅を広げる。

クソ返答の場合は必ずFBがきて、レビュー内容に自動的に組み込んでくれるので、むしろどんどん間違えていった方が良い。

更に、ロールプレイをスクショしてChatGPTなどに会話レビューをしてもらうのも良い。ここで、より自然でネイティブらしい表現を提案してくれるので、そのscriptを暗記して、次のレビューで使ってみる。

こういうのを繰り返したら、スピーキングの自習用教材としては結構いい感じのレベルにまで成長させてくれるのではないかなあと期待。

また、数カ月程度実践して効果を確認してみようと思う。

コーディング勉強 進捗

denkoshinrai.com

で挙げた教材を地道に消化中: アルゴリズム実技検定(PAST)の公式対策本

解説が丁寧で個人的に学習が進めやすい。 今のところDPの途中まで進めているが、飽きっぽい自分でも最後まで行けそうな気がしている。

PASTの過去が多めなので(規約的に)答案をここに掲載するのは避けておくが、ABC(過去問)の答案がメインになったらちょくちょく上げていこうかな...