AHC001方針メモ

AtCoder Heuristic Contest 001に出ました システス前時点で48,418,822,292点、192位でした 軽く方針メモを残していたので、そのまま記事にコピペします AHC001方針メモ 初手、ルールを把握した後 希望の場所1マスだけを与えるプログラムをとりあえず書く(未…

Code With Meためしてみた

JetBrainsからCode With MeというサービスがEAPで出ました! blog.jetbrains.com 概要は↑のリリース記事をどうぞ ぱっと見る限り、Visual Studio Live Shareのようにリモートでエディタに接続してペアプロなどできる機能のようです。 Live Shareの発表時点で"…

ループを分割する

スレッド生成等で、[0, length)のforループをn個のブロックに分割したい場合があります。 スマートな方法を思い出そうとして手間取ったので備忘録としてコードを残しておきます。 n個のブロックに分割ではなくa個づつのブロックに分割したい場合はn=length/a…

【Rust】型黒魔術+associated constによる計算速度改善

Rustのtraitでは、associated type(関連型)とassociated const(関連定数)という機能が使えます。 trait SomeTrait { const ASSOCIATED_CONST: usize; type AssociatedType; } struct StructA; impl SomeTrait for StructA{ const ASSOCIATED_CONST: usize = …

加算器性能比較

比較対象 順次桁上げ加算器 4bitごとの桁上げ先見加算器(桁上げが0,1のものを両方計算してマルチプレクサで選択するやつ) 8bitごとの桁上げ先見加算器(同) prefix加算器 のそれぞれ16bit,32bit,64bitのもの 比較方法 シミュレータの動作を録画して解析 測定…

Rustのマクロが面白かったのでBrainfuckの処理系を作ってしまった

タイトルの通りです Rustのマクロを初めて触ったのですが、結構いろいろできそうでした(というかチューリング完全らしい) 条件付きですが自分で構文のパースもできるようで、これは何かできないかとおもったところで思いついたのがBrainfuckでした Rustのマ…

計算量の表現 (O|Θ|Ω)記法まとめ

アルゴリズムの計算量を表現する方法として、記法や記法、記法があります。 それらの定義と違いについてまとめていきます。 定義 何らかのアルゴリズムの計算量が自然数から自然数への関数で表されるとするとき それぞれの定義はこのようになっています $$ O…

Hello, Rust world!

Rustを使ってみました 今回の目標はHello, Rust world!という出力を得ることです まず、Rustの環境構築を行います OSはWindows10 1809です rustup.rs このサイトよりRustツールチェインのインストーラをダウンロードしインストールします(リンクのためにVisu…

高速フーリエ変換の計算量解析

高速フーリエ変換とは、離散フーリエ変換を高速に行うアルゴリズムです。 具体的にどのくらい高速なのか気になったので解析してみます。 まず、離散フーリエ変換について 要素数の入力ベクトルを、同じく出力の周波数ベクトルをとすると、離散フーリエ変換は…

【C#】Input string was not in a correct format. (TimeSpan)

TimeSpan::ToString(string)メソッドに文字列"hh:mm"を渡したらエラーが出ました System.FormatException: Input string was not in a correct format. 解決法 ':'をエスケープします "hh:mm"=>"hh\\:mm"

【Xamarin.Forms】10分でVisual Studio App Centerを使い始める

1.Visual Studio App Center | iOS, Android, Xamarin & React NativeにアクセスしてSIGN INする 2.Add new appする 赤枠の部分は設定が必要です ほかの部分はよしなに... 3.アプリにSDKを追加する Microsoft.AppCenter.*なNuGetパッケージから必要なものを…

【C#】Dictionary内で最小(最大)のValueをもつアイテムのKeyが知りたい

まとめ ソートして、最初のやつ よりも 最大値求めて、foreach のほうが早そう コード 最小のValueをもつアイテムのKeyを取得するサンプル Dictionary<int,int> dict=new Dictionary<int,int>(); //ここでいろいろアイテムを追加する int maxKey=dict.OrderBy(val=>val.Value).</int,int></int,int>…

【C#】nullableの挙動を確認する

int? nullable; int nonNullable; とりあえずこんな感じの変数を使います 代入 nonNullable = 10; nullable = nonNullable; nullable = 20; nonNullable = nullable; //←コンパイルエラー nonNullable = (int)nullable; nullable = null; nonNullable = (int…

【C#】stringをBASE64エンコードする(ためにstringをbyte[]に変換する)

主題はBASE64エンコードです BASE64にエンコード バイナリをBASE64エンコードするにはSystem.Security.Cryptography.ToBase64Transformクラス内のTransformBlockかTransformFinalBlockメソッドを使います それぞれ定義はこうです public int TransformBlock(…

【Xamarin.Forms】プラットフォームごとのコードを一切書かずにSQLiteデータベースを使う

アプリごとに使う割に割と覚えられないやつ 1. NuGetからsplite-net-pclとPCLStorageをインストールする 私はいつもSQLiteのライブラリはこれを使ってるんだけど、他の(確かPCLで使えるのがもう一つあったはず)でもいけるかもしれない(未確認) 2. データベー…