わかさぎのブログ

プログラミング、Atcoderの勉強とか

js 基本

初期化 let arr =[] let arr = new Array()

python サビツキゴレイフィルターの実装

import pandas as pd import numpy as np import matplotlib.pyplot as plt from scipy import linalg df=pd.read_csv("R895_Connector.csv") y=df.iloc[:,1].values.tolist() win=251 poly=7 def sav_gol(y,win,poly): n=win//2 m=poly X=[] for i in range…

AtCoder Beginner Contest 204 C - Tour

BFS N,M=map(int,input().split()) ab=[] for i in range(M): tmp=list(map(int,input().split())) ab.append(tmp) from collections import defaultdict,deque graph=defaultdict(list) for i in range(M): l=ab[i][0] r=ab[i][1] graph[l].append(r) #grap…

AtCoder Beginner Contest 068 Cat Snuke and a Voyage

N,M=map(int,input().split()) ab=[] for i in range(M): tmp=list(map(int,input().split())) ab.append(tmp) from collections import defaultdict graph=defaultdict(list) for i in range(M): l=ab[i][0] r=ab[i][1] graph[l].append(r) graph[r].append…

はてなブログでtexを入力

[tex: x^2+x] などとする

AtCoder Beginner Contest 116 C - Grand Garden

N=int(input()) H=list(map(int,input().split())) inf=1000 ans=0 def func(L,R): global H,ans if L>=R: return mi=inf for i in range(L,R): mi=min(mi,H[i]) ans+=mi for i in range(L,R): H[i]-=mi zero=[] zero.append(-1) for i in range(L,R): if H[…

C++ sort

C++

#define ALL(x) begin(x), end(x) //昇順ソート sort(ALL(x)); //降順ソート sort(ALL(x), greater<int>());</int>

julia dataframeとpandas

using PyCall using Conda using CSV using DataFrames np=pyimport("numpy") pd=pyimport("pandas") df=pd.read_csv("data.csv") @show df x=df["aaa"] y=df["bbb"] ddf=CSV.read("data.csv",DataFrame) @show ddf CSV.readは第二引数に何の型に変換します…

julia juliaでpandasを使う

#対話モード julia using Conda Conda.add("pandas")

julia juliaでmatplotlib

using PyPlot a=[1,2,3] b=[4,5,6] plt.plot(a,b) plt.show()

julia Pkg(パッケージ)の追加

#対話モード julia using Pkg Pkg.add("hoge")

julia 関数内での変数の書き換え

ans=[1,2,3] function fff(list) list[1]=2 end fff(ans) @show ans x=1 function ffff(x) x=x+1 end @show x pythonと同じく、配列(pythonのlist)を関数に渡すと、関数内で書き換えができるが、intなどだと関数内で書き換えができない。

julia global変数の定義

a=[1,2,3] function ff(x,y) global a z=x+y+a[1] return z end @show(ff(3,4)) pythonと同じ

julia 関数の定義

function f(x,y) x=x+2 y=y+2 z=x+y return z end @show f(2,3) ポイント コロンつけない defじゃなくてfuinction endが必要

julia broadcast

2項演算子の場合 a=["aa", "bb", "cc"] new=a.*"d" @show new #new=["aad", "bbd", "ccd"] #順番は逆でもいい a="hoge" b=["a", "b", "c"] c=a.*b @show c #c=["hogea", "hogeb", "hogec"] 1項演算子や引数一つの関数の場合 a=[1;2;3] b=broadcast(sin, a) @…

julia 文字列の操作

a="hoge" b="var" c=a*b @show c #c=hogevar *演算子で結合できる

julia pythonと違うところ同じところ

違うところ インデックスは1始まり。 for文if文の末尾にコロンをつけない。 for文if文の終わりにendをつける。 for文の変数が複数ある時()が必要。 スライスで例えばa[1:3]とすると右端の3も含むところ(pythonは右端は含まない) juliaには破壊的な演算子がな…

julia 行列の書き方

a=[1;2;3;4;5] println(a) b=[1 2 3 4 5] println(b) ;は縦に並べる。改行する。 スペースは横に並べる。 カンマは基本使わないでこの二つの記号だけ使えばいい。

julia for文

for (i,j) in zip(1:3,2:4) println(i) println(j) end pythonと同じくzip関数が使える。 しかしコロンをつけない、(i,j)と変数をかっこで囲う必要がある、endを書く点が異なる。スコープをインデントで表現する点は共通。

julia リスト内包表記

基本形 a=[1,2,3,4,5] b=[i for i in a if i<3] #b=[1,2] c=[True if i%2== else False for i in a] #c=[False, True, False, True, False] zip,enumerateと組み合わせる a=[i for (i,(j,k)) in enumerate(zip(1:3,2:4))]

AtCoder Beginner Contest 139 C - Lower

from itertools import groupby N=int(input()) h=list(map(int,input().split())) g=[] for i,j in enumerate(h): if i==0: pass else: if h[i]-h[i-1]>0: g.append(False) else: g.append(True) ans=0 for k,g in groupby(g): if k==True: moji=len(list(g…

AtCoder Beginner Contest 019 B - 高橋くんと文字列圧縮

from itertools import groupby S=list(input()) ans="" for k,g in groupby(S): moji=list(g) kosu=len(moji) char=moji[0] ans+=str(char)+str(kosu) print(ans)

AtCoder Beginner Contest 143 C - Slimes

from itertools import groupby N=int(input()) S=list(input()) count=0 for k,g in groupby(S): count+=1 print(count)

AtCoder Beginner Contest 081 C - Not so Diverse

N,K=map(int,input().split()) a=list(map(int,input().split())) buk=[0 for i in range(1,200001)] for i in a: buk[i]+=1 count=0 for i in buk: if i!=0: count+=1 buk=[i for i in buk if i>0] delete=count-K if delete<=0: print(0) else: div=sorted…

AtCoder Beginner Contest 200 C - Ringo's Favorite Numbers 2

コード N=int(input()) a=list(map(int,input().split())) mod=200 b=[i%200 for i in a] from collections import defaultdict di=defaultdict(int) for i in b: di[i]+=1 result=0 for i in range(200): n=di[i] result+=n*(n-1)//2 print(result) 考え方 …

AtCoder Beginner Contest 058 C - 怪文書

コード from collections import defaultdict N=int(input()) s=[] for i in range(N): tmp=list(input()) s.append(tmp) data=[] for i in s: tmp=defaultdict(int) for j in i: tmp[j]+=1 data.append(tmp) setset=[set() for i in range(len(data))] for …

AtCoder Beginner Contest 073 C - Write and Erase

コード from collections import defaultdict N=int(input()) a=[] for i in range(N): tmp=int(input()) a.append(tmp) di=defaultdict(int) for i in a: di[i]=1-di[i] count=0 for k,v in di.items(): if v==1: count+=1 print(count) 考え方 defaultdict…

AtCoder Beginner Contest 082 C - Good Sequence

from collections import defaultdict N=int(input()) a=list(map(int,input().split())) di=defaultdict(int) for i in a: di[i]+=1 lost=0 for key,kosu in di.items(): #print(key,kosu) if kosu

鹿本 例題15 スプリンクラー

N,M,Q=map(int,input().split()) uv=[[0,0]] for i in range(M): tmp=list(map(int,input().split())) uv.append(tmp) color=[0]+list(map(int,input().split())) s=[0] for i in range(Q): tmp=list(map(int,input().split())) s.append(tmp) class Point()…

AtCoder Beginner Contest 274 D - Robot Arms 2

N,x,y=map(int,input().split()) A=list(map(int,input().split())) M=10000 dp1=[False for i in range(-10000,10001)] dp2=[False for i in range(-10000,10001)] dp3=[0 for i in range(-10000,10001)] dp1[A[0]]=True dp2[0]=True for i in range(1,N): …