YU2TA7KA's BLOG ~take one step at a time~

派生開発、組み込み開発周りのこと。

プログラミング-Rust

AtCoder Beginner Contest 168 ふりかえり

はじめに A問題 A - ∴ (Therefore) B問題 B - ... (Triple Dots) C問題 C - : (Colon) D問題 D - .. (Double Dots) E問題 E - ∙ (Bullet) おわりに atcoder.jp はじめに AtCoder Beginner Contest 168に参加しました。D問題まで解けて4完、これを継続してい…

AtCoder Beginner Contest 164 ふりかえり

A問題 B問題 C問題 D問題 おわりに atcoder.jp AtCoder Beginner Contest 164に参加しました。C問題までは解けて、D問題は一時間以上かけてもわからずゲームオーバー。それでもC問題までをWAなくそれなりの速度で解けたため、パフォーマンスが自己ベスト更新…

ダイクストラのアルゴリズムをRustで実装

はじめに BinaryHeapについて 実装 隣接行列を用いた実装 優先度付きキューを用いた実装 参考 はじめに 最短経路を求めるアルゴリズムとして有名なダイクストラ法をRustで実装しました。ダイクストラ法は隣接行列を用いるとO(|V|^2)ですが、優先度付きキュー…

AtCoder Beginner Contest 160 ふりかえり

A,B問題 C問題 D問題 この問題で使えた技 コンテスト中に新しく出せたコマンド おわりに 蛇足 AtCoder Beginner Contest 160に参加しました。Cまでは解けて、D問題がわずか1分のタイムオーバーで非常に悔しく楽しい回でした。 atcoder.jp A,B問題 WAもなくス…

ABC015_C 高橋くんのバグ探しで学ぶstatic mutの危険性[Rust]

要約 問題概要 解法 危険な実装(ダメ絶対) 構造体を使った安全なコード*1 static mut を使った危険なコード 参考 要約 DFS(深さ優先探索)の勉強としてAtCoder Beginner Contest 015 C問題をピックアップ。 グローバル変数を使った解答例を模倣してstatic…

ABC157 C問題のふりかえり

2020年3月16日に開催されたAtCoder Beginner Contest 157に参加しました。C問題が解けず非常に悔しかったです。解説などを見てようやくACし、その中の学びをふりかえっておきます。 【結果】 順位 4126th / 6597 パフォーマンス 411 レーティング 105 → 135 …

rustlings 🦀❤️やってみた

rustlingsとは Rustを実際に読み書きしながら学んでいくエクササイズツールです。具体的には、rustlingsを起動するとソースコードのエラーが表示され、そのエラーを解消しコンパイルに成功させることが目標になります。そして、その過程でRustを学んでいきま…

Rustでアラビア数字をローマ数字に変換する

はじめに 問題 ローマ数字の表記法の特徴 アルゴリズム 実装 もう少しやりたいこと 勉強になったこと まだよくわかっていないこと 参考 おわりに はじめに 突然ですが、画像は何巻の美しいシャナかご存知でしょうか? ローマ数字で表記されている通り19巻で…

MIMEのパースでハマった話

はじめに ソースコード全文をコピペできていなかった 利用すべきcrateバージョンがよくわかっていない おわりに ソースコード CrateのバージョンNG時のエラーメッセージ はじめに Rust CookbookのParse the MIME type of a HTTP responseでハマったので、そ…

Rust入門した感想

はじめに やったこと 1.実践Rust入門 1部読了 特徴(これが全てではない) 型 所有権システム(所有権、借用、ライフタイム) トレイト 2部 2.パーセプトロンの実装 3.FizzBuzz実装 4.Rust.Tokyo聴講 展望 はじめに 夏頃から部内メンバの発案に乗っからせて…

バイトニックソートを理解する(16要素のデータを例に)

はじめに バイトニックソートの特徴 バイトニックソートのアルゴリズム バイトニックソートの実例 理解が難しかった点 おわりに はじめに 実践Rust入門を読み進めています。3章ではバイトニックソート(Bitonic sort)を例にRustのクイックツアーをするのです…

Raspberry PiにRustをインストールしてHelloWorldする

夏休みに始める新しいこととして、いろいろあってRustが選ばれました。参考書は実践Rust入門[言語仕様から開発手法まで]です。参考書の1章を読んだのですが、Rustの特徴を詳細に解説してくれており、これからがワクワクしてきました。C,C++と同レベルの速度…