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

hamayanhamayan's blog

2021-05-01から1ヶ月間の記事一覧

Urban Planning [第六回 アルゴリズム実技検定 L]

https://atcoder.jp/contests/past202104-open/tasks/past202104_l 前提知識 最小全域木 (幾何) 解説 https://atcoder.jp/contests/past202104-open/submissions/22659267 ICPCでよく見るような幾何問題。 幾何問題といっても特殊な知識を要求するものでは…

Common Coupon [第六回 アルゴリズム実技検定 K]

https://atcoder.jp/contests/past202104-open/tasks/past202104_k 前提知識 動的計画法 解説 https://atcoder.jp/contests/past202104-open/submissions/22655816 買う買わないの問題。スコアがあって最大化するし、同じ商品は複数買えない。 いかにもDPな…

Points to Cost [第六回 アルゴリズム実技検定 J]

https://atcoder.jp/contests/past202104-open/tasks/past202104_j 前提知識 三分探索 解説 https://atcoder.jp/contests/past202104-open/submissions/22655262 数学の知識と「三分探索」というのを知っているかという問題。 三分探索が分からない場合は別…

PAST to Fishing [第六回 アルゴリズム実技検定 I]

https://atcoder.jp/contests/past202104-open/tasks/past202104_i 前提知識 動的計画法 解説 https://atcoder.jp/contests/past202104-open/submissions/22654667 DPに慣れていると問題設定と制約を見るとDPかなと一直線で結びついてしまう。 考察過程が何…

Can Can Mart [第六回 アルゴリズム実技検定 H]

https://atcoder.jp/contests/past202104-open/tasks/past202104_h 解説 https://atcoder.jp/contests/past202104-open/submissions/22654243 缶切りが必要なものと必要でないものを分けて考えよう。 すると、それぞれから最適に缶を選択してくることを考え…

One Step at a Time [第六回 アルゴリズム実技検定 G]

https://atcoder.jp/contests/past202104-open/tasks/past202104_g 解説 https://atcoder.jp/contests/past202104-open/submissions/22652811 何から始めようかという感じであるが、愚直なやり方から考えてみる。 愚直に探索できないか 操作を行っていく上で…

Safety System [第六回 アルゴリズム実技検定 F]

https://atcoder.jp/contests/past202104-open/tasks/past202104_f 解説 https://atcoder.jp/contests/past202104-open/submissions/22645973 問題文で要求されている仕様も難しいが、ちゃんと読み解ければ実装はそれほど難しくない。 foreverとなる場合 自…

Third from Front [第六回 アルゴリズム実技検定 E]

https://atcoder.jp/contests/past202104-open/tasks/past202104_e 解説 https://atcoder.jp/contests/past202104-open/submissions/22645719 高度実装問題である。 配列では任意箇所の要素を削除することは時間がかかる。 先頭123個目、末尾123個目が操作さ…

K Integers Summations [第六回 アルゴリズム実技検定 D]

https://atcoder.jp/contests/past202104-open/tasks/past202104_d 前提知識 累積和 解説 https://atcoder.jp/contests/past202104-open/submissions/22645520 ここから点数があがり、単なる実装問題ではなくなってくる。 計算量を意識していこう。 愚直解法…

Buying a Cellphone [第六回 アルゴリズム実技検定 C]

https://atcoder.jp/contests/past202104-open/tasks/past202104_c 解説 https://atcoder.jp/contests/past202104-open/submissions/22645364 たくさんの入力が与えられて、要求仕様を満たす実装ができるかを問う問題。 どんな実装をしても計算量が超えてし…

PASTal Code [第六回 アルゴリズム実技検定 B]

https://atcoder.jp/contests/past202104-open/tasks/past202104_b 解説 https://atcoder.jp/contests/past202104-open/submissions/22645258 文字列をマッチングしてくる実装問題となっている。 連結される文字列はどちらであっても4文字なので、文字長をN…

POSTal Code [第六回 アルゴリズム実技検定 A]

https://atcoder.jp/contests/past202104-open/tasks/past202104_a 解説 https://atcoder.jp/contests/past202104-open/submissions/22645201 実装問題。 ループ(必須ではないか)と文字列が扱えれば解ける問題。 数字の判定に戸惑うかもしれない。 C++では…

RootMe 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 Task2:偵察 設問を見ると何をすればいいかが分かる。nmapとGoBusterしよう。 $ nmap -sC -sV $IP 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.29 ((Ubuntu)…

Xor Distances [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) E]

https://atcoder.jp/contests/abc201/tasks/abc201_e 前提知識 (XOR関連知識) 解説 https://atcoder.jp/contests/abc201/submissions/22639728 まず、方針を色々考えていく上でビット毎に処理していくという発想を出すところがまず難しい。 ビット毎に処理?…

Game in Momotetsu World [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) D]

https://atcoder.jp/contests/abc201/tasks/abc201_d 前提知識 ミニマックス法 解説 https://atcoder.jp/contests/abc201/submissions/22636331 今回のゲーム問題はミニマックス法を知らないとだいぶ解くのが厳しい。 DPといえばDPではあるが、このやり方をD…

