haraduka's diary

やる気が欲しい

線形代数で忘れがちなこと

線形代数すっかり忘れてて、大事なことだけ自分ようにメモ。 行列の基本変形には3つあって、i行とj行を交換、i行目をc倍、i行目にj行目のc倍を加算、がある。左基本変形では行に関して、右基本変形では列に関して。これらの組み合わせで(p, q)をかなめとして…

うんたらかんたら制御方式

コンプライアンス制御やらアドミタンス制御やらいろいろ聞くのでまとめてみた(適当) そしたら思ったより被った話ばっかりだった(ウケる)インピーダンス制御はその名の通り機械インピーダンスを制御する。 環境と接触するときに機械インピーダンスを小さくす…

rvalue, lvalueについて

なんだかあまり使わないからすぐに忘れるんですよね。ということで大事なところだけ書いておこう。まず、rvalueってのは一時的に生成される無名のオブジェクトのこと。lvalueっていうのは実体のある名前付きのオブジェクトのこと。 rvalue referenceというの…

CPUアーキテクチャ

x86_64とかamd64とかaarch64とか色々聞いて頭がおかしくなりそうなのでまとめる。あっているかは知らん。CPUアーキテクチャの種類 命令セットアーキテクチャ これはハードウェア全体の、ユーザーから見たインターフェイスのこと。データ型だとか命令セットだ…

リンクとかマウントとかコンテナとか

mountとかlinkのあたりの話がだんだんとごっちゃになってきてしまったので一回まとめます。ファイルシステム ファイルシステムっていうのはディレクトリがあって、そこにディレクトリエントリと呼ばれるファイルなどの情報があります。ディレクトリエントリ…

std::future, promise, async, packaged_task…使ったことなし。

C++、人が使ってるのは見たことあっても実際に使ったことのないもの多すぎですね。 今回はstd::future, std::promise, std::async, std::packaged_taskについて書きます。std::futureは、非同期操作の結果にアクセスするためのメカニズムを提供するもの。単…

condition_variable使ったことなし。

そういえばcondition_variableとかってなんだかんだ使ったことないなぁ、と思って書きました。 condition_variableとは、"条件変数"のことで、ある条件が満たされるまでスレッドを待機させるのに使います。 同期プリミティブとか言うんだって。 これがあれば…

自主プロジェクト

機械系で自主プロジェクトなるものがありました。 ということで、動画とスライドを一応挙げたいと思います。 (本番音声がうまく動かなくて辛かった。) ていうか、3分で発表するんだったら、こういう多機能系のものではなく、もっと視覚的にパッとわかりやす…

トマトロボット…

なんというか、トマトをロボットで収穫してきました。 今回のこの体験、かなり面白い意義を含んでいる気がします。 自然のものをロボットで取る、というのは恐ろしく難しいです。 それでいて必ずこれから多く出てくる話題でもあるんです。ロボットの研究にど…

arduinoとAQM1248Aをspi通信させてみた。

SPIを使ってarduinoとAQM1248Aを通信させて、U8glibを使って文字を出力させてみた。 せっかくSPIとか真面目に勉強したので色々メモを書いていきたいと思うSPI通信について SPIは1対nの同期式シリアル通信で、基本的には基板間などの短い距離で使う通信方式 M…

std::atomic使ったことなし。

std::atomicについて調べてみた… 排他処理をする場合にlock_guardを使うとコストが高い。そこでstd::atomicを使う。 複数のスレッドが同時に読み込んでもそれらの操作が順々に行われているように見えることを保証している、それがatomic変数 最適化がマルチ…

rubyってどんなのだっけ1

最近使ってない言語って忘れますよね。1年ruby使ってなかったら完全に忘れました。ということでメモ。 printは改行なし "a"はString.new("a")と同じ ruby -Ku hoge.rbとかするとutf-8として実行できる($KCODEを変えている) windowsだと表示がshift-jisだった…

CodeFestival2015本戦 I問題 風船ツリー

んーなんかF,G,Hよりは本番中にできる可能性のある問題だったなぁ。 今回も解説スライドがわかりやすいのでみちくり。 座標が1e9までだが、高さの上下関係しか興味がないから1~Nに落とせる。 最終的にvの高さを超えるものは根本で切れ! つまり求めるのは0->…

gitのbareリポジトリ作成方法

これ毎回よくわからなくなるので備忘録 #ローカル環境で git clone --bare git-test git-test.git scp -r git-test.git hoge@foo:/opt/git ssh hoge@foo #リモート環境で cd /opt/git/git-test git init --bare --shared

CodeFestival2015本戦 H問題 焼肉の達人

なるほどーなるほどなるほど。 chokudaiさんがトークセッションで言ってたように、やっぱり必ずグラフというのは疑ったほうがいいですね。 これをdpで解こうとしていた自分が悲しくなります。それにしてもCodeFestival解説がとてもわかりやすいのですべてそ…

CodeFestival2015本戦 G問題 スタンプラリー

