くれなゐの雑記

例を上げて 自分で手を動かして学習できる入門記事を多めに書いています

ACM-ICPC 2018 Asia Yokohama Regional 参加記

ACM-ICPC 2018 Asia Yokohama Regional に参加してきました。 神戸大学で、getting_over_32というチームでした。 チームメイトは私kurenaifとcormoranさん、takeoさんです。 チーム名の由来としては、Asiaに生きたいねということで予選で確実に突破できる32…

Codeforces Round #520 (Div. 2) E. Company

問題 codeforces.com 問題概要 めええええええっちゃ問題文長いけど、実は言っていることは以下のとおりである。 Treeが与えられる。また、以下のクエリがQ回与えられる。 lからrまでの間のノードを一つ無視した上で、Lowest Common Ancestor(LCA)を求める。…

Educational Codeforces Round 54 E. Vasya and a Tree

問題 codeforces.com 問題概要 Tree(重み付きではない)が与えられ、木の各頂点に数字を書き込む。最初は0. 以下のM個のクエリも与えられる。 v, d, x: 頂点vと、その部分木のうち、vからの距離がd以内に含まれる頂点にxを足す。 昔似た方針で解いた記憶があ…

Educational Codeforces Round 53 E. Segment Sum

問題 codeforces.com 問題概要 以下の条件を満たす[l, r]の範囲の数字の和を求める問題。(場合の数ではなく、数字そのものを足す点に注意する。) 条件: 10進数表記で、使用されている数字の種類がk 以下 方針 f(A): ある数字A以下の、条件を満たす数字の和 …

OpenFOAMをairflowでジョブスケジューリングしてみる

動機 普段はCentOSにtorqueを使ってジョブスケジューリングして計算していた。 ある日普段使用しているPCも空いてる時間は計算を回そうと思い、torqueをインストールしようとしたが、Ubuntuのaptで入らなかった。 入れようと思えば入れれるが、せっかくなの…

OpenFOAMをallWmakeなしで必要なものだけwmakeするツール auto_wmakeを作りました

動機 最近、諸事情で様々な環境でOpenFOAMを使うことがおおくなりました。 OpenFOAMでソルバを使えるようにするといえば、Allwmake コマンドですが、このコマンドありえんくらい時間がかかるので、かなりのボトルネックになる可能性があります。 実際、すべ…

ARC081 E - Don't Be a Subsequence

問題 https://beta.atcoder.jp/contests/arc081/tasks/arc081_c 問題概要 英小文字のみからなる文字列が与えられる 文字列の部分文字列"でない"文字列のうち、 最小の長さのもの 最小の長さのものが複数ある場合は、辞書順最小のもの を出力する。 考察 英小…

ARC096 E - Everything on It

問題 E - Everything on It 問題概要 & note トッピングが 種類ある 一つのラーメンにはそれぞれのトッピングを1つか0つ乗せる つまり全部で 個ラーメンができる そのラーメンをいくつか選ぶ組み合わせは全部で そのようなラーメンを幾つか選んで、それぞれ…

AGC021 D - Reversed LCS

