Memo

Twitterに書くには長すぎることを書きます。Opinions are my own.

yukicoder No.928 軽減税率?

想定解は 全探索ですが、100で割った余りを決め打ちする ( の形にする) とfloor関数が消え、 店内で食べるほうが安くなる場合に が満たすべき必要十分条件は1次不等式で表すことができます。そのため、 を全探索することで の値にかかわらず で解けます。実…

Reinstall Ubuntu 20.04 LTS in X1Carbon (7th gen, 2019)

I faced a strange boot error and re-installed Ubuntu 20.04. Kernel version aajisaka@x1carbon:~$ uname -a Linux x1carbon 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux Change CapsLock to Ctrl In …

Facebook Hacker Cup 2020 Qualification Roundメモ

2019のQualと違って全完できました。Round 1もがんばります。 A 愚直に実装できる B 隣接するAとBを消すという操作に帰着できる AとBが1つ以上ある場合、どこかでAとBは必ず隣接しているので必ず消せる したがって、AとBの個数を数えて差が1ならOK C 考察す…

[WIP] Building Apache Hadoop with Apple Silicon

Install Java I used AdoptOpenJDK 8. The binary is for x64 but somehow it worked when building. When running tests, Kerberos does not work: Stack: [0x000000030b6b4000,0x000000030b7b4000], sp=0x000000030b7b1730, free space=1013k Native frame…

Apache Hadoopコミュニティでメンテナンスが追いついていないところ一覧

Help me please... 気が向いたときに更新する Java 11+ 関係 まとめ: [HADOOP-16795] Java 11 compile support - ASF JIRA Javadocを動くようにする [HADOOP-16862] [JDK11] Support JavaDoc - ASF JIRA Jerseyを2系に上げる [HADOOP-15984] Update jersey f…

AGC045-C Range Set

問題: atcoder.jp 解説を読んで理解したつもりけど、どうやって のDPを実装するかわからない人向けな解説 が 個以上連続せず、 が 個以上連続しないような長さ の列の個数 : で終わる長さ の列の個数 : で終わる長さ の列の個数 さらに とおくと、 これは の…

Linux環境でstack overflowしたときの対処 + その他

そもそも無限ループしている、みたいな話ではなく、AtCoderのコードテストだと通るのに手元だとREする、みたいな話です。解決手順は以下の通り Terminalを開く ulimitを設定する $ ulimit -s unlimited CLionを開く $ ${HOME}/.local/share/JetBrains/Toolbo…

ABC161-F: Division or Subtraction

問題: https://atcoder.jp/contests/abc161/tasks/abc161_f 自分は という制約を見ると、前半パート と後半パート に分けて考えることが多くて、今回もそれで解けました。 前半パートについては、 で割り切れる限り割って、割り切れなくなったら で割った余…

ABC161-D: Lunlun Number

問題: https://atcoder.jp/contests/abc161/tasks/abc161_d でも解けるDP解を紹介する。 (桁で最上位桁の値がとなる、前の桁との絶対値の差が1以内の数の総和)を で計算する。 の場合はルンルン数ではないが、ここでは気にせず計算していく。 小さい順にルン…

同好会バチャ - Educational Codeforces Round 80

チーム戦をやるほど人数が集まらなかったため、初の個人戦をした。個人戦になると急に準備が楽になるので気軽にやっていきたい。ガチ勝負というわけではなく、適度に雑談もやる感じ URL: https://codeforces.com/contest/1288 コンテスト中 Cまではそこまで…

DDCC2020参加メモ

