noyのブログ

健康なエンジニアを目指す人のブログ

脳を目覚めさせる簡単な方法とは?

「脳が目覚めるたった1つの習慣」という本を読みました。著者は東北大学脳科学センター教授の瀧 靖之氏で、脳の健康や賢い子を育てるというテーマの書籍も書かれております。 瀧 靖之『脳が目覚めるたった1つの習慣』、2016年、かんき出版 主観的幸福を追え …

全肯定ハ◯太郎 LINE bot を作る [初心者向け]

LINE botを作ります。オウム返しができるようになれば、あとはおまけみたいなもんです。全肯定要素はおまけです。 qiita.com 上記の内容をほぼそのまんまやります。 準備 インストール gem install bundler bundle init 決まったフォーマットで提供されるRub…

7つの言語 7つの世界 ~ Ruby の柔軟性を見よ

最近、『7つの言語 7つの世界』を読んでいます。Ruby, Scala のように広く知られている言語から、Io, Prolog などのあまり見たことがないような言語まで、計 7 つの言語の特徴を紹介するという本です。技術書ではなく読み物に近いです。単に読むだけでは面…

(クソコード) 変数宣言と同時に標準入力を受け取りたい [C++編]

得られる情報はないです。 二つに分かれる C++ で標準入力をするなら、どのようなコードを書きますか? cinを使うのであれば、 int a; cin >> a; このように書けば良いですね。基礎中の基礎です。 時々、 int a; cin >> a; のように、改行しない一行のコード…

AOJ 0110 Alphametic

覆面算 | Aizu Online Judge 概要 A + B = C という形式で式が与えられる。式の長さは 126 以下である。 与えられる数値にはひとつ以上の X が含まれている。X は 0 以上 9 以下の整数である。 X に当てはまる整数を求めよ。当てはまる整数がない場合は NA …

Firebaseをandroidアプリに追加したときにつまずいたポイント

androidアプリにFirebaseを追加する これは、Firebaseコンソールから行う。名前や鍵を設定し、google-services.jsonをダウンロードし、所定の位置に置く。 その後、gradleファイルを変更する。app_name/app/src/build.gradleを以下のように変更。 dependenci…

コップ本でScala入門 - 2 配列、リストなど

配列 リスト タプル 集合とマップ イミュータブルなset イミュータブルなmap Scalaプログラマーに求められる態度 まとめ 配列 関数型なのに配列を!? string a[3]; a[0] = "ab"; a[1] = "cd"; a[2] = "ef\n"; for(int i = 0; i < 3; i++){ cout << a[i]; } va…

コップ本でScala入門 - 1 Scalaとは / if、for

はじめに 目標 Scala とは scalaを選ぶ理由 プログラミング第一歩 変数 関数 インクリメント forループ 実践 A - Product まとめ はじめに 「C言語でプログラミングのセンスがあるかどうかはわからないけど、 関数型言語わからないのはセンスがないよねw」…

技術室奥プログラミングコンテスト E - 不可視境界線 (The Invisible Borderline)

E - 不可視境界線 (The Invisible Borderline) 問題概要 辺にコストがある木が与えられる。 各頂点から最も遠い点を求めよ。 考察 木の直径を用いて解を求めることを考えます。まず、最長パス を求めます。 赤い部分は最長パスに含まれることを表しています…

ARC 088 E - Papple Sort

E - Papple Sort 公式解説が賢かった(レート1600並感)。 問題概要 英小文字からなる文字列 S が与えられる。 隣り合う 2 つの文字をスワップできる。 S を回文にするためのスワップの最小回数を求める。 回文にできない場合は −1 を出力する。 考察 回文な…

Indeed study session に競プロ的な愚直解コードを投げてしまった話

Indeed study session に参加して思ったこと。 Indeed study sessionとは 提出したコードをレビューしてもらえる勉強会。 書いたコードについて色々言ってもらえる。ちなみに2次募集の締め切りが 12/20 です。 学んだこと 競プロの気持ちでやってはダメだよ…

dein.vimとdeopleteをmacにインストールする。

環境 dein.vim インストール deoplete.nvim インストール 参考 環境 mac vim 8.0.1300 暗黒のVimmer(見習い) dein.vim github.comdein.vimは暗黒のプラグインマネージャです。 元々neobundleを使っていましたが、後継が1.5年前に出ているのでさすがに乗り…

AtCoder Beginner Contest D問題ジャンル分け

imos法 D: 感雨時刻の整理 - AtCoder Beginner Contest 001 | AtCoder 全探索 D: 派閥 - AtCoder Beginner Contest 002 | AtCoder D: バレンタインデー - AtCoder Beginner Contest 018 | AtCoder D: 語呂合わせ - AtCoder Beginner Contest 031 | AtCoder D…

ARC016 - C ソーシャルゲーム

C: ソーシャルゲーム - AtCoder Regular Contest 016 | AtCoder 問題概要 商品が n 種類、くじが m 種類あります。 くじを一度引くのにお金がかかります。 くじからは、ある確率である商品が手に入ります。最善を尽くしたとき、全ての商品を集める金額の期待…

ARC067 - E Grouping

