murnana's diary

プリントの裏に書くとか、そんな感じです

ABC080 A-Parkingの復習

A - Parking

AtCoderの解説動画も見つつ。AtCoder Beginner Contest 080 解説放送 - YouTube

簡単に解ける問題。
やることはこれだけ。

  1. プラン1のN*Aを計算する
  2. プラン2のBと比較する
  3. 小さいほうを出力する

何に時間かかったっけかな…?忘れちゃった…


実行時間0msという謎コードがあったのでのぞいてみる。

scanfで入力を受け付け、printfで出力。 比較は…std::min()使っていますね。標準は基本早い子(例外あり)なので使ったほうがいいようだ。 それとも、私の場合は三項演算子がまずかったのだろうか…?多分そんな気がする。

とにかく、悩むところじゃない。


Numpyで、2つのArrayから直積でArrayを作る


発見までの道

長さlengthの2つの1次元配列から、length×2の配列(行列?)を作りたかったので。 イメージ的にはこう。

import numpy
a = numpy.arange(start=0.0,stop=1.0,いくつか)
b = numpy.arange(start=0.0,stop=1.0,いくつか)
# ほにゃほにゃ
x = # [[0.0,0.0],[0.0,1.0],[1.0,0.0],,,] 

さぱらん*1のでコード書いてみた。
Python3です。

ようやっと直積できた

[[ 0. 0. ] [ 0. 0.5] [ 0. 1. ] [ 0.5 0. ] [ 0.5 0.5] [ 0.5 1. ] [ 1. 0. ] [ 1. 0.5] [ 1. 1. ]]が出力されればおk。

片方の配列の長さが違ってもできる。
次元が違ってもできる(ただしconcatenateの第一引数の、一番最初の配列に合わせるようだ)。


参考

*1:テイルズオブベルセリア内でマギルゥというキャラクターがよく使う言葉。さっぱりわからんの略。

「ゼロから作るDeep Leaning」を読んでいく - VSCode de Python編

murnana.hatenablog.com の続き。

今回は短いので<!-- more -->はなし。 というより、本関係ない…

64bit版 VSCodeを入れる

前からエディタとして愛用していたVSCodeに、ついに64bit版が出たと。
やったね。これで64bit対応のCPUが火を噴くぜ(?)

code.visualstudio.com

Python拡張を入れる

たくさんあってよくわからないので、一番ダウンロード数の多い拡張機能を入れる。

marketplace.visualstudio.com

その後、Python.exeのパスを設定。

f:id:murnana:20170928224720j:plain

以上。
また詰まったら設定しなおします。


次回はNumpyとMatplotlibの使い方です。