問題 agc021.contest.atcoder.jp 問題概要 文字列が与えられる はを逆から読んだものである。 のうち文字を変えることが出来る 最大文字を変更し, との最長共通部分列を求める 考察 これってつまり回文を求めろってことでは…? 回分なら典型的な区間DPがある(…

AGC012 B - Holes

問題 agc021.contest.atcoder.jp 問題概要 めちゃめちゃでかいを持つ円が与えられる。 その真ん中 の範囲内に穴を置く。 めちゃめちゃでかい円内に点を起き、その点は最も近くにある穴に落ちる。 円の内部すべてに点を起き、各穴に落ちる面積の割合をそれぞ…

みんなのプロコン 2018 C - 駆引取引

問題 yahoo-procon2018-qual.contest.atcoder.jp 問題概要 ある時間に関して、 高橋くんは のお金を持っている。 青木くんは、個商品を発禁することができる。 すべての時間に関して、 青木くんは高橋くんの買うことの出来る商品の価値を最小にするように商…

APC001 E - Antennas on Tree

問題 apc001.contest.atcoder.jp 問題概要 木が与えられる。 木のノードを アンテナを 個設置する。 すべてのノードに対して、すべての選択したノードからの距離を数えて、これをベクトルとする このベクトルが同じにならないようにすることができる最小のを…

GitHubとかのQuickStart等に書くコマンドをいい感じにコピペしたい

動機 最近研究室内等での小さな使いまわせるツールをいくつか書くようになり,自分でも忘れないようにQucikStartを書くことが多くなった.また,gitの使い方等の入門スライド等も作るようになった. これらの記事を書く際に必要になるのが $ git clone XXXX …

pythonでなんか配布するときにいい感じにパッケージをインストールできるようにする(pipenv, requirements.txt 入門)

動機 インターンでPythonを使って業務をしていたのだが,今までrequirements.txtを作ったことがなかったのでちょっと困った. ちゃんと仮想環境立ち上げて動くことは確認しよう!!!(戒め) pipenv Pipenv: 人間のためのPython開発ワークフロー — pipenv 9…

ParaviewをX転送を使わずに遠隔で使用する

Motivation Paraviewにはserver-clientな可視化が用意されており,実は並列実行もできます. CFDのデータも工夫しなければ重いので,ダウンロード等も非常に大変です. やはりぱっとデータを遠隔で確認したい でもX転送は重い… ということでParaviewの機能を…

東京で食べたうまい飯の話

この記事は kosen10s Advent Calender の 22日目の記事です adventar.org(重要な割り込みタスク(某社の試験)が入ってしまい遅くなってしまいましたすみません) この記事を書くきっかけ 某Rのインターンに行ってきたのですが、噂通りとても美味しいご飯を食べ…

OpenFOAMの終了時間予測ツールを作ってみた

動機(ポエム) よく先生にこのような質問をされる 「その計算はいつ終わるんですか」 と 僕はこたえる 「今まで通りならだいたい6時間くらいで終わります」 と じゃあメッシュを細かくしたらどうか 計算条件が変わっても同じでも同じとは言えるのか そういう…

高専から大学編入をしてやったこと変わったこと

藤童子(@fwarashi)だったりkurenaifだったりと呼ばれています. 高専の方は5年生だったらギリギリ私のことを知っているかもしれません 神戸高専の出身で,神戸大学に編入してそのまま神戸大学の大学院にいます. ちょっと技術的な話のストックがマニアックな…

RECRUIT HOLDINGS SUMMER INTERNSHIP 2017 の ENGINEER コースに参加してきました

学業ガチ勢おじさんですが、気が変わったのでインターンに行ってきました。 結果として、とても楽しいインターンでよかったです。 動機 来年の就活が不安で仕方がないというツイートをポストしたら、知り合いから就活のしかたについて「インターンに行く。 …

OpenFOAMのcase fileをgitで管理する

OpenFOAMのcase fileをgitで管理する お久しぶりです。くれなゐです gitをソースコードの管理以外で使ったことがない方っていませんか? gitは非常に便利なツールで、様々な履歴を残すことができます。 今日はOpenFOAMのケースファイルを例に、ソースコード…

ipython notebookの環境整備

ipython notebookの準備 anacondaを入れる終わり。 ipythonの各種プラグイン設定 以下の記事を見ながらやったらpep8, autopep8, vimが入りました。qiita.comqiita.comqiita.com

SnackDown Elimination 2017 PLUSMUL

問題 https://www.codechef.com/SNCKEL17/problems/PLUSMUL 問題要約(相方担当) N個の数列が与えられる それぞれの数の間に"*" か "+"を入れた式を作る(通りの式ができる) 個の式の総和 MOD を出力せよ. 概要 なんとなくDPで解けそうだったので適当にやった…

いろんな言語でSI単位系の計算をやってみよう(Cpp, python, rust, Julia)(WIP)

C++ C++なのでコンパイル時になんやかんやできるやつを探してたらBoostであった Boost.Units を使えば良い.(http://www.boost.org/doc/libs/1_64_0/doc/html/boost_units.html) sample 使用例として,簡単な問題を解いてみる. h=634m地点から初速v0=2.4m/s…

Juliaで競技プログラミング(もうしない, ABC061)

Motivation 研究でちょっと触っているのでABCで使ってみた 解説は色々みたらわかるので割愛 A問題 http://abc061.contest.atcoder.jp/tasks/abc061_a A,B,C = parse.(split(readline(STDIN))) if A <= C && C <= B println("Yes") else println("No") end ht…

rustをインストールから行列で連立方程式を解くところまで

Motivation なぜrust? 最近C++がつらい rustが流行っているらしい https://imoz.jp/note/rust-functions.html 環境 ubuntu 16.04 64bit rustのインストール このコマンドで簡単にインストールする curl https://sh.rustup.rs -sSf | sh 以下のようなメッセー…

OpenFOAM-2.4.0をmacのgccでmakeする

Motivation Macはclangをつかってコンパイルをしている。 どうやらコンパイラによって微妙に挙動が違うらしくMacでgccが使いたいと先生に言われて色々やった。 OpenFOAM-2.4.0向け 概要 流れ的には gccを入れる openmpiを入れる flexを入れる OpenFOAMを入れ…

decomposeParでmanual切りをする

注意: バージョンによってファイル形式が異なる可能性があります.(OpenFOAM-2.4.0) Motivation 需要は少ないですが,manualでdecomposeParをする必要がありました. その手法について資料がないので解説します ケースファイル tutorials/incompressible/icoF…

OpenFOAMで計算結果以外をコピーするスクリプト

constantとおかsystemとかを残してコピーします 数字のファイルの判別方法が雑なのでミスってるかも… 一応これによって生じた不利益等は責任は負いません. #!/bin/bash if [ $# -ne 2 ]; then echo "usage: $0 source dist [first step]" exit 1 fi mkdir $…

pvpythonでアニメーション作成した

追記 2017-03-26 追記 --- pvbatchの並列実行 可視化対象 今回は適当にキャビティ流れを対象とします. tutorials/incompressible/icoFoam/cavity 実行 blockMesh icoFoam 可視化をするソースコード とりあえず実行 OpenFOAMの可視化はpvpythonを使って行い…

gdbがちょっと便利になるcgdb

OpenFOAMをデバッグしようとしてClionやらEclipseやら試してたんだけどどうもうまく動かない できればIDEでやりたいけどgdbを便利にしたものは無いものかと調べた結果がこれ インストール方法 ubuntuならapt-getで入った. macならbrewで入るらしい 使い方 …