むーーーこれは難しい。 Euler Tourという考え方で、行きがけ順の配列で木を表すというもの。 まぁそれをもとに今度は木を構成しなおすという話だが、解説スライドでは木と森という考え方を使っている。 実際にはまぁ仮想的な根を考えることで木の考え方だけ…

CodeFestival2015本戦 F問題 歩くピアニスト

CodeFestival本戦行ってきました… んーなんというか、まぁ普通に本戦5問解いて、他も無難な感じで、実力相応という感じでした。 ただ、あんなにオタクたちが集まってる中で、みんな知り合いとしかしゃべろうとしませんよね。 "繋がる"とか言ってた割には知ら…

CodeFestival2014 H問題 部屋割り

発想が思いついたのは良かった。ただ、実装が…この問題って、単純に前から走査して最終的な部屋割り、また、各々が部屋に入るとき、何人部屋に入るかを知ることができる。 そうしたら最終的な部屋割りから最初の方に向かっていって走査していく。 そのときに…

CodeThanksFestival2014 H問題 しりとりゲーム

もとにある文字列でしりとりしていくゲーム。足りない単語数は?というのが問題(適当)今回、単語の最初と最後を使ってグラフを作るというのはすぐに気づいた。 問題はこれを一筆書きするのだが、オイラー閉路なんてもの知らなかった…これめっちゃ有名なやつ…

ARC039 D問題 旅行会社高橋君

考え方は簡単。というより一瞬で気づいた。 ただ、この問題、二重辺連結成分分解、まぁつまり橋の検出と、LowestCommonAncesterの実装をしないといけないのでライブラリとか持ってないと地獄…つらかった…。 まず、a,b,cという始点,中継点,終点が与えられたと…

ARC043 D問題 引っ越し

これは難しい…難しすぎる…1e6オーダーの家に1e3オーダーの家族(1~100人)を適当に入れて、住民の距離(任意の二人の組み合わせの距離の総和)をMAXにせよ、という問題。スライドが神がかるほどわかりやすいのでこれだけ見ればおk AtCoder Regular Contest 043 …

ARC043 C問題 転倒距離

今までで一番WAを出したかもしれない…つらい…ある数列A,Bが与えられて、それらから転倒距離が同じになる数列Cを出力する問題。今回はバブルソートと関連づけられるが、あまりバブルソートのイメージで数字の大小を考えるとすごいわかりづらくなる気がする…。…

ARC025 D問題 25個の整数

ちょっとずつ残ってるD問題を潰していきますね。1~25の数字が5x5のマスに並んでいて(0で少し隠れている)、それから連続する3つをとってきたときに昇順または降順にならないように0で隠れているところを埋める方法が何通りあるかを計算する問題 難しい…でも気…

ARC045 D問題 みんな仲良し高橋君

難しかったが解説を見ればまぁギリギリ理解できた。 参考にしたのは AtCoder Regular Contest 045 解説 と 橋と関節点, lowlink - Lilliput Stepsxy座標系に点が奇数個あって、それらはxまたはyが同じ座標なら仲良くなれて、ちゃんと全員ふたり組にできるか…

lower_boundとupper_boundとbinary_search

もう毎回忘れてほとんど使えないのでメモ lower_boundはvalue以上で最初のiteratorを返す upper_boundはvalueより大きい最初のiteratorを返す binary_searchはvalueがあるかどうかを返す; どれもソート済みに使ってね。最後に比較関数を入れたsampleを貼って…

raspberrypiの設定

死んだときにもう一度一から調べてやるのがダルいので設定をすべて書いていく。(それddしてimageとっておけばいいじゃんとかは言わない) ちなみに、rapsi modelB+のraspbian-wheezyです。(いやもうraspi2だろとか言わない) 適当にharadukaというuser名を使っ…

ARC45 C問題 エックスオア多橋くん

久しぶりに問題解いた気がする。 a xor b = cのとき、a xor c = bであることを使うとまぁ簡単にいく。 と思いきや、オーバーフローで2つほど落ちてた。はぁ。 vector<P> G[100001]; map<ll, ll> mp; void dfs(int now, int pre, int cost) { mp[cost]++; for(auto v : G</ll,></p>…

CEATEC2015に行ってみて

今日、CEATEC2015に行ってきました。正直企業の人とかが多くて結構ドキドキだったんですが、楽しかったですね。 なんか見たもので覚えていて、かつこれ面白い!みたいなものだけピックアップして書きたいと思います。 landroid seven dreamersってとこがやっ…

AVRのデータシートを読んでみよう(ただの英語の勉強です) p6-p8

p1-p5の続きです〜〜 optimize 最適化する embed 組み込む, 埋め込む patent 特許を取った patented~ debounce 跳ね返りを制御する toolchain プログラム群 monolithic 一つの結晶からできている(回路素子がすべて一つのチップに入っている状態を指す) ISP …

FT232RLについて

FT232RLのことを少し調べてみて、知らない単語とかを列挙。 TTL: transistor-transistor-logic。バイポーラトランジスタと抵抗器のみで構成されるデジタル回路の一種。ただ、高集積化と高速化には向かずCMOSに時代を譲った。TTLlevelとCMOSlevelというのがあ…