kova

競技プログラミング

ABC136 C Build Stairs Python 3

問題:与えられた数列の各要素に対して、そのままにするか、数を1減らすか選択していき、うまく単調に増加する階段を作ることができるか判定する問題。一手ずつ見落としなくシミュレーションすれば解ける問題。コード例左側から順番に確認していきます。N=...
競技プログラミング

ABC115 Christmas Eve Python 3

問題:ランダムに並んだN個の整数列の内から、K個の整数を選び、選んだ整数の中での最大値と最小値との間の差が最小になる値を回答する問題。N,Kともに10^5オーダーなので、まともに組み合わせを全探索していてはとても間に合いません。しかし数列を...
競技プログラミング

AGC021 A Digit Sum 2 python 3

問題:任意の正の整数Nが与えられた際に、それ以下の数で各桁の数字を足し合わせた和が最も大きくなる数字を求めて、各桁の和を回答する問題。整数の各桁をどのように取得するか、またN以下で各桁の和が最大になるのはどのような条件か、考察が必要となる。...
競技プログラミング

ABC097 B Exponential

問題:2重のfor文で全探索して条件を満たすものを見つければOKです。コード例X=int(input())ans=0for i in range(1,X+1): for j in range(2,11): tmp=i**j if ans<t...
競技プログラミング

三井住友信託銀行プログラミングコンテスト2019 100 to 105 python 3

問題:コード例X=int(input())maisu_max=X//100if X<100: print(0) exit()else: X=str(X) X=int(X) if X==0: print(1) exit()ans=100for...
競技プログラミング

ABC128 B Guidebook Python3

問題:文字列と数値からなる2次元配列が与えられ、文字列を昇順にソートした上で、同じ文字列の項目内で数値を基準に降順にソートするという問題。コード例N=int(input())S=for row in S: row=int(row)SS=so...
競技プログラミング

Pythonで実装するユークリッドの互除法 最大公約数の計算

最大公約数:ユークリッドの互除法整数A,B間の最大公約数(Greatest Common Divisor : GCD)は「ユークリッドの互除法」で求めることができます。下記はpythonでの実装例です。a,b=map(int,input()...
競技プログラミング

Pythonで実装するエラトステネスの篩:素数の高速列挙

エラトステネスの篩ある正の整数N以下の素数を高速で求めるアルゴリズムです。計算量はO(NloglogN)となります。python 3でのコード例。N=int(input())A=list(range(2,N+1))p=list()while...
競技プログラミング

競技プログラミング なぜ問題が解けないのか?

何故問題が解けないのか 競技プログラミングを2020年4月に始めて、2か月半くらい経ちました。ほぼ毎週末行われる、Atcoder Beginner's Contest (ABC)のほか、週1回職場のソフトウェア部隊のバーチャルコンテストに混...
レビュー

iPad用にmpioのスタイラスペン買いました。

ブログに使う図を描くのにiPad proで使えるスタイラスペンが欲しかったのですがAppleのpencilは高すぎてちょっとなぁ、と思っていました。そこでmpioのスタイラスペンを買ってみたらなかなか快適で良さげです。(function(b...