はまやんはまやんはまやん

hamayanhamayan's blog

2020-02-01から1ヶ月間の記事一覧

Client-side-again [picoCTF 2019 Web 200]

https://ctftime.org/task/9517 前提知識 javascriptの読解 解説 dont-use-client-sideと見た目が似ているので、とりあえずソースコードを見る。 同じような感じになっているが、ちょっと難読化されている。 名前変更の難読化だけなので、頑張って読み解くと…

where are the robots [picoCTF 2019 Web 100]

https://ctftime.org/task/10385 前提知識 robots.txt 解説 webでrobotsと言えば、クローラーであるので、その辺で考える。 robots.txtというファイルがあり、クローラーに対してある種の指示を行うことができる。 これがどっかにあるかなーと思い、 https:/…

logon [picoCTF 2019 Web 100]

https://ctftime.org/task/10384 前提知識 Cookieの確認方法 解説 ひらめき問題。 どうやってもログインできるっぽい。 No flag for youと出て特殊なログインをしなくてはいけないように『見える』 見えるが、クッキーを見てみると、adminキーの値がFalseに…

dont-use-client-side [picoCTF 2019 Web 100]

https://ctftime.org/task/9518 前提知識 javascriptの読解能力 解説 とりあえずソースコードを見てみると、判定用javascriptが直書きされている。 substringで判定している情報をうまいことまとめてみると分かる。 手動でこねこねするのは面倒だが、エディ…

Insp3ct0r [picoCTF 2019 Web]

https://ctftime.org/task/10383 前提知識 ソースコードの見方 解説 webサイトのソースコードを開くと、断片的にフラグがあるので、html,css,jsファイルから フラグを集めてくっつけると答え

Fibonacci Convolution Hard [yukicoder 980]

https://yukicoder.me/problems/no/980 前提知識 母関数 解説 https://yukicoder.me/submissions/424776 問題を見ると数列を作成して、畳込み計算をすれば答えられる。 今回は、各所で解説されている母関数で解く方法を解説しよう。 まず、元々の数列は線形…

Longest Divisor Sequence [yukicoder 979]

https://yukicoder.me/problems/no/979 前提知識 LIS 解説 https://yukicoder.me/submissions/424709 LISに問題設定が似ているので、LISに寄せた感じで考えてみる。 DPっぽくやっていく。 dp[i][x] := i番目まで考え終わっていて、末尾の値がxである最長列の…

Fibonacci Convolution Easy [yukicoder 978]

https://yukicoder.me/problems/no/978 解説 https://yukicoder.me/submissions/424701 数列自体は作成できるので、作成してしまおう。 答えを見てみると畳み込み計算をして総和みたいな感じになっている。 だが、畳み込み計算するには、制約が厳しいし、★も…

アリス仕掛けの摩天楼 [yukicoder 977]

https://yukicoder.me/problems/no/977 前提知識 UnionFind 二重辺連結成分分解 解説 https://yukicoder.me/submissions/424691 Aliceは連結成分を最大1つ増やすことができるし、Bobは連結成分を最大1つ減らすことができる。 Bobが連結成分をへらすことがで…

2 の 128 乗と M [yukicoder 976]

https://yukicoder.me/problems/no/976 解説 https://yukicoder.me/submissions/424685 mod m上の計算では、ab % m = (a % m) * (b % m)が成り立つ。 つまり、分配法則が成り立つため、Mで割ったあまりを計算しながら、2を128回かけていけばいい。 ll M; //-…

ミスターマックスバリュ [yukicoder 975]

https://yukicoder.me/problems/no/975 解説 https://yukicoder.me/submissions/424682 あるかどうかをそれぞれ判定して、booleanの変数として保持しておこう。 あとは、それを使って、4択の回答方法で答える。 int X, N, M, A[101010], B[101010]; //------…