python
>>> import numpy as np >>> p = np.pi >>> print(p) # 表示される桁数が多すぎる 3.141592653589793 >>> print(f"{p:.2f}") # 小数点以下二桁まで表示する 3.14 >>> print(f"{p=:.2f}") # f-string で = 指定子を用いると式(ここでは変数)が表示される p=…
解決したい問題 from subprocess import run run(["python", "-m", "hoge.fuga"]) # hoge/fuga.py import numpy as np を Cloud Build上で実行しようとすると ModuleNotFoundError: No module named 'numpy' などと言われてしまう 解決方法 こうする import …
結論 Apache Airflow の起動時に CPU が 100% に張り付いてしまう際には、 AIRFLOW__CORE__MIN_SERIALIZED_DAG_UPDATE_INTERVAL などの設定値を変更することで改善される可能性があります: AIRFLOW__CORE__MIN_SERIALIZED_DAG_UPDATE_INTERVAL=600 AIRFLOW_…
過去記事, Python で mod の下での逆元を計算するテーブルを作成する - わかばめにっき では, modの下での階乗の逆元を求めました. 本記事では, 以下の記事を参考にして二項係数 を前処理 , 実行 で行うアルゴリズムを紹介します. drken1215.hatenablog.com
問題概要 atcoder.jp 数字列 を 進法表記と見なしたとき, 以下になるような値が何種類あるか求めよ. ただし, は に含まれる数字より大きいものとする. 考えたこと 入力例 1 22 10 22 を 3 進数と見なすと, 22 を 4 進数と見なすと, 22 を 5 進数と見なすと, …
伝染病の拡大過程を記述するSIRモデル の初期値問題を Python で解き, 得られた解をgifにします. PCとインターネットがあればどなたでも, 以下のノートブックを逐次実行することでgifファイルを生成することができます. colab.research.google.com
問題概要 atcoder.jp3桁の数字が与えられたとき, 一度でも 7 があったら "Yes" を, そうでないなら "No" を出力せよ. 考えたこと 100 の位の数字が 7 である 10 の位の数字が 7 である 1 の位の数字が 7 である の3つの条件のいずれかが成り立てば"Yes"を出…
wakabame.hatenablog.com では, の素数 で割った余りを求める方法について解説しました. 実は, この計算アルゴリズムは高速化できます.
問題文が迷わせに来ていますね. 全ての要素は非負ですので, りんごさんの要望を , すぬけさんの石の置き方を としたときのコスト \begin{equation} \sum_{i=1}^L |A_i-B_i| \end{equation} を最小化すればいいことがわかります. すぬけさんの動き方はりんご…
2次元正方形領域における波動方程式の初期値境界値問題を考えます。 こんな感じで波が伝播していく様子を気軽にシミュレーションできます。
入力 1行に1要素の場合 数字(自然数) N = int(input()) 文字列 S = input() 1行にスペース区切りで複数要素の場合 2つの数字を別の変数 N, M に N, M = map(int, input().split()) 2つの文字列を別の変数 S, T に S, T = map(str, input().split()) 複数の…
注意:この記事は未完成です。こちらの記事を参考にお願いします wakabame.hatenablog.com の素数 で割った余りを求める方法について解説します. は" 個の異なるものから 個を選ぶときの組み合わせの数"を表しており, 階乗記号 を用いて,と表されます. 階乗…
整数 と整数 に対して, を整数 で割った余りを出力します. 安直に を 回乗じてからで割れば良いのではないかと考えたくなりますが, この方法には2つの欠点があります. 回乗じるのに計算量が かかってしまう. は処理しきれなくなるくらい大きくなりえる. この…
ワーシャル=フロイド法とは 今回は有向グラフの情報が与えられたとき, 全ての始点から全ての終点までの最短距離をワーシャル=フロイド(Warshall–Floyd)法と呼ばれるアルゴリズムで求めていきます. 有向グラフの最短距離を求めるアルゴリズムのうち, ベルマ…
動的計画法(DP)について, qiita でまとめられました qiita.com 勉強になったのでメモ代わりに. やはり数列の添え字は0から始めて記述したほうが実装との親和性が高そうなので, 以下では数列は として書きます. ここで, は数列の要素数を表します. 1. 最大和…
有向グラフとは 有向グラフ(directed graph)とは, 頂点(vertex)と辺(edge)からなり, 辺は の形式を持ち, 頂点 から頂点 へはコスト で移動できることを表しています. 辺に対して逆向きの進路があるとは限らず, あったとしても同じコストとは限りません. 今回…
木構造の距離を求める問題演習として, AtCoder Beginner Contest 070 の D 問題の解説をしてみます. 問題はこちら abc070.contest.atcoder.jp
グラフの一種である木構造での距離を求めるアルゴリズムを考えます. グラフとは 詳しくは グラフ理論 - Wikipedia などの記述をご参照ください. グラフ(graph)とは頂点(vertex)と辺(edge)からなる構造を表しており, 頂点同士が辺によって繋がっていることを…
本記事では先日開催された AtCoder Grand Contest 019 の C 問題の解説を試みます. ちなみに私は本番中には解けず, 解説や他の人のコードを参考にさせていただきました. 問題はこちら agc019.contest.atcoder.jp スタート地点からゴール地点までの最短ルート…
最長増加部分列(Longest Increasing Subsequence )とは 数列 が与えられたとき, その部分列 であって のとき を満たすものを増加部分列と言います. その中で最も長いものの長さを求めるアルゴリズムを以下に説明していきます.