Secret Number [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) C]

https://atcoder.jp/contests/abc201/tasks/abc201_c 解説 https://atcoder.jp/contests/abc201/submissions/22640379 根性計算、根性場合分けをする問題。 最近あんまり見ていなかったが、今回のように丁寧に場合分けをして解いていくような問題もある。 o…

Do you know the second highest mountain? [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) B]

https://atcoder.jp/contests/abc201/tasks/abc201_b 解説 https://atcoder.jp/contests/abc201/submissions/22640502 C++だとpairでソートするのがいい。 pairでソートした場合は、第一要素でまずはソートして、同値であれば、第二要素でソートするようなソ…

Tiny Arithmetic Sequence [マイナビプログラミングコンテスト2021(AtCoder Beginner Contest 201) A]

https://atcoder.jp/contests/abc201/tasks/abc201_a 解説 https://atcoder.jp/contests/abc201/submissions/22640618 並び替えを全探索して、等差数列であるかを判定してもいい。 そっちの方が実装簡単だったかも。 条件を改めてみてみると、 A[3] - A[2] =…

Bounty Hacker 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 第一段階:内部侵入 nmapする $ nmap -sC -sV $IP 21/tcp open ftp vsftpd 3.0.3 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) なるほど、gobu…

OhSINT 解説 (Writeup) [TryHackMe]

そのまま書くと検索妨害になりそうなので、重要ワードを■にしている。 第一段階:googlability jpgというファイルが得られるので、jpg.jpgと変換して中身を見ると、Windowsの芝生が得られる。 Exif情報を見てみよう。 $ exiftool jpg.jpg ExifTool Version N…

Simple CTF 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 第一段階:侵入 $ export IP=[YourIP] $ ping $IP まずは、ポートスキャンしよう。 $ nmap -sC -sV $IP 21/tcp open ftp vsftpd 3.0.3 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) 2222/tcp open ssh OpenSSH 7.2p2 Ubuntu 4u…

自分のテンプレについて

解説を見るうえで、テンプレが無いと理解できない部分を補うページ。 テンプレは必須ではないし、かの旅人はテンプレを持っていないので、ここら辺は好き好きという感じ。 #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) #define rrep(i,a,b) for(int i=a;i>=b;i--) #define fore(i,a) for(auto &i:</b;i++)></bits/stdc++.h>…

TryHackMe 解説まとめ

TryHackMe ブログ管理番号 難易度 Platform 問題 解説 キーワード(白塗りしてあるので選択で見て) 001 Easy Linux Basic Pentesting 解説 Smb, Ssh Password Brute-force, Hash Cracking 002 Easy Linux Pickle Rick 解説 Nikto, リバースシェル, Sudoによ…

Pickle Rick 解説 (Writeup) [TryHackMe]

一部を■で隠しています。 第一段階:RCE達成まで $ export IP=■■■■■■■■ $ ping $IP ポートスキャンする。 nmap $ nmap -sC -sV $IP 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.6 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 23:56:fa:04:6a:f6…

Basic Pentesting 解説 (Writeup) [TryHackMe]

面倒じゃなくて、解答に直結しそうな部分は■で隠しています。 今回の問題は2段階の攻撃が必要です。 1段階: janでログインする $ export IP=[YourIP] $ ping $IP とりあえず入れて接続確認。まずはポートスキャン。 nmap $ nmap -sC -sV $IP PORT STATE SERV…

Patisserie ABC 2 [京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200) E]

https://atcoder.jp/contests/abc200/tasks/abc200_e 解説 https://atcoder.jp/contests/abc200/submissions/22441425 今回の問題は辞書順でK番目のものを答えよという問題と同様の解き方で解いていく。 辞書順でK番目のものを答えよという問題の場合は [A..…

Happy Birthday! 2 [京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200) D]

https://atcoder.jp/contests/abc200/tasks/abc200_d 解説 https://atcoder.jp/contests/abc200/submissions/22441528 DPして経路復元する。 (公式解説は鳩ノ巣原理です…なるほど…) DP DPについては組合せDPが分かっていれば中身はそれほど難しくない。 dp…

Ringo's Favorite Numbers 2 [京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200) C]

https://atcoder.jp/contests/abc200/tasks/abc200_c 解説 https://atcoder.jp/contests/abc200/submissions/22436968 これは類題を解いたことがないと最初の発想が難しいかもしれない。 i,jの全列挙はN2通りくらいになるので、1010でこれは間に合わない。 …

200th ABC-200 [京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200)B]

https://atcoder.jp/contests/abc200/tasks/abc200_b 解説 https://atcoder.jp/contests/abc200/submissions/22435193 問題では一部文字列として計算しているが、普通に数値計算できるので、数値計算としてやっていくのがオススメ。 ちなみに、文字列を経由…

Century [京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200)A]

https://atcoder.jp/contests/abc200/tasks/abc200_a 解説 https://atcoder.jp/contests/abc200/submissions/22433894 上手く計算できるように変換していく。 1-100: 1 101-200: 2 201-300: 3 +99してみる 100-199: 1 200-299: 2 300-399: 3 これで100で割っ…