Skip to content

Instantly share code, notes, and snippets.

View cia-rana's full-sized avatar
🌌
get everyone involved

Koya IWAMURA cia-rana

🌌
get everyone involved
View GitHub Profile
@cia-rana
cia-rana / answer.rb
Created May 29, 2017 18:42
トリオミノの分類 2017.3.22 問題
$patterns = {
?J=>[[2,2],[1,5,6]],
?L=>[[2,2],[0,5,6]],
?T=>[[2,2],[0,1,6]],
?R=>[[2,2],[0,1,5]],
?I=>[[1,3],[0,5,10]],
?B=>[[3,1],[0,1,2]],
}
def solve(input)
@cia-rana
cia-rana / post_pgl_ranking.rb
Created May 29, 2017 18:56
To Get Pokémon Global Link Season Ranking
require "net/http"
require "uri"
require "json"
require "pp"
def post_pgl_ranking(season_id, battle_type, page_number)
url = "https://3ds.pokemon-gl.com/frontendApi/gbu/getSeasonRanking"
uri = URI.parse(url)
timestamp = Time.now.to_i
@cia-rana
cia-rana / sauvola.py
Created May 29, 2017 18:57
sauvolaの手法による二値化
import numpy as np
import cv2
def sauvola(src, kernel_size, k, r):
''' sauvolaの手法により二値化を行う '''
height, width = src.shape[:2]
border_size = kernel_size / 2 + 1
kernel_pixels = kernel_size * kernel_size
src_with_border = cv2.copyMakeBorder(src, border_size, border_size, border_size, border_size, cv2.BORDER_REPLICATE)
@cia-rana
cia-rana / bench.py
Created May 29, 2017 18:58
実対称行列の逆行列のベンチマーク
import numpy as np
import time
time1 = 0.
time2 = 0.
for i in range(10000):
a = (np.random.rand(3,3)*2-1.0)*100
a += a.T
if a.shape[0] == a.shape[1] and np.linalg.matrix_rank(a) == a.shape[0]:
# with Builtin
@cia-rana
cia-rana / bunkasai.rb
Created May 29, 2017 18:59
「文化祭で人数と来ている方々を記録するコード」のリファクタリング
# http://qiita.com/Thenagao72/items/312b9eb9c78329825502
class Person
attr_accessor :name, :occupation
end
class Questionnaire
def initialize
@people = []
@occupation_table = { 1 => "校内生",
@cia-rana
cia-rana / orde07_7seg.rb
Created May 29, 2017 19:01
7セグパネルがよく見えない 横へな2016.9.3 問題
# http://nabetani.sakura.ne.jp/hena/orde07_7seg/
LIGHT = %w!3f 06 5b 4f 66 6d 7d 27 7f 6f!.map(&:hex)
def solve l, u
# 7セグパネルのビットが全て立っていないときは,注目桁の最小値に空白を挿入するが
# 注目桁より上位の桁の最小値の中に空白でない桁が存在するときfalseとなるフラグ
flg = true
a = l.zip(u).map.with_index{|(a,b), i|
@cia-rana
cia-rana / answer.rb
Created May 29, 2017 19:02
どきどきトロッコ
transition = {}
transition[0] = {
1 => [0, 1],
2 => [0, 2],
3 => [0, 2],
4 => [0],
5 => [0],
6 => [0, 1],
7 => [0],
8 => [],
@cia-rana
cia-rana / index.md
Last active May 30, 2017 15:36
素数全書 - 計算からのアプローチ 目次

素数全書 -- 計算からのアプローチ -- 目次

  • 訳書: 素数全書 -- 計算からのアプローチ --, 和田秀男, 朝倉書店, 2010
  • 原著: Prime Numbers - A Computational Perspective, Second Edition, Richard Crandall & Carl Pomerance, Springer, 2005

目次

  1. 素数の世界
    1. 基本的な問題とその発展
  2. 初等整数論の基本定理と初等整数論の基本問題
@cia-rana
cia-rana / memo.md
Last active June 2, 2017 09:34
"KAZE Features"

KAZE Features

概要

非線形2D画像ピラミッド上で局所特徴点を検出しその特徴量を計算する。

  • 非線形で検出する理由は?
    • 線形空間で検出する(Gaussian blurring)とノイズを除去すると同時に、エッジやコーナーなど詳細まで消してしまう。
      • 線形空間で検出する例: SIFT, SURF
      • 非線形空間で計算するため、SURFよりは処理が重たくなるが、SIFTには負けずとも劣らない。
  • 非線形空間で検出する(nonlinear diffusion filtering)とノイズを除去しながら、詳細を際立たせる効果がある。
@cia-rana
cia-rana / quick_sort.rb
Last active July 10, 2017 15:19 — forked from katryo/quick_sort.rb
Rubyでのクイックソート
def quicksort(seq)
return seq if seq.size.zero?
pivot = seq.shift
right = []
left = []
seq.each{|e|
if e <= pivot
left.push(e)
else