忘れないうちにメモ コード部門 A Grundy数を愚直に求めてXORした。ここでGrundy数は素因数の重複を許した個数になっていることが解説に書いてあって、少し考えると確かにそれはそう B よくわからなかったので、パス C ずっと睨んでいると、後ろから順に [i,…

偏角ソートにおけるdoubleとlong doubleの精度について

幾何の問題だと偏角ソートしたくなることがよくあって、その場合に std::atan2 を使うことが多い。ここでいつ long double が必要になるかというメモ。 結論 x座標とy座標の値が整数で区間 [-109, 109] に含まれる場合はlong doubleを使う。 [-105, 105] の…

2019年振り返り

2019年上期の振り返りはこちら: 2019年上半期+α振り返り - Memo 総括 競プロ 2019年の競プロレーティング変動AtCoder: 1654 -> 2330 (+676)Codeforces: 1941 -> 2200 (+259)2020年もがんばります— Akira Ajisaka (@ajis_ka) 2019年12月30日 今年の夏から秋く…

GigaCode 2019に参加しました

gigacode.connpass.com ヤフー社員枠で参加 + LT + 設営撤収のお手伝いをしました。 LT Virtual contestの開き方 #GigaCode2019 from Yahoo!デベロッパーネットワーク www.slideshare.net 会社の名前が出るので、会社の同好会でやっていることの紹介を簡単に…

yukicoder No.919 You Are A Project Manager のテスターをしました

初めてyukicoderのテスターをしました。 問題: https://yukicoder.me/problems/no/919 やったこと 問題を解く 「愚直にやると になってTLEしますね」 「想定解は より低いです」 「まじで」 数時間睨むと解法が生える 1secくらいで通る writer解と解法もorde…

ThinkPad X1 Carbon 2019を購入した

私物ノートPCとしてしばらくMacBook Proを使っていたけど、TouchBar意味わからん & 初代バタフライキーボードの詰まり & キーボードが熱くなる問題のコンボがつらくなってそろそろMacBook Proをやめたいと思っていた(家ではMagic Keyboardを使っているが、競…

2019年上半期+α振り返り

唐突な振り返り記事 2018年 aajisaka.hatenablog.com 総括 相変わらず競技プログラミングばっかりやっている 想像してたより出張が多かった (出張は好きなほうなのでOK) 体調を大きく崩すことはなく、まぁまぁいい感じです 1月 OSSデベロッパーの予算使ってH…

AtCoder Grand Contest 035 感想

戦略 Aだけ通してもレート上がらないのでまずBとCを読みます B わからない 葉になっているところは自明だから、葉を決めて葉につながる辺を削除を繰り返し、葉が存在する間は自明に定まるなぁと思ったけど残りをどう構成すればいいかわからない C 4k+3 の場…

FHC 2019 R2敗退

旅行先で同行者がみんな寝た状態のところから参加。周りのいびきがうるさい中、遅めの3完(合計4:37:18)で201位でした。通過ラインの200位まで35秒だった。。。 A わけわからなくないか? と思ってBを読んで実装し始めた (敗因その1)。Bを書いてみて計算量で疑…

FHC 2019 R1通過

Qualは2完(oox-)だったけど、R1は全完した。 C(Ladders and Snakes)は公式解説だと辺の構築に かかると書いてあったが、座標圧縮すると になった。 ハシゴをx座標でソートして、ハシゴのy座標ごとに最も右にあるハシゴの番号を常に持っておくようにする。ハ…

デバッグ出力マクロはインタラクティブ問題と相性がいい

コンパイラオプションに -DLOCAL を仕込んでおくと、こんなデバッグ出力マクロが書けることが知られている。 void debug_out() { cerr << endl; } template <typename Head, typename... Tail> void debug_out(Head H, Tail... T) { cerr << " " << to_string(H); debug_out(T...); } #ifdef L</typename>…

AtCoder Beginner Contest 129 F - Takahashi's Basics in Education and Learning

問題: https://atcoder.jp/contests/abc129/tasks/abc129_f 3x3行列かー、と思ったけどそこから先の実装も難しい 考察パート 数列の各項の桁数の種類は高々18種類しかないので、桁数ごとに求めたい -> コンテスト中にわかった 高速に求めるには行列累乗が良…

AtCoder Regular Contest 075 E - Meaningful Mean

問題: https://atcoder.jp/contests/arc075/tasks/arc075_c 公式解説は座標圧縮 + Binary Indexed Tree(BIT)だけど、Randomized Binary Search Tree(RBST)で殴ると座標圧縮しなくていいので実装が楽。(ただし定数倍遅い気がする) signed main() { ll n, k; c…

AtCoder黄色になりました

aajisakaさんのTenka1 Programmer Contest 2019での成績:103位パフォーマンス:2404相当レーティング:1979→2033 (+54) :)Highestを更新し、初段になりました!#AtCoder https://t.co/zzzrkQKCNw黄色になった!— Akira Ajisaka (@ajis_ka) 2019年4月20日 今…

いろはちゃんコンテスト Day1 L - をあ ぷろぶれむ

問題: L - をあ ぷろぶれむ 各 から右側に区間を伸ばしていくと、ビットを新たに立て続けたものが黒板に書かれていくことになる。ここで、新たに立ったビットが0に戻ることはないため、 の立っているビット数を とすると、黒板に書かれる整数の候補は高々 し…

Google Code Jam Round 1B 2019 を通過した

C-large以外は解けて72点。308位で通過。1Aのときと違って破滅しなくてよかった。 A (Manhattan Crepe Cart) 問題を読むのに時間がかかる 東西と南北に分けてimosするだけ 16:57 AC void solve() { int p, q; cin >> p >> q; vector<int> x1(q+1); vector<int> x2(q+1)</int></int>…

square869120Contest #6 C Infinite Grid

109回もグリッドをつなぐ必要はなく(2H-1)回で十分ということに気づけばよかったが、そこに気づかなくても隣接行列 ( = (i, 1) から (j, w+1) に到達可能なら1, そうでなければ0) を作って累乗することでゴリ押しすることができる。 bool used[100][100]; bo…

square869120Contest #6 B AtCoder Market

公式解説だと中央値を取っているが、そこまで気づかなくても単調性にさえ気づけば三分探索でゴリ押せる。整数の三分探索は実装が大変なので、実数で三分探索してあとで丸める。 constexpr double count(double pos, const vector<ll>& a, int n) { double ret = </ll>…

Google Code Jam Round 1A 2019 に参加しました (通過失敗)

Cで貪欲に取ればいいということまではわかっていたが、そこから先の実装をバグらせ続け、visibleすら通せず。priority_queueに突っ込んでがちゃがちゃやってたけど、実装が壊れた。単純に50から順番に走査しても充分間に合うのでそうすべきだった。コンテス…

早稲田大学プログラミングコンテスト2019にチーム参加した

早稲田大学プログラミングコンテスト2019 - AtCoder に参加しました。 開催2日前 レート2000未満なら3人までチームが組めると書いてあった & RUPC参加者のTwitterを見ててチーム戦楽しそうだなぁと思ったので、競プロやってる大学の頃の音ゲーの友人(@Uminch…