Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
yoshrc
PDF, PPTX
3,125 views
Rustで楽しむ競技プログラミング
2019/03/25 Rust LT #3 at Recruit Technologies, Tokyo
Engineering
◦
Read more
2
Save
Share
Embed
Save to Drive
Download now
Download as PDF, PPTX
1
/ 36
2
/ 36
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
More Related Content
PDF
GR-CITRUSハンズオン
by
三七男 山本
26 slides
419 views
PDF
1000万DL突破!BrainWarsのアーキテクチャ
by
Masakazu Matsushita
35 slides
8.8K views
PDF
78tch
by
78tch
12 slides
131 views
PDF
TranslimitにおけるAWS活用術
by
Masakazu Matsushita
39 slides
4.6K views
PDF
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
by
Masakazu Matsushita
53 slides
27.1K views
PDF
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
by
Masakazu Matsushita
24 slides
5.2K views
PDF
Customizing cargo for cross compiling
by
emakryo
4 slides
1.7K views
PDF
20220111 SoftwareDesign #32 kitazaki
by
Ayachika Kitazaki
11 slides
76 views
GR-CITRUSハンズオン
by
三七男 山本
26 slides
419 views
1000万DL突破!BrainWarsのアーキテクチャ
by
Masakazu Matsushita
35 slides
8.8K views
78tch
by
78tch
12 slides
131 views
TranslimitにおけるAWS活用術
by
Masakazu Matsushita
39 slides
4.6K views
BrainWarsのアーキテクチャ(OpsWorks & DynamoDB編)
by
Masakazu Matsushita
53 slides
27.1K views
Brain Dots at dots. - Brain Dotsのアーキテクチャ -
by
Masakazu Matsushita
24 slides
5.2K views
Customizing cargo for cross compiling
by
emakryo
4 slides
1.7K views
20220111 SoftwareDesign #32 kitazaki
by
Ayachika Kitazaki
11 slides
76 views
What's hot
PDF
Node 学園祭 2012 用
by
Rei Kawai
9 slides
2.6K views
PDF
Python × Herokuで作る 雑談slack bot
by
dcubeio
63 slides
12.2K views
PDF
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
by
Yukinori KITADAI
37 slides
11.3K views
PDF
Cargo makeを使ってみた話
by
emakryo
15 slides
2.4K views
PDF
冴えないデータセットの育て方
by
Kazuhiro Sasao
16 slides
4.5K views
PPTX
RustによるGPUプログラミング環境
by
KiyotomoHiroyasu
12 slides
3.1K views
PDF
pg_bigmを触り始めた人に伝えたいこと
by
Masahiko Sawada
26 slides
1.3K views
PPTX
Python用ゲームエンジンPyxelで遊んでみた
by
Hirofumi Watanabe
9 slides
720 views
PDF
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
by
Takuma Kudo
43 slides
3.2K views
PPTX
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
by
YASUKAZU NAGATOMI
20 slides
2.8K views
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
by
Katsuhiro Morishita
100 slides
71.6K views
PDF
Feature Store in DRIVE CHART
by
emakryo
23 slides
50 views
PPT
Pgcon2012 ori-20120224
by
Manabu Ori
10 slides
932 views
PPTX
Apache sparkとapache cassandraで行うテキスト解析
by
Kazutaka Tomita
23 slides
1.1K views
PDF
すごいログ解析の話
by
Satoshi Hirata
46 slides
1.2K views
PDF
20130622 r pi-ug-osc13ng
by
Akira Ouchi
25 slides
2.5K views
PDF
Crucible @ M3, Inc.
by
Kazuhiro Sera
21 slides
1.9K views
PDF
神戸Rustの会 #1 LT - I'm lazy rust programmer
by
Hattori Hideo
20 slides
399 views
PDF
ハードウェアを用いてPythonを学ぶ
by
Yuta Kitagami
38 slides
12.6K views
PDF
小ゼミ進捗 0601
by
robo_lab
11 slides
107 views
Node 学園祭 2012 用
by
Rei Kawai
9 slides
2.6K views
Python × Herokuで作る 雑談slack bot
by
dcubeio
63 slides
12.2K views
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
by
Yukinori KITADAI
37 slides
11.3K views
Cargo makeを使ってみた話
by
emakryo
15 slides
2.4K views
冴えないデータセットの育て方
by
Kazuhiro Sasao
16 slides
4.5K views
RustによるGPUプログラミング環境
by
KiyotomoHiroyasu
12 slides
3.1K views
pg_bigmを触り始めた人に伝えたいこと
by
Masahiko Sawada
26 slides
1.3K views
Python用ゲームエンジンPyxelで遊んでみた
by
Hirofumi Watanabe
9 slides
720 views
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
by
Takuma Kudo
43 slides
3.2K views
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
by
YASUKAZU NAGATOMI
20 slides
2.8K views
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
by
Katsuhiro Morishita
100 slides
71.6K views
Feature Store in DRIVE CHART
by
emakryo
23 slides
50 views
Pgcon2012 ori-20120224
by
Manabu Ori
10 slides
932 views
Apache sparkとapache cassandraで行うテキスト解析
by
Kazutaka Tomita
23 slides
1.1K views
すごいログ解析の話
by
Satoshi Hirata
46 slides
1.2K views
20130622 r pi-ug-osc13ng
by
Akira Ouchi
25 slides
2.5K views
Crucible @ M3, Inc.
by
Kazuhiro Sera
21 slides
1.9K views
神戸Rustの会 #1 LT - I'm lazy rust programmer
by
Hattori Hideo
20 slides
399 views
ハードウェアを用いてPythonを学ぶ
by
Yuta Kitagami
38 slides
12.6K views
小ゼミ進捗 0601
by
robo_lab
11 slides
107 views
Similar to Rustで楽しむ競技プログラミング
PPTX
std::pin の勘所
by
Hiroaki Goto
23 slides
2.9K views
PDF
rust primer
by
You&I
39 slides
2.9K views
PDF
Rustで始める競技プログラミング
by
Naoya Okanami
40 slides
1.3K views
PDF
Rust言語
by
健太 田上
13 slides
3.9K views
PDF
Rustのタスクモデルについて
by
zigen
49 slides
2K views
PPTX
Rustを支える技術
by
Keisuke Umezawa
36 slides
3.5K views
PDF
Rust samurai#01
by
Noritada Shimizu
68 slides
2K views
PDF
【超初心者向け】競技プログラミング体験会(南町通りイカ研究所 デベロッパー部) 発表資料
by
tototti
19 slides
33 views
PDF
Miyazakirb vol0 lt
by
cocoa_dahlia
14 slides
822 views
PPTX
季刊 競技プログラミングは役に立たない
by
rian_tkb
43 slides
9.8K views
PDF
Rustを勉強してみた!
by
ssmylh
24 slides
660 views
PPTX
競プロでGo!
by
鈴木 セシル
44 slides
2K views
PDF
Rust 超入門
by
Chris Birchall
13 slides
4.1K views
PDF
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
by
mametter
34 slides
34.5K views
PDF
【競プロ超初心者向け】競技プログラミング準備会 AtCoderのアカウント作成から問題提出まで 2025-05-20
by
tototti
19 slides
32 views
PPTX
YAPC::ASIA 2012 LT GaiaX
by
Kazuyuki Todo
47 slides
2.1K views
PDF
Haskell で作る競技型イベントの裏側
by
Nobutada Matsubara
33 slides
1.6K views
std::pin の勘所
by
Hiroaki Goto
23 slides
2.9K views
rust primer
by
You&I
39 slides
2.9K views
Rustで始める競技プログラミング
by
Naoya Okanami
40 slides
1.3K views
Rust言語
by
健太 田上
13 slides
3.9K views
Rustのタスクモデルについて
by
zigen
49 slides
2K views
Rustを支える技術
by
Keisuke Umezawa
36 slides
3.5K views
Rust samurai#01
by
Noritada Shimizu
68 slides
2K views
【超初心者向け】競技プログラミング体験会(南町通りイカ研究所 デベロッパー部) 発表資料
by
tototti
19 slides
33 views
Miyazakirb vol0 lt
by
cocoa_dahlia
14 slides
822 views
季刊 競技プログラミングは役に立たない
by
rian_tkb
43 slides
9.8K views
Rustを勉強してみた!
by
ssmylh
24 slides
660 views
競プロでGo!
by
鈴木 セシル
44 slides
2K views
Rust 超入門
by
Chris Birchall
13 slides
4.1K views
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
by
mametter
34 slides
34.5K views
【競プロ超初心者向け】競技プログラミング準備会 AtCoderのアカウント作成から問題提出まで 2025-05-20
by
tototti
19 slides
32 views
YAPC::ASIA 2012 LT GaiaX
by
Kazuyuki Todo
47 slides
2.1K views
Haskell で作る競技型イベントの裏側
by
Nobutada Matsubara
33 slides
1.6K views
Rustで楽しむ競技プログラミング
1.
Rustで楽しむ 競技プログラミング (株)スリーダム 吉元佑介 (@yoshrc_public)
2.
[自己紹介] name = "Yusuke
Yoshimoto" age = 27 job-title = "Full-stack Engineer" preferred-languages = ["Rust", "Python"] atcoder.rate = 1168 contact.twitter = "@yoshrc_public"
3.
Rustは競プロで使えるか - C++でよくね? - Python楽でいいよ
4.
Rustは競プロで使えるか 競プロこそRust - C++でよくね? - Python楽でいいよ
5.
Rustのここが強い - C++のごとき実行速度 - 正義 -
Scalaのごとき高度な抽象化能力 - 「競プロコピペ」を自作しやすい
6.
Rustでつくる「競プロコピペ」 - 入力読み込み - 最新のRustの機能をAtCoderで使う -
便利メソッドを生やす - データ構造 謹製コピペコード https://yoshrc.github.io/rust-atcoder-snippets/atcoder_snippets/index.html
7.
Rustでつくる「競プロコピペ」 - 入力読み込み - 最新のRustの機能をAtCoderで使う -
便利メソッドを生やす - データ構造 謹製コピペコード https://yoshrc.github.io/rust-atcoder-snippets/atcoder_snippets/index.html
8.
やりたいこと スライスから、すべての順列を生成する let mut perms
= [1, 2, 3].permutations().collect(); // permsは、以下のものを生成するイテレータ // [1, 2, 3], [1, 3, 2], // [2, 1, 3], [2, 3, 1], // [3, 1, 2], [3, 2, 1]
9.
実装 pub trait SliceExt<T>
{ fn permutations(&self) -> Permutations<T>; }
10.
実装 pub trait SliceExt<T>
{ fn permutations(&self) -> Permutations<T>; } impl<T> SliceExt<T> for [T] { fn permutations(&self) -> Permutations<T> { … } }
11.
最後に - C++でなくても、競プロは楽しめる - Rustを使えば、汎用的なプログラミング技術が向上する -
メモリ安全 - ライブラリ作成 - 関数型プログラミング
12.
Rustで競プロ、やろうよ!
13.
没スライド
14.
問題点:コピペがめんどい
15.
問題点:コピペがめんどい cargo-snippetを使う
16.
すばらしきcargo-snippet
17.
すばらしきcargo-snippet
18.
すばらしきcargo-snippet
19.
没スライド1
20.
嵌ったとこ 借用 - Rustで問題を解こうとすると、イテレータを多用する - イテレータメソッドで参照を戻すのがなかなか一発で書 けない
21.
どこが間違ってる? fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|n| n >= min).count() }
22.
どこが間違ってる? fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|n| n >= min).count() }
23.
コンパイラ様に従ってみる fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|n| n >= &&min).count() }
24.
コンパイラ様に従ってみる fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|n| n >= &&min).count() } 通る
25.
より素直なコード fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|&&n| n >= min).count() }
26.
より素直なコード fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|&&n| n >= min).count() }
27.
より素直なコード fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|&&n| n >= min).count() }
28.
より素直なコード fn count_ge_min(nums: &[u8],
min: u8) -> usize { nums.iter().filter(|&&n| n >= min).count() }
29.
没スライド2
30.
Rustでつくる「競プロコピペ」 - 入力読み込みマクロ - トレイトで最新のRustの機能をAtCoderで使う -
AtCoderのRustバージョン:1.15.1 超古い - Iterator::step_by, Iterator::flatten, dbgマクロ … - イテレータに便利メソッドを生やす - 全部文字列化して連結 - データ構造を作る - List, Union-Find … 謹製コピペコード
31.
https://atcoder.jp/contests/abc118/tasks/abc118_b
32.
C++だとこんなに大変 https://atcoder.jp/contests/abc118/tasks/abc118_b
33.
素のRustだと地獄 https://atcoder.jp/contests/abc118/tasks/abc118_b
34.
私のスニペットでは read!(n = u8,
m = u8); let k_a = readx::<(u8, Vec<u8_>)>();
35.
私のスニペットでは read!(k = u8,
m = u8); let k_a = readx::<(u8, Vec<u8_>)>();
36.
私のスニペットでは read!(n = u8,
m = u8); let k_a = readx::<(u8, Vec<u8_>)>(); assert_eq!(n, 3); assert_eq!(m, 4); assert_eq!(k_a, vec![ (2, vec![0, 2]), (3, vec![0, 1, 2]), (2, vec![2, 1]) ]);