E: Grouping - AtCoder Regular Contest 067 | AtCoder 問題概要 N 人をグループ分けします。 一つのグループにつき A ~ B 人で構成し、 同じ人数のグループは 0 か C ~ D 個作らなければいけません。 このようなグループ分けは何通りありますか。 DPの解説 …

ABC009 - D 漸化式

D: 漸化式 - AtCoder Beginner Contest 009 | AtCoder 問題概要 二つの数列 と が入力で与えられる。数列 A は以下の式によって計算できる。 数列 A の M 番目の値を求めよ。 解き方 漸化式を計算するには、DPを使えば良いです。しかし、制約が大きく、DPで…

ABC025D - 25個の整数

D: 25個の整数 - AtCoder Beginner Contest 025 | AtCoder 解説を見て実装を放置していたため、考察要素はないです。 問題概要 5 * 5 のマスがあります。 1 ~ 25 までの数値を、各マスに一つずつ書きます。 ただし、以下の条件を満たすように書かなければい…

AOJ 0553 ダンジョンの解説

AOJ 0553 ダンジョン ダンジョン | Aizu Online Judge 考察 問題点 あり本にある優先度キューを用いたガソリン問題と似ています。 ただし、こちらの問題では、ガソリンを入れられる量の上限があります。体力が0以下になる前に、どこかで回復しなければいけな…

構文解析初心者でも解ける問題を集めた+解説

競技プログラミングにおいての構文解析問題を集めました。難易度はAOJ-ICPCで300点程度です。

vimに構文チェックのプラグインを入れた(C++)

syntastic 導入の流れ 導入してわかったこと ファイル上書き時に構文チェックされる。 割と重い w0rp/ale Asynchronous Lint Engine 導入してわかったこと syntasticと比べて速い 結論 syntastic このようになりました。 導入の流れ GitHub - vim-syntastic/…

AOJ 1249 Make a Sequence

Make a Sequence | Aizu Online Judge AOJ-ICPC 200点所用時間:1時間30分 遅すぎる。実装力が足りてない。 問題概要 簡単に言うと3次元五目並。 n * n個のマスがある。黒いボールと白いボールを交互に置いていき、先にm個一直線に並べれば勝ち。 同じマスに…

AOJ - 2170 Marked Ancestor

Marked Ancestor | Aizu Online Judge 問題概要 木が与えられる。 以下の2つのクエリを処理し、出力された番号の合計を求める。 頂点aをマークする 頂点aから最も近いマークされた祖先の番号を出力する 解法 union-findこのスライドにある解法をそのまま実…

『SOFT SKILLS ソフトウェア開発者の人生マニュアル』の各章を1行でまとめた

『SOFT SKILLS ソフトウェア開発者の人生マニュアル』の内容を各章ごとに1行で表した。 章を要約するつもりで書いたが、上手くできているかはわからない。 第1部 02. 自分自身はソフトウェアを作れる能力を提供する事業である 03. キャリアの目的を決めよう …

ネットワークインターフェイスの名前

MacBook Air でifconfigして表示されたネットワークインターフェイス一覧。lo0 ループバックアドレスgif0 トンネリングを行うen0 Etherneten1 有線のEtherneten1 Air Macstf0 IPv6パケットをIPv4ネットワークにルーティングするp2p0 Air Dropの機能用awdl0 H…

vimで構文ハイライトをいじった

こんな感じに。 おしゃれしたい 競技プログラミングでよく使うマクロやデータ構造に色をつけたくなったので構文ハイライトをいじった。これでforとrepが肩を並べるよう(同じ色)になり、デバッグ用のマクロが目立つようになった。 あと、色がついて気分が良…

sshでリモートマシンへログインする際にやったこと

ログインするだけなのに時間がかかった。 mac -> VMware CentOS7 opensshのインストール yum install openssh-server sshdサービスの起動 systemctl start sshd-serviceここでエラーが出て実行できなかった。SELinuxが原因な気がしたので、 setenforce permi…

グラフ メモ

連結 任意の2点間に辺がある。 連結グラフは、グラフ上の任意の2点間に辺があるグラフのこと。 関節点 削除すると部分グラフが非連結になる点。 橋 削除すると部分グラフが非連結になる辺。 強連結 任意の2点間に有向路がある、という条件を満たしている有…

典型探索問題を解く

問題の解法が浮かばないなら、とりあえず解法の全探索をすればいいと思った。パラメータそれぞれに注目して解けるか考える。 DPなら、テーブルに何を持つかを全通り考えてみる。 AOJ ALDS1_4-D Search - Allocation 問題概要 数字がn個与えられる。それをk個…

POJ1990 MooFest

BITとはなんぞや POJ1990 MooFest 解法 コード 参考 BITとはなんぞや 参考:蟻本159頁列a_1, a_2, ... , a_nがある。 iが与えられたとき、a_1からa_iまでの和を求める。 (iとjが与えられたとき、a_iからa_jまでの和を求める。) iとxが与えられたとき、 a_i +…

やるだけ問題について メモ

やるだけ問題で特に気を付けること 別にやるだけ問題に限ったことではないけれど。 細かく関数化する できるだけ処理を分けて考えること。見やすいし、後になって直しやすい。main関数だけに書かれたコードを直すのは精神的にとてもつらい。 やるだけ問題を…