メモ帳

楽しいアウトプットの場所

2021-01-01から1年間の記事一覧

メモ

標準出力を別ファイルに流し込む方法(Linux) prr.cppというc++のプログラムを実行し,その標準出力結果をout.txtに上書きします. g++ -std=gnu++17 prr.cpp && prr > out.txt ちなみに,これはコマンド実行の結果を別ファイルに流し込むこともできます.例…

Node.js について

1.1 ローカルサーバーを立ち上げてHTMLファイルをブラウザに表示させるローカルのWebサーバーを立ち上げても、そのwebサイトは自身のPC上でしか閲覧できません。これをインターネット上で、外部から閲覧できるようにします。以下の説明は、Node.jsの環境設定…

ABC200-D

D - Message from Aliens #include<bits/stdc++.h> using namespace std; using ll = long long; int main(){ string s; cin >> s; deque<char> dq; ll n = s.size(); ll flag = 1; for(ll i=0; i</char></bits/stdc++.h>

Pythonのメモ帳

値の宣言 a=10, b=20を一行で宣言する a, b = 10, 20 値の交換 例えば、a=2, b=5の入力を与えると、a=5, b=2になる a, b = map(int, input().split()) a, b = b, a 配列 昇順ソート a.sort() a = sorted(a) 降順ソート a.sort(reverse = True) a = sorted(a,…

木構造の最短経路問題 ABC-70D Transit Tree Path

問題文頂点の木が与えられます。 木とはグラフの一種であり、頂点の数をとすると、辺の数がN-1本である閉路の無い連結グラフです。 番目の辺は頂点と頂点を距離で結びます。 また、Q個の質問クエリと整数が与えらえます。 番目の質問クエリでは、頂点から頂…

蟻本p34 部分和問題 深さ優先探索をNimで解く

問題整数が与えられます。その中からいくつか選び、その和をちょうどにすることができるか判定しなさい。入出力 コード import sequtils, strutils, strformat, algorithm, math, sugar, complex {.warning[UnusedImport]: off.} var n, k: int var a = news…

モンティーホール問題をPythonでシミュレーションしてみた

montyhall_problem

新型コロナウイルス感染者数予測をSIRモデルで表現(Python)

新型の病気のため、人々は免疫を持っていない モデルとする人間は、平均的に不特定多数の人と接触している 人口の流入、流出はない(ロックダウンされた国や都市を想定したモデル) 接触によって、一定の確率で感染する 感染者は快復後に免疫を獲得し、再び…

Nim言語 動的配列

var x: seq[int] x = @[1, 2, 3, 4, 5, 6] for index, value in x: echo index, ":", value var v = newseq[int](5) v.fill(1) v.add(2) for e in v: echo e

Nim言語 プロシージャの使い方

int型の整数を引数に持ち、string型を返す関数f nが偶数の時に、"Even", 奇数の時に"Odd"を返す。 modは割った時の余りを求める演算子、C++で言うところの%になります。 proc f(n: int): string = if n mod 2 == 0: return "Even" else: return "Odd" var t …

Google Apps Script でwebスクレイピングした地震情報をmail送信で知らせるbotをつくる

今回実装した、Google Apps Scriptの全てのコードがこちら。 function myFunction() { const url = "https://earthquake.tenki.jp/bousai/earthquake/entries/"; let html = UrlFetchApp.fetch(url).getContentText('UTF-8'); var data = Parser.data(html).…

Nim言語で bit全探索

集合の部分集合を全て列挙するプログラム import sequtils let n = 4 for bit in 0..<(1 shl n): var vec = newSeq[int]() for i in 0..

ABC197-D Opposite, 複素数の計算

atcoder.jp from math import cos, sin, atan2 n = int(input()) x0, y0 = map(int, input().split()) x2, y2 = map(int, input().split()) xh = (x0+x2)/2 yh = (y0+y2)/2 r = ((x0-x2)**2+(y0-y2)**2)**0.5 r/=2 A = atan2((y0-yh), (x0-xh)) x = r*cos(A+…

ABC197 A, B, C, D問題をNim言語で解く

atcoder.jp let s = stdin.readLine echo s[1..2] & s[0] atcoder.jp import sequtils, strutils, strformat, algorithm, math, sugar var h, w, x, y, ans: int (h, w, x, y) = stdin.readLine.split.map(parseInt) let s = (0..

Githubリポジトリの作り方

リポジトリのNEWボタンを押す。 リポジトリの名前を登録する リポジトリを作ったらgit cloneしてきて編集を行いコミットする。 $ mkdir folda $ cd folda $ touch README.md $ echo "#test" >> README.md $ touch sample.py$ git init $ git add . $ git com…

基本情報技術者試験

基本情報技術者試験を受けてきました。就職活動でIT系の企業を受ける際に役立ちそうなので受けてみました。なお、私自身は機械工学を大学で学んでおり、情報系の知識が皆無の状態で勉強を始めました。ただし、C言語は大学で履修していました。試験の結果結果…

「RSA暗号」 SECCON Beginners CTF 2018 RSA is power

import Crypto.PublicKey.RSA as RSA # 与えられたもの N = 97139961312384239075080721131188244842051515305572003521287545456189235939577 E = 65537 C = 77361455127455996572404451221401510145575776233122006907198858022042920987316 # ./mesieve …

素因数分解パッケージ msieveインストール方法(wsl Ubuntu版)と使い方

素因数分解パッケージmsieveのインストール方法を紹介します。 以下のコマンドを実行します。 $ sudo apt-get install build-essential libgmp3-dev zlib1g-dev libecm-dev次に以下のコマンドを実行します。少し時間がかかります。 $ wget "http://downloads…

【Python】numpyを競技プログラミングでつかう!!

ABC188 B問題 atcoder.jp import numpy as np n = input() a = np.array(input().split(), dtype=int) b = np.array(input().split(), dtype=int) print('Yes' if np.dot(a, b)==0 else 'No')

Python こんなことができるのか!!メモ

配列の値を変数入力移す A = [1, 2, 3, 4] a, b, c, d = A print(a, b, c, d) 1 2 3 4

Python コード短縮!!(他人のコードを観察したメモ)ABC187より

'12345'などの数字からなる文字列があったときに、各桁の数を整数型(int型)の配列へと変換 s = input() A = [] for e in s: A.append(int(e)) 上の書き方よりも s = input() A = [int(i) for i in s] ABC187 A問題の解答 A - Large Digits a, b = input().sp…

c++ set 使い方

宣言と要素入れ込み set<int> st; st.insert(10); st.insert(20); for(auto x : st) cout << x <<" "; cout << endl; 出力 10 20 要素の削除 st.erase(10); for(auto x : st) cout << x <<" "; cout << endl; 20 要素の探索 setの中に存在するか否か set<int> st{10, 2</int></int>…