プログラミング

ABC078C – HSI

確率pで成功するまで試行した場合、成功までの試行回数の期待値は1/pになるらしい。 なるほど C - HSI PDFガン見しながら解法書いていたらほぼ変わらない内容になった・・・ #include <bits/stdc++.h> #define INF 1e9 using namespace std; #define REPR(i,n) for(int i=(n); i >= 0; --i) #define FOR(i, m, n) for(int i = (m); i < (n); ++i) #define REP(i, n) for(int i=0, i##_len=(n); i<i##_len; ++i) #define ALL(a) (a).begin(),(a).end() template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; } template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; } int gcd(int a,int b){return b?

ARC051A – 塗り絵

これリアルでやってたら二点間距離に気づかずにおわおわになるやつ 右下、うまく四角形描けなくて申し訳ない A - 塗り絵 こんな感じの場合分けを作り出す問題本当に苦手なので得意になっていきたい・・・・ #include <bits/stdc++.h> #define INF 1e9 using namespace std; #define REPR(i,n) for(int i=(n); i >= 0; --i) #define FOR(i, m, n) for(int i = (m); i < (n); ++i) #define REP(i, n) for(int i=0, i##_len=(n); i<i##_len; ++i) #define ALL(a) (a).begin(),(a).end() template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; } template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; } int gcd(int a,int b){return b?

AGC028A – Two Abbreviations

ムズイ A - Two Abbreviations 解説、O(N+M)って書いてあるんですけどNはどこだろう。。。 条件式にLが出てこない => Lは良い文字列を作れるかどうかに関与しない ってことですね・・・ ちゃんと式立てて考えるとかなり時間がかかる・・・・ #include <bits/stdc++.h> #define INF 1e9 using namespace std; #define REPR(i,n) for(int i=(n); i >= 0; --i) #define FOR(i, m, n) for(int i = (m); i < (n); ++i) #define REP(i, n) for(int i=0, i##_len=(n); i<i##_len; ++i) #define ALL(a) (a).begin(),(a).end() template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; } template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; } int gcd(int a,int b){return b?

キーエンスプログラミングコンテスト 2020 【Cまで】

Cまでしか解けなかったんですけど、何というかAtCoderでは珍しい雰囲気の問題だった・・・ A: Aにしては結構珍しい、読解力で実装を軽くしていく様な問題。 二つの操作は独立している ので最もマスが多く塗れる様な操作をひたすら繰り返せば良い。 A - Painting #include <bits/stdc++.h> #define INF 1e9 using namespace std; #define REPR(i,n) for(int i=(n); i >= 0; --i) #define FOR(i, m, n) for(int i = (m); i < (n); ++i) #define REP(i, n) for(int i=0, i##_len=(n); i<i##_len; ++i) #define ALL(a) (a).begin(),(a).end() template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return true; } return false; } template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return true; } return false; } int gcd(int a,int b){return b?

AGC041A – Table Tennis Training

AGCお疲れ様でした。 AtCoder Grand Contest 041 - AtCoder Writerがtouristの時点で最高に興奮しますね。 超つまづいた訳でもないのですが、僕が高校時代卓球部に所属していたこともあり、「うわ〜〜〜やってた、やってたw」って気持ちになったので、折角なので解説を書こうかと思います。 問題はこれです。 A - Table Tennis Training これ本当よくやってたんすよ・・・・(しつこい) 提出 #9180259 - AtCoder Grand Contest 041 #include <bits/stdc++.h> #define INF 1e9 using namespace std; #define REPR(i,n) for(int i=(n); i >= 0; --i) #define FOR(i, m, n) for(int i = (m); i < (n); ++i) #define REP(i, n) for(int i=0, i##_len=(n); i<i##_len; ++i) #define ALL(a) (a).

【TypeScript】Promiseをほんの少しだけ触った備忘録

どうも JSネタです。 何も考えずに aync await してたら 参考にしたいソースコードが function asyncFunction() { return new Promise(function (resolve, reject) { setTimeout(function () { // 成功 resolve('Async Hello world'); }, 16); }); } って書いてあって何も分からなくなってしまった。 理解ついでにコードを書きつつブログを書いていきます。 環境はnode.js+TypeScript(3.7.2) です。 TypeScriptで書いた方がわかりやすいので もくじ Promiseを返す関数の話 簡単に書いてみる rejectしてみる 閑話休題 実はrejectはなくても良い 逆にrejectだけでも良い Promise.