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

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!!

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

あの水色ってきれいだよね。(競プロ!! AdC)

競プロ、それは魔窟。

何言ってるかわかりませんね。私もわかりません。どうもNafmoです。

今回は競技プログラミング Advent Calendarに参加させていただくことになりました。これは16日目の記事です。

続きを読む

ABC 080 参加記録。

ごめんなさい。

ちょっと今回は雑です。時間ないので。

A問題

ans=min(B,N*A);

B問題

cin>>S;
N=stoi(S);
for(auto x:S){
    A+=int(x-'0');
}
cout<<(N%A==0?"Yes":"No");

C問題

日本語読めませんでした。

要はやるやらないを10コマ試せば良い

2^10(ただし全部やらない1通りを引く)分だけ全探索。

Bitですね。

D問題

これを丁寧に書きたい。

いもす法 を使って終わりですね。(いもす法解説ページのリンク)

0.5なので、2倍したらいい感じになる。...さて。私は別の解き方でときました。

Nafmo's Answer (ソースコード)

私は普通にいもす法をした後に、開始終了時刻をチャンネルごとにsetにぶち込み、録画が終わる時間で、次の録画が同じチャンネルかどうかをsetで調べました。

同じでない場合はtemp++をして加算します(録画機を増やすしかないため)

最後は ansとA[i]+tempで最大値比較

とやるとかぶりを発掘できてうまくやれます。

暇ができたら丁寧に書きますね。

わからなかったら @Nafmo2 まで聞いてくださいな。

おまけ。レート。

はい。

perf. : 1370
rate : 1176 (+24) highest!!

 

ABC 079 参加記録

全完じゃああああああああ

お久しぶりです、全完さん。

わかりやすさを心がけていきたいですね。

デザイン簡略化していきまーす

A問題

後ろ3桁は1000で割ったあまり。

前3桁は10で割ればいい(切り捨てなので)

三項演算子を用いて

((A/10)%111==0||(A%1000)%111==0)?"Yes":"No";

B問題

素直に書きました

if(0,1)だけ例外処理

ans=a+b

b=a,a=ans;

を回しまくります。

long longに変数を統一しないとオーバーフローします(int 混ぜないでね)

C問題

A+-B+-C+-Dを素直にべた書きしてください。こっちのほうが早いです。

私は、Bit全探索を書きました。

 参考情報

D問題

問題概要と解釈

  1. 書いてあるすべての数を1にしたい。
  2. 全体でいくらコストかかるか求めよ。
  3. 1になれるのはすべての数。
  4. コストが羅列されている
  5. こんな感じなのが全てに生えていると言える
    すべての数に魔法が使えてなれるので
    (中心が変わったものが全てにある)

  6. あれ?これ、グラフっぽくないか?
  7. 一番小さいコストを求める、ということは、
    どこか経由してもいいから、結果1にできればいいよね。
  8. あれ?全部の頂点との最短距離求められるのでは?

  9. 各頂点から1までの距離が、コストでは...?
  10. できるじゃん!!!

というわけで、ワーシャルフロイド書きます。

で、ワーシャルフロイドの解説は別で書くかもしれません

 このリンクのソースは私のソースだった()

ワーシャルフロイド回して、d[a][1]を平面操作します(aは書いてある数値(-1はスルーする))

これで通せます。

おまけ。レート。Highest

 

 

 わーい