' P '

whatever I will forget

Entries from 2021-02-01 to 1 month

パスワードのHash化

セキュリティにて大事なパスワードのHash化のやり方 Hashアルゴリズム MD5は古いから使わない(衝突困難性の面でリスクあり→同じHash値が生成される可能性あり) SHA, bcryptoアルゴリズムの使用を推奨 パスワードのhash化 モジュール: htpasswd をインスト…

C - Unexpressed

問題 atcoder.jp これは解きたかったなぁ、、 素朴に素因数分解を1-NまでやってるとTLEになるのは当たり前なんですが、 割っていく問題ではなく、二乗できるかどうか、なのでi*iの値がNより小さいか同値であればそれはNGの数字としちゃっていいんですよね。 …

yarn installについて

何気な〜くやってたyarn installコマンド、あんまよくわかっていないかったのでメモ yarn installはpackage_jsonファイルがなければ失敗します。 package_jasonの中身例 { "name": "test", "version": "1.0.0", "description": "test", "main": "index.js", …

Java bufferedReader

Javaって書き方によって処理速度がかなり変わる言語ですよね... (まあ言語によってもちろん書き方によって速度が変わるはずですが) AtCoderで普通に処理速度がやたら早い人がいるので、何が違うんだろう?と比較してみたら、inputの値の格納時点に違いがある…

C - Digital Graffiti

問題 atcoder.jp 深く考えすぎて全くわからず! 意外と単純な問題らしい... こういうのを三角形として捉えなくてよいようです。 下記は多角形として捉えたらよいようです。 解き方 自身の位置から自分の位置、左、左上、上をみて#になっていたらその数をカウ…

NumberOfDiscIntersections

考え方 これもほぼほぼ数学的なセンスが必要です Sort済みの場合、0 ≤ P < Q < R < Nに必ずなっている P+Q>Rだけを調べればいい訳は、ソート済みの場合はP<Q<Rに必ずなっている前提のため(1,2,5,8,10,20)、 1,2,5をP,Q,Rとすると、 P(1)+R(5)>Q(2), Q(2)+R(5)>P(1)は必ず満たされる。 この場合、P(1)+Q(2)>R(5)のみ満たされないため、それだけ調</q<rに必ずなっている前提のため(1,2,5,8,10,20)、>…

NumberOfDiscIntersections

難題っぽいです。普通に難題です。なにしたらいいのかあんまりよくわかりません。 解説はこちらを見てください。(丸投げw) codility-lessons-jp.blogspot.com import java.util.*; public class Solution { public static void main(String[] args) { Syst…

CountDiv

考え方 苦手な数学の発想問題です。なんでprefix sumのセクションにあるんや...? もしBが11なら、11 / 2 = 5 11までの数字は: 1,2,3,4,5,6,7,8,9,10,11 2で割れる数字は: 2,4,6,8,10 -> 5 あってます。 もしAが6なら、6 / 2 = 3 6までの数字は: 1,2,3,4,5,6…

CountDiv

考え方 苦手な数学の発想問題です。なんでprefix sumのセクションにあるんや...? もしBが11なら、11 / 2 = 5 11までの数字は: 1,2,3,4,5,6,7,8,9,10,11 2で割れる数字は: 2,4,6,8,10 -> 5 あってます。 もしAが6なら、6 / 2 = 3 6までの数字は: 1,2,3,4,5,6…

CountDiv

考え方 苦手な数学の発想問題です。なんでprefix sumのセクションにあるんや...? もしBが11なら、11 / 2 = 5 11までの数字は: 1,2,3,4,5,6,7,8,9,10,11 2で割れる数字は: 2,4,6,8,10 -> 5 あってます。 もしAが6なら、6 / 2 = 3 6までの数字は: 1,2,3,4,5,6…