LoginSignup
6
2

More than 1 year has passed since last update.

なかなか茶色コーダから抜けられないという話

Posted at

初めに

今年も年の瀬。
振り返ってみると緑になかなか届かない(というより茶色から抜け出せない)一年でした
atcoder.JPG
初心に帰って
他の人の上達具合を読んでいると下記のリンク(水色だけど)に必要条件のようなものが書いてあった
https://qiita.com/e869120/items/eb50fdaece12be418faa#0-%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB

現在自分がどのくらいの状態なのかを判断するため
この記事の2-2-1~3あたりを身に着けているかどうか確認する。
なお、似たようなことをrustでちゃんと書いている人がいる
https://qiita.com/hossie/items/e170eb80f48cdb4f6b51
ふむふむという感じ。例を書いたり自分が知らんかったりするものは使わせてもらう。

#対応に関して

標準ライブラリ

以下が必要なライブラリは以下らしい

C rust 把握
abs (-1).abs()
sin/cos/tan (PI / 2.0).sin()
string string、Chars o、proconioの型で受ける
min/max 1.0.min(2.0)
swap v.swap(0, 2) ○、index 指定であることに注意
__gcd 要自作
rand use rand::prelude::*;
clock std::time ×
reverse ? 要自作?
sort v.sort()
vector vec![] o
stack vec![] o
queue VecDeque o
priority_queue BinaryHeap o
map HashMap, BTreeMap o
lower_bound superslice::Ext ×
set HashSet, BTreeSet o
pair (i32,i64) o
tuple (i32,i64) o
assert assert_eq! o
count v.iter().filter(|&&x| x == 1).count() x
find a.iter().find(|&&x| x == 2 o
next_permutation superslice::Ext x
__builtin_popcount ? x
bitset bitset_fixed::BitSet x

後半は全然。

典型的なアルゴリズム

アルゴリズム rust 把握
全探索 色々 o
二分探索 v.binary_search(&2) o
深さ優先探索 (DFS) 自作 o
幅優先探索 (BFS) 自作 o
動的計画法 (DP) 自作 o
ダイクストラ法 x
ワーシャルフロイド法 x
クラスカル法 x
高速な素数判定法 自作(エラストテネス) o
べき乗を高速に計算する手法 自作 o
逆元を計算する手法 自作 o
累積和 自作 o

こっちは最短経路だけ完全に×

データ構造

アルゴリズム rust 把握
グラフ 自作 o
x
unionfind 自作 o

こんな感じ。木はあんまり見ない気もする

とはいえ結構丸がついてる感じ。とりあえずreverseあたりの実装と最短経路は勉強していきたい。

来年は緑になってるといいなあ

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2