Skip to content

Instantly share code, notes, and snippets.

@bisco
bisco / segtree.py
Created December 19, 2021 14:32
セグメント木
#!/usr/bin/env pypy3
class SegTree:
def __init__(self, size, init_val, evaluator):
self.size = 1
while self.size < size:
self.size *= 2
self.data = [init_val] * self.size * 2
self.init_val = init_val
self.evaluator = evaluator
@bisco
bisco / toposort_norec.py
Last active December 6, 2021 14:21
トポロジカルソート(再帰なし)
num_V, num_E = map(int, input().strip().split(" "))
G = [[] for _ in range(num_V)]
for _ in range(num_E):
s, t = map(int, input().strip().split(" "))
G[s].append(t)
visited = set([])
ans = []
for cur_node in range(num_V):
@bisco
bisco / toposort_rec.py
Last active December 6, 2021 14:20
トポロジカルソート(再帰あり)
#!/usr/bin/env python3
num_V, num_E = map(int, input().strip().split(" "))
G = [[] for _ in range(num_V)]
for _ in range(num_E):
s, t = map(int, input().strip().split(" "))
G[s].append(t)
@bisco
bisco / sudoku_z3.py
Created December 11, 2019 06:55
z3を使って数独を解くソースコード
#!/usr/bin/env python3
from z3 import *
#---------------------------#
# const
#---------------------------#
sudoku = []
solver = Solver()
@bisco
bisco / sudoku_mid.smv
Created December 11, 2019 06:54
ちょっと難しい数独を解くNuSMVソースコード
MODULE main
DEFINE
A0 := 3;
A2 := 2;
A5 := 5;
A6 := 7;
A7 := 4;
A8 := 9;
B2 := 6;
@bisco
bisco / sudoku_easy.smv
Last active December 14, 2019 15:42
簡単な数独を解くNuSMVソースコード
MODULE main
DEFINE
A1 := 8;
A2 := 6;
A3 := 1;
A7 := 2;
B0 := 3;
B1 := 2;
B2 := 4;
@bisco
bisco / gensmv.py
Created December 11, 2019 06:52
数独を解くNuSMVソースコードのジェネレータ
#!/usr/bin/env python3
import sys
#-----------------------------------------------------#
def get_row_set(sudoku, r_idx, c_idx):
return set([i for i in sudoku[r_idx] if sudoku[r_idx][c_idx] != i])
def get_col_set(sudoku, r_idx, c_idx):
@bisco
bisco / adjust_column_width.py
Created August 7, 2019 13:52
openpyxlで列幅を調整する
# https://stackoverflow.com/questions/39529662/python-automatically-adjust-width-of-an-excel-files-columns
# これのサンプルコードが動かないので直したもの
def adjust_col(ws):
for col in ws.columns:
max_length = 0
column = col[0].column # Get the column name
column = chr(ord("A") - 1 + column)
for cell in col:
try: # Necessary to avoid error on empty cells
if len(str(cell.value)) > max_length:
@bisco
bisco / knn_test.py
Created January 14, 2019 14:22
simple outlier detection using kNN
#!/usr/bin/env python3
from sklearn.neighbors import NearestNeighbors
import numpy as np
import sys
th_pi = 20
th_ep = 5.0
def main():
@bisco
bisco / 2.json
Created December 8, 2018 13:59
zaimtool説明用json(2)
{
"CONSUMER_KEY" : "ここにConsumer Keyを入れる",
"CONSUMER_SECRET" : "ここにConsumer Secretを入れる",
"ACCESS_TOKEN" : "さっきのoauth_token",
"ACCESS_TOKEN_SECRET" : "さっきのoauth_verifier"
}