競プロっておいしいの?(仮)

ABC 085 参加記録

どうも。問題文を読まない芸人です。

ども、Nafmoです。

あけおめです。今年も是非よろしくお願いします。

CombNaf3 LT埋まりりましたね。ありがとうございました。

補欠まだチャンスがありますのでぜひぜひ!!

さて、ブログはじめはABC参加記録で行きましょう。

WAを生やしまくりました。

でも、解き易くて楽しかったw

解説いきま~す。

ABC085 解説。

A問題

Nafmo's Source-A

文字列受け取って S[3]=8;...としたのが私のWA

正解は '8'

cout<<S<<endl;で終わり

B問題

Nafmo's Source-B

読み替えましょう。

何個の種類のサイズがあるでしょうか?

set使ってかぶりを除いたとき、残った個数を出力。

C問題

Dのが簡単に実装が終わった。

問題文をよく読め。

Nafmo's Source-C

  1. x*10000+y*5000+z*1000==Yの時の(x,y,z)を求める答えとする
  2. z=N-(x+y)
  3. xを0~N回ループする中でyを0~N回ループさせて(x,y,z)を確定させる
  4. Yと一致するか確かめる。
  5. 出力して終わり。
  6. 私のWAは (x,y,z)と出力するのを(z,y,x)としたことが原因です。

D問題

Nafmo's Source-D

  1. 考察過程を書きます。
  2. 回数決め込んで二分探索か...?
    2種類あるのでやりにくそう...保留
  3. x種類目まで使ったときyHP削るときの最小回数でDP
    空間計算量dp[N][H]で死を迎えるので不可
  4. じゃ、貪欲か?
  5. ナイフは投げると使えなくなるから、
    投げない操作と同時にやるときは最後に投げれば良いな~
    投げるのを1回に固定すれば順番関係ないじゃん
  6. 投げない操作の最大値より大きなものを全部投げきって、
    残りは投げない操作で殴り続ける。
  7. この貪欲で行ける。書くぞ
  8. 通った決めた俺天才か??????
  9. え、C落ちてるじゃん(絶望)
REP(i,N){//0~N-1のループ。
    if(A[N-1]<B[N-1-i])H-=B[N-1-i];
    else break;
    ans++;
    if(H<=0){
        cout<<ans<<endl;
        return 0;
    }
}
ans+=(H%A[N-1]==0?H/A[N-1]:H/A[N-1]+1);
//とかでうまくいきますね

 

感想

  1. 問題文を読みましょう。
  2. '8'と8は違います。
  3. 出力順を間違えないで
  4. 注意力がなさすぎてクソ
  5. でも今回のセットは早解きセットでしたね。
  6. そこまでひねくれたものがない印象です。
  7. mokoちゃん早すぎ.....でもあれはできる速度だなぁと思った。
  8. さて、みなさんは私を超えられましたか?

Unratedですね。(水色のため)

