2022/9/22(木)

今日は早起きした。生活習慣を直す。

せっかく早起きしたのに30分くらいSNSを眺めていた。こういうのが良くない。


昼にだいぶ寝てしまった。まあ早起きした分昨夜の睡眠時間は短かったのでトントンと言えばトントン。


ずっと放置していた秋月の600円FPGA、MachXO2を動かした。

このページを主に参考にした。

このページでは電源ライン周りを別途購入した変換基板の裏面を利用して組んでいたが、自分が買っていたのはもともと変換基板に実装済みのもので、こちらの変換基板は裏に電源ラインみたいなのがない。

ちゃんとユニバーサル基板で配線すれば良い話なのだが、単なる試作なのでブレッドボードで済ませるつもりでいたからさあ困った。

悩んだ結果、ニコニコ技術部で有名な空中配線の人の真似事をしてみた。さすがにああは綺麗に出来ななかったが、思っていたよりは上手くできた。

ブレッドボードでFT2232モジュール、3.3Vレギュレータと繋ぎ、例のページに従ってプログラムを書き込んでみる。エラーが出て上手く行かない。なぜだ。

「FLASH Erase, Program, Verify」という設定で書き込み処理を行っていたのだが、このErase, Program, Verifyのどの段階で不具合が起きているのか調べるために「FLASH Erase Only」「FLASH Program」「FLASH Verify Only」をそれぞれ実行した。するとなんか通ってしまった。

結局原因がよく分からないが、Lチカに成功したのでよしとする。IOからの電流って最大何mA程度出せるんだろ。


今日解いた競プロの問題。

いろはちゃんコンテストDay1-F: まず全ての$a_i$はNの約数のはずなので約数全列挙をしておく。$N\leq 10^9$なので$O(\sqrt{N})$は間に合う。辞書順最小を求めるので、小さい約数から順に試していく。小さい約数から試しているため、K回割ることが出来なかったら不可能であることが分かる。

「辞書順最小」という条件と「K個に分けられるかの判定」が地味に噛み合っている、都合のいい問題。

Categories: