2020-01-01から1年間の記事一覧
動機 linux kernelの設定やboot partitionのカスタマイズ等で実機用のimage(sdcardに焼くimage)を柔軟に作成したい。できればCIでcommitごとに自動で完成品のimageが所定の場所(e.g) AWS S3など)にuploadされてほしい。 今回は、aarch64(Rapsberry Pi 3 Mode…
はじめに Atcoder Problemsには、実はtrainingという物があって、easy, medium, hardの問題が100問設置されている。 場所は、https://kenkoooo.com/atcoder/#/training (おそらくloginする必要がある) 手始めに、mediumの問題を100問全て解いた。 最近は htt…
累積和は競技プログラミングでは当たり前のようによく出てくるが、配列の逆順からの累積和(逆累積和ということにする)もたまーに出る。少しややこしいのでメモ。 逆累積和は練習問題に上げた問題の他に全方位木DPでも登場したりするので、まぁまぁ重要である…
ABC 169 C - Multiplication 3の問題。 いいねが結構ついている記事 https://qiita.com/mod_poppo/items/910b5fb9303baf864bf7 を見たが、一番シンプルな実装が書かれていない。 int get_int2(int *a1, int *a2) { scanf("%d.%d", a1, a2); return 0; } 単純…
AOJの「データの集合とクエリ処理(DSL)」のコースをC言語で制覇した。 DSL全制覇! 問題 解答例 DSL_1_A 互いに素な集合 Union Find木 DSL_1_B 重み付きUnion Find木 重み付きUnion Find木 DSL_2_A Range Minimum Query(RMQ) セグメント木 DSL_2_B Range Sum…
The Smallest Window I から考える。 int sum = 0; int left; int right = 0; for(left = 0; left < num; left++) { for(; right < num; right++) { if(sum >= limit) break; sum += arr[right]; } if(sum < limit) continue; #ifdef DEBUG printf("%d: [%d,…
はじめに セグメント木と遅延評価セグメント木を自分がどうやって空で実装しているのかをメモする。C言語での実装。 セグメント木が実装できれば、大体の場面で平衡二分探索木を実装する必要性がなくなり、競技プログラミング等で解ける問題の幅がぐっと広が…
調べてもまとまったものがないので。どちらも辞書順で並ぶ。C言語で実装する。 C++のnext_permutationのような実装 [1,2,4,3]の場合、2の後は逆順なので、2が繰り上がって3になる([1,3,*,*])。後は、*の部分の数字を昇順の数列で埋めれば良い。 ステップとし…
e869120さんの初中級者が解くべき過去問精選 100 問をC言語で全問解いてみた。 他の人に対するアドバイス的な感想は note.com にかいた。 ここで書くのは、もう少し個人寄りの感想&分析。 木に関する問題(特に全ての点で答えを導出するような問題) は苦手だ…
chrootでriscv環境を動かす chroot + qemu-aarch64-staticでaarch64のバイナリがx86_64のPC上で動くことを最近知った。どうやるかというと # qemu-user-static(qemu-riscv64-static) is required for second stage debootstrap. see https://www.debian.org/…