次回は私を抜きましょうね(

ABC084 参加記録

Good Bye 2017

私の競プロ人生が始まった年が終わりました。

今度まとめ記事でも書こうかしら。

今年レート変化~~~~

0(undefined)→1214(Highest:1240)


ABC084 解説。

A問題

Submission #1925336 - AtCoder Beginner Contest 084

2日は48時間、A時間だけ引き算しましょう

cout<<48-A<<endl;

B問題

Submission #1924189 - AtCoder Beginner Contest 084

前からA文字、後ろからB文字

をそれぞれ、substrして(部分文字列をとる)

その文字列全てに対して

0~9に当てはまってるかを確かめ、

(for(auto x:S)if(0<=x-'0'<9))のような感じ。

間の1文字がハイフンかを確かめて

上3つがすべて成り立つかどうかでYes/No分岐

C問題

Dのが簡単。

Submission #1926566 - AtCoder Beginner Contest 084

  1. i(カウンタ)で,N回ループを回す。
  2. Tを今までにかかってる時間とする。
  3. その中でfor( j | i+1~N-1)まで回す。
  4. TがS[j]以下ならT=S[j]+C[j];
  5. それ以外なら
    ((T-S[j])/F[j]を切り上げたもの)*F[j] + C[j]
  6. でTを出力する。

D問題

Submission #1925336 - AtCoder Beginner Contest 084

  1. 素数を列挙。
  2. その過程で、素数が出てきたら1足して2で割ったものが素数かどうか判定して S[その数]=1とする。
  3. S[]の配列で累積和を取る。
  4. 残りはクエリで累積和で計算して区間和を取る。
  5. おしまい。

感想

  1. A-Bはコンパイル無しで行く縛りをやりました。
  2. Cは捨ててDを通した。累積和優勝。
  3. D、素数判定、ライブラリほしいな。
  4. C、問題文読みチャレンジに成功した。
  5. けど、注意力がなさすぎてだめでした。
  6. さて、みなさんは私を超えられましたか?

私が今年参加するコンテストはこれで終わりです。

良いお年を。

 

CombNaf2 -開催後記-

ありがとうございました!!!

本当に面白かったです。ありがとうございました。

アンケートにご協力ください。

次回もやります。その手続きは後でやります。


今回も反省すべき点が多くて、とても申し訳ない感じになってます。

なかなか思った通りできませんね。ムズすぎる。ダメだ。

時間運び、途中のグダリ。イライラさせてしまうような部分もあったと思います。

運営としてはうまくできている自信は皆無ですしできてません。

もう本当に次回やりたくないですね。どうすんだよこれ...

ま、やるんですけどね。私が逃げたいから逃げるってわけにも行かないですし。

私が多少うまくできず苦しむだけで、開催できるんだからやるしかないでしょ。

はい。というわけでLTなどのコメントです。

主催視点のコメント

  1. はじめに
    私の自己紹介をした、水色の話をしたら拍手が来た。めっちゃ嬉しかった。
    ダイジェスト動画を流した。
    当日1時まで起きてた甲斐がありました。
    ウケてて嬉しかった。
  2. LT1部
    1. 「いろんなヒープ」/ もやし先輩
      準備つらそうでしたね。
      運営側の準備も終わってなかったので集中して聞けませんでした....
      タイムシフト確認します。
      でも、ちょくちょく面白い表現があってすきです。
    2. ブロックチェーンすごいぞ!」/ おのかちお
      環境に優しくないらしい...こちらもわからない分野なのでTSで確認しながら見ることにします。興味持てたので収穫ありました!
    3. 「競プロをやってたらなんとかなった話」/ yumechi
      このLT、1番ためになったかもしれないです。
      競プロは役に立つということがわかったのでとても良かったです。
    4. 関数電卓Linuxを動かそう」/ ゆみや
      ど安定すぎて好き。流石だった。関数電卓って何。
      物理エンジン乗ってたじゃんw
    5. 「低レイヤのこと!」/ けいと
      ここで私はCombKansaiに電凸しに行ったので消えました。
      低レイヤー、そろそろ触りだしたほうが良さそう
      (周りに人がいすぎ)
  3. 休憩
    しゃぶしゃぶ生にJOI予選E 28点解法の話をした
    meaとおつよんさんが面白い絡みしてて見てて楽しかった。
    eiyaさんと話した。やっぱあの人すげぇよ、学ぶことしかねぇや
    社会人組と話して、水色レートは戦えるという自信を持てた。
    え?もう30分立った?
    ああああああああ準備してないいいいいいいい
    となり、最初ぐだった。ごめんなさい。

  4. LT2部
    1. プログラミングコンテスト傾向の徹底分析 & 解説」/ E869120
      これは煽りがひどいけどわかりやすくまとまってたので、強い。
      本当にすごかったのでスライド見るといいかもしれない

       

    2. 「ロボットに役に立つ競プロ」/ はむこ 
      ロボットの分野にも必要な事があるというのがわかった
      セグ木、ヅに生えてるだけでなく、こんなとこでも使えんのか。つながるなぁ
    3. 「N高等学校のプログラミング教育でやってること」/ sifue
      会場の管理のお手伝いをしていただいて助かりました。ありがとうございました。
      それがある限りは宣伝はいくらでもしていただいて構いません。
    4. sedで頑張らないでください」/ いるやん
      ぎりぎりできてギリギリでスライドを完成させたプロ。
      「Nafmoさんいじってもいいですか?」といきなり聞かれ焦ったが、
      面白いほうがいいと思い、好きにやってください的な答えをしたら
      shell芸で「なふもたんもふもふ」された
    5. 「言語処理系制作のススメ」/ na
      次回は..来てほしいですね。
  5. おわりに
    何か一つでも得るものがあったでしょうか?
    中高生は学内で完結しやすいんですが、
    ここに来たことで、外からの刺激を受けられたと思います。
    CombNafに参加することで、今までと違った刺激を受けて、
    何かが変わるきっかけとなれたのであれば、それほど嬉しいことはないです。
    どうだったでしょうか?
    会場を貸してくださったドワンゴさん、
    ニコ生を見てくれた方や会場に来てくれた方、
    そして、何と言ってもLTをしてくださった方、
    みなさまがいなければこのイベントは成り立ちませんでした。
    本当に有難うございました。
    CombNaf3は3/25ですが、告知等の作業はもう少しあとにさせてください。
    私は一回休みたいなぁと思います。何もできてないし、してないのに疲れた。
    すぐ復活するので、...それまで...ゆっくりしてます。
  6. アンケート回答記事を作ります。その際はご確認ください。

最後に

本日は本当にありがとうございました。

私もまだまだですが、次回もどうかよろしくお願いします。

Nafmo、買い出しに行く 解説 AdC17th(yukicoder)

yukicoder AdC Contest 17th

この記事は「Advent Calendar Contest」

CombNafおつかれまでした!!!!解説書きます!!!

疲労で死ぬ...? AdC書きすぎたwwwwwww(三枚目)

Siv3Dと競プロの方もよろしくお願いします


続きを読む

ARC 087 参加記録

CombNaf、明日!!!!

さて、DまでACしたので解説書いて明日の準備します。

ただ、D問題まで行くの時間かけて負けです負け。

明日CombNafなので準備したいですね。

あとyukicoderの Advent Contest、私の担当が明日ですので、

このあと、yukicoderも良ければ覗いてください。

(あの問題は、私の後輩に身に着けて欲しいテクニックで解ける問題を出題しました)

C問題

  1. まずソート。
  2. 種類を数える
  3. 数えた種類がその数と同じでないときに処理を挟む
  4. その数より多いときは差の分だけ
    その数より少ないときは個数分を
    ansに足し算
  5. おわり。

D問題

JOI過去問 - 1年生 (A First Grader)

が類題です、

DPでメモする意味がわからなかったが、添字メモったら一発で通ってクソかよwwwwwとなりました。

boolDPを書いてしまいました。

  1. まず、X座標とY座標を分解します。
  2. Tが出てきたらX座標とY座標を交換する
    要は FFF T FF T F T Fなら(X座標3,1:Y座標2,1)分動ける
    (プラマイどっちにも行けるが、初手Xだけプラスのみ)
  3. ここで a+or-b+or-c+or-... =X(Y)にできるかどうかのDPをする
  4. DP(int a,int b)と取ったときに、aが何個目を見ているか、bがa-1個目までの和を表しています。
  5. それをやるとうまくいきます
  6. XのDPは(1,A[0])としないと初手マイナスという不適なものをカウントしてしまうのでNG。YのDPはDP(0,0)でOK

こんな感じです。

詳しくはソースを読んで下さいな。

Submission #1878367 - AtCoder Regular Contest 087

おまけ。レート

f:id:nafmo17:20171216231404j:plain

 

perf. : 1593
rate : 1240 (+48) highest!!

水色になれました。ありがとうございます!!!!!