投稿

科学の甲子園校内予選参加記

開始数秒後、情報がないことに気づく 僕の仕事終わりなんですが。 みんなすごいね 化学担当と物理担当の頭がすごい 仕方がないので 数学を解いた 参考文献は無いので雰囲気だけ なんと4問だけだった 2問目は二分探索で解けることがわかった() 3問目の図形問題を解いた ゴリラのための問題だったので思考を停止させた 僕「cos 135°ってなんだっけ…」 プリン(仮名)「簡単」 僕「わからんな…」 ……仕方がないので45° + 90°にして加法定理で解く 僕「なんで僕135°で加法定理使ってるの…」 終了後ほかチームと確認したし、 1/4って数字くらいしか出てこなかったので実際に定規あてれば(規制) 結局僕一問しか解いてないw 予選頑張ってきてくれ~(PCK)

日記#5

S013:理想のタイムトラベル パイザスキルチェック の 理想のタイムトラベル を終わらせました 一回やって失敗してしまいましたが、なんとか満点解法をつくりました やったね 残るは S009:辞書順最小 のみです パイザスキルチェックの問題は簡単ではありますが、 バランスがいいので全部埋められれば実力は結構あるほうだと思います CombNafに行けます 旅ですw LTはやる予定はないですけど、気が向いたら作りたいかもしれない(うーんw) LT多くなりそうらしいので聞くだけでいいですかね たのしみ ねもーしょん

日記#4

最近わかったことがあるのですが、ブログは書くことをひとつに絞ったほうがいいでしょう 僕は適当に好きなこと書くスタイル続けます paizaスキルチェック Sランク問題を満点で埋めています 解法は一切言えませんが(マナーであり、規約である)、残りも自分の知識で解けそうなので、埋めきってすっきりしたい 競プロ精進したい人はおすすめできないよ、答え見れないからね S014:直方体のマージ をさっきやってきました 楽しかった笑(しか言えない) ま、やってみなよ 出た瞬間にやって明後日な解法を書いてしまい13位だった 残るは S004:積まれた文字 // 終わってた S009:辞書順最小 S013:理想のタイムトラベル です S***の解法は*****なので秒で終わりますね S001など消えている問題もあるみたい。黒歴史かな 主な戦績は2位が2回ほど Dでは1位を取ったことあるけど、そうでもない D梅とかだれも評価しないからやめとけ(爆) AtCoder埋めよう 難易度 paizaスキルチェックの難易度は、例えば同じAやSでもバラつきがあります。が、競プロ(比較ばかりしてすまん)をあらかたしていれば全部簡単といったところです。 ただし小数、てめえは苦手だ。 (倍精度で殴れ) 怖いから倍精度使うけど単精度で十分なこと多いよね…多くない? なんかもうSよりもAの方が苦手です ブログでは教えられないですが、 困っている人がいたら教えてあげたい… 解いた後でメールとかならいいんじゃないかな…グレーかな… VSCode起動しないままにしてたら更新来てる… 大学に行く頃には、VSCodeやEcmaScriptはどれくらい変わっているんだろう…仕様変更ぐらいは追っていたい…そのころES2019か… ESLintはQiitaにマイナー単位で日本語の解説をしてくれている方がいるので( @mysticatea )おすすめです Macでファイル名にコロン使ったらWindowsで文字化けるという事件が。 東京いったらイベントとライブたくさん行きたい、行きたい 可愛い女の子は可愛いし、可愛い男の子も可愛い では今週も...

日記#3

イメージ
こどふぇす2017qualA A - Snuke’s favorite YAKINIKU はい。 C++の文字列云々わからないんので一文字ずつためした string::substr(pos, len)あるんですね、把握 B - fLIP 縦横にいくつ選ぶか以外で結果は変わらないので、全探索 C - Palindromic Matrix 4個必要なアルファベットの数と実際にある数、 奇数が一個あってもいいかどうか((h%2)&(w%2)) で判定 奇数が二つ以上あったら不可 3完です レート上がったのでよしか(向上心) D、適当なWA回答作ったら模様みたいなの見えたんだけど、思考がトマト 16時起きのせいで眠くなくてつらい おやすみ

PCK17-3

一覧・参加感想記事 問題公式PDF AOJ 1-5問目 6問目 7問目←ここ これは解説なのか? 7:積み荷の配置 これ本番中にできなかったの悔しいな…と思いつつ結構考慮しなければいけないケースが多くて実装時間かかった bitDP ですね。 蟻本にもタイル敷き詰めの問題がありましたが、 タイル敷き詰めを見たらbitDPだと思えるようになっておこうね(思っただけで終わった僕のようにならないように実装練習しようね) 解法 1行ずつ見ていく。 ある行を見ているとき、2行上は気にしなくていいね。 よって、横4マスのうち左3マスに左上が置かれているか、という情報を保持する。 状態数は1行に2^3 = 8個、1e4行で8e4通りなので十分間に合う。 ちょっと、そのうちちゃんとした図解作りかも知れないし作らないかもしれない。 英語間違ってるかも(弱)。 #include <iostream> #include <algorithm> using namespace std ; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define RFOR(i,a,b) for(int i=(b)-1;i>=(a);i--) #define RREP(i,n) RFOR(i,0,n) int bitcount[] = { 0 , 1 , 1 , 2 , 1 , 2 , 2 , 3 }; int h,n; bool b[ 4 ][ 10000 ]; int dp[ 2 ][ 1 << 3 ]; int main(){ cin >> h >> n; REP(i, n){ int x,y; cin >> x >> y; b[x][y] = true ; } REP(y, h- 1 ){ int *prev = dp[ 0 ]; int *now = dp[ 1 ]; ...

PCK17-2

一覧・参加感想記事 問題公式PDF AOJ 1-5問目 6問目←ここ 7問目 6:トランポリン まず10で割っておいて、左右にいくつ動けるか計算しておきます。それをd[i]とします 行きを考えます。 iを0からカウントアップさせていきます。 今iにいるとしたら、i+d[i]まで行けますね。 これをcangoとしましょう。 そのとき、今までのcangoより大きくなければ、 今までで最大の場所から飛べばいいので、更新しなくてもいいです。 こうやって次にいけなくなるか、n-1にたどり着いたら終了です。 n-1にたどり着いていたら、同様に帰りも計算します。 計算量はO(N)です。 #include <iostream> #include <algorithm> using namespace std ; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define RFOR(i,a,b) for(int i=(b)-1;i>=(a);i--) #define RREP(i,n) RFOR(i,0,n) const int _N = 3e5 + 100 ; int n; int d[_N]; int main(){ cin >> n; REP(i, n){ cin >> d[i]; d[i] /= 10 ; } // 行き int i= 0 , cango= 0 ; for (;i <= min(cango, n- 1 );i++){ cango = max(cango, i+d[i]); } if (cango<n){ cout << "no" << endl; return 0 ; } // 帰り i= 0 ;cango= 0 ; for (;i <= min(cango, ...

PCK17-1

一覧・参加感想記事 問題公式PDF AOJ 1-5問目←ここ 6問目 7問目 1-5問目はプログラミングの基礎の for文などの繰り返し if文などの条件分岐 不等式を使った条件式 剰余算(割ったあまり) とか押さえてればおkだよ ほかに、 三項演算子 関数 配列 とかも理解しておこうね 1:お年玉 平均。奇数は考えなくてOK。かならず確認するように! C++ #include <iostream> using namespace std ; int main(){ int a,b; cin >> a >> b; cout << (a+b)/ 2 << endl; } 2:買い物 分岐。ifが使えればとける。 algorithmのmaxはご自由に。 #include <iostream> #include <algorithm> using namespace std ; int main(){ int a,b,c; cin >> a >> b >> c; // 買えない // a+b = 二人の小遣い合計 if (c>a+b) cout << "NA" << endl; // 買える else cout << max(c-a, 0 ) << endl; } 3:9月X日 曜日を求める。7日周期だから7でMODをとればいい。このとき0日目(≡7日目)が何曜日か考えると早い(?) switch文でもいいけど、以下のような配列をつかってもかけるよ。 逆に日付30通り書いてもいいよ。 #include <iostream> #include <algorithm> using namespace std ; string days[] = { "thu" , "fri...