約2週間のまとめ(7/28~~8/08)

テスト:

雑にまとめると

・確率統計概論

 何かくっそむずいんですが。Bくればいいです、はい。

論理回路

 まぁ余裕のよっちゃんな感じでした

 追記:テスト返却されたら92/100でした。8点問題が2点だったし、シカタナイネ。

 結構サボったのでA確定です、はい。

情報理論

 かなり読みを働かせたつもりが、完全デレましたね。

 授業聞いてなくても3~4割取れます。無駄に対策してたので素直にA+です。

・回路理論

 答えは全部あってました。

 途中式が結構雑なので、採点基準によってA~Fで彷徨います。

こんな感じ。

単位怪しいのは、回路理論とCBDくらいでした。フル単したいですね。

 

 

その後:

・A+plus

 受講した授業約13個は多分全部200~500字でレビューしました。

ドミニオンオンライン

 見つけたので始めました。AI相手になぶりなぶられの感じです。

・PUBG

 結局0killステルスでtop10食い込むギリギリが限界です。

 もっと最適化してください。現在平均FPS6~8でプレーしてます。

 なお、視点移動のラグは平均1.2秒(体感)です。kill何て無かった。

・OUTLAST実況

 沢山見ました。

 OUTLAST1--既100% OUTLAST_DLC--0%⇒100%(せのびさんにて)

 OUTLAST2--0%⇒70% (そてるさんにて)

・Unity

 OpenBookで4話⇒7話

7/28 中間報告2

今日は信号処理とARがありました。

 

・信号処理

中間が良かったので、ひたすら演習問題などを凝視していました。

手を全く動かさずに勉強しましたが、多分平均点は来ました。

ギリギリA+来るといいなぁ・・・

 

・AR

優勝です。最近英語が読めなかったので、

最終手段の文法分解戦術使いました(from 東進授業)。

何とか最後まで行きました。

日頃の行いがちょっと悪いので、Bかもです。

 

.

.

.

.

土日挟むので、PUBGやっちゃいます

7/27 テスト中間報告

インド人を右に

「なら日本人は左に」  とまとです。

 

テストの中間報告です。

・プロA

リファレンス無しに、コードを丸ごと書かせる… 無理ですね!

大問1,2はほぼ満点だと思うので(慢心)、A+くれないかな~~

 

微分方程式

ん~~、原因は知らんけど、もしかして先生キレてる?

先生の口調や準備が若干変だった印象。

テスト内容としては、

  ・授業を聴いていれば簡単に     解ける問題1問

  ・授業を聴いていると多分…?    解ける問題1問

  ・授業聞いても解けねーよバーカバーカという問題1問

の構成。

簡単に解ける問題以外は、完答率3割切るのでは・・・? Bくれ!

 

・アルゴリ

圧倒的対策の成果が出ました!優勝!

事前予想は出席点関連でAでしたが、

皆テストの点数低そうだからA+ワンチャン!

テスト内容としては、

  ・あれ~?ふざけてるの?

以上。

この授業の目標はもしかして、

アルゴリズムを用いたプログラミング能力の向上」

ではなくて

アルゴリズムを用いるんじゃねぇ!  

 てめぇがアルゴリズムになるんだよ!(迫真)」

な気がしました(割と真面目に)。

 

・80分の試験に手動逐次探索系を5回以上やらせる

・コードが出てこない(Twitterで指摘されて気づいた)

のはちょっと理解できないですね…

典型的な「日本らしい」教育なんじゃないですかねぇ(呆れ)

AGC018

この1週間殆どプログラミングしてませんでした

(テスト早く滅んでくれ)。

そのせいか否か、今回のAGCは447位(700点)でした。

 

A問題:

え、無限に色んな場所作れるじゃん、え、どうすんの!?!?

Twitterのおかげで、最大公約数分かればいいのだと言われてやっと納得しました)

 

B問題:

一番集まる競技αにN人集まってるとする。 このとき、αを開催している限りは必ず答えがN以上になってしまう。 だから、N未満の答えを探そうとするとαを開催してはいけない。 後はこれを帰納的にこれをやって行けば良い。

こんな感じです

 

C問題:

何か見たことありますが難しです。

 

D問題:

最短辺の両端それぞれを初手として、木の最遠点に飛んでいくことをN-1回やってみました。

参考はAOJのプロコン本です。

サンプル2は正しかったのですが、サンプル1で1小さくでました。

小さく出たので、やはりより良い初手があるのだろうなぁと思いながら終わりました。

(なお、提出して見たらそもそもTLEでした)

 

レート変化がまだ出ないので、ここまでで終わります。

追記:1543→1558

期末現状まとめ

試験結果

・情報数学ーー皆中間酷かったのね… 凄い簡単でした(小並感)多分B,ギリA?

・ベクトルーー5分ほど遅刻したけど、試験開始が5分遅れた結果セーフ。多分A+

 

進捗or予定

・回路理論ーー生徒に授業させないでください。先生が授業して。

情報理論ーー詰み

・プロAーーー全体的に一度漁ったからのんびりしてる。時々TLに流れる質問?を

       試験の練習として何も調べずに答えて対策としてる。

論理回路ーー復習ビデオは一通り見た。プロA終わり次第レポートを始める予定。

・確率統計ーー教科書をカイの二乗分布あたりの所まで読書した。

微分方程ーー教科書の例題全部写経すれば、多分何とかなるでしょ

・アルゴリーーソートが苦手だから、そこやる予定。

・信号処理ーー答え見ながら問題見てやり方理解しておけばいいっしょ

 

ヤバそうな所

・回路理論ーー教科書読むしか手段が無いせいで、教科書理解できなかった章以降が

       まったく分かってねぇ!!!詰んでる程度は3倍アイスクリーム!

・確率統計ーー理論は良いんだ…演習が終始存在しないから、テストが怖い

・信号処理ーー中間良かった結果…  後は察してくれぇ!

情報理論ーー上記同。更に演習要素少なすぎ。教科書も無くね?

競プロ強者が沢山やってるので

  1. 前置き
  2. 模擬国内
  3. 事前計画(ICPC
  4. 本番
  5. 結果
  6. 感想

1.前置き

チームky0sh1nとして参加したtomatoです。

 

何か競プロ強者が大体やってるので勢い任せて始めました。

当然ながら不定期更新です。

 

今回の内容は、ICPCの(主に)当日の現場(tomato目線)を。

ただただ時系列順の思い出書きとなります。

 

2.模擬国内:

とりあえず、ICPCでは改行コードがUNIX系であることを、バイナリエディターから目で確認。

多分なんですけど0完の人たちって、Windowsで参加してる人が多いのではないでしょうか。

運営に報告すれば良いのかなぁって思いながら、こういう面の報告既に沢山されてそうで、言う気にならず本番へ。

Windowsでは、受け取ったデータの改行コードを認識できず、そもそも入力が失敗する。)

詳しくはこちらの、「改行の数値表現」の項にあります。

改行コード - Wikipedia

 

 

 

 

3.事前計画(ICPC):

模擬国内には出ましたが本番ははじめての参加のため、

とりあえずコーダー1名、アイデアマン2名で行動。

僕はアイデアマンです。

 

4.本番:

沢山あるので分割

  1. 事前準備
  2. A問題
  3. B問題
  4. C問題
  5. D問題
  6. E問題
  7. F問題
  8. G問題
  9. H問題
  10. G問題(リトライ)
  11. D問題(リトライ)

1.事前準備:

プリンターがものすごく遅い!やばい!

借りた側が言うのもなんだけど、日頃支障でてそう!

結果、約1名がプリンターの前で10分ほどお茶の代わりに紙を汲んでました。

(感想:機材は一番良いのを頼む)

2.A問題:

N=1000から、全列挙で良いよな~ってことで、

①全ての2つの組み合わせの結果を全部vectorにぶち込んでやるぜぇぇぇ!!!

②上から順に見てって、初めてMを下回るまでループしまくる

って提案して次へ(コーダーに丸投げ)

開始10分くらいで終了

 

3.B問題:

とりあえず " ←これで取得文字列を分割して、文字列配列にする。

あとは

①出来た配列の長さ

②配列のindexの偶奇場合分け⇒同じかどうかの判定をやってく

であとは問題文通り。

Pythonを使う方が楽なので自分がコーダーになるものの、C++のコードを書いてしまってひたすら形式デバッグに追われる。

 

4.C問題:

B問題で30分も使ってると、他の二人が無事にアルゴリズムを作ってくれた。

それならば!ということで丸投げして自分は問題すら読まなかった。

 

5.D問題:

①とりあえず2のあまりについてだとは把握

②XOR使えばよくね?に帰着

③結果として0の組み合わせが受理状態だなって感じまでは行く

④その中での組み合わせ個数最大なら行けそう~~~

ここで頭のスタックがオーバーフローして、コーダーに提案だけして一旦撤退。

 

6.E問題:

もう一人のアイデアマンが凄い出来そうで頑張ってる!頑張って!

 

7.F問題:

見るからに面倒そう。少なくとも頭が痛そう。放置。

 

8.G問題:

①シミュレーション問題だ!

②あれ、かならず時計回りか反時計周りで宝物取ってくるよね

③なら、とりあえず反時計回りで考えるか。

④あれ、次の宝物までの最短経路だけ考えればよくね?それでかぶって無ければ?

⑤無理だわ。反例が見つかった。

 

9.H問題:

①あれ?場合分けじゃね?

②(1)6つの頂点は別々のところにあり重ならない

 (2)5回以上の操作はManyで良い

③つまり、最初の状態から一発で重ねられれば3

 1頂点を少し動かした後で重ねられれば4

 それ以外が5

この辺りでコーダーに提案。受理されたのでぶん投げる。

 

~~~~ここから、出来そうな問題に時間をかけ始める~~~~

 

10.G問題:

何かめっちゃ出来そうだったからもう一回やってみる。

①左上⇒左下なら、優先度順「←↓→↑」

 左下⇒右下なら、「↓→↑←」…とした、薄氷割りの要領で行けね?

②あ、計算量的に無理だわ。たどり着けなかった場合めっちゃ時間かかりそう。

③枝切りするのか?

この辺りで、計算量が詰んでる気がして終了

 

11.D問題:

あぁぁぁ!これ、N<=30と30<Nで場合分けすればよくね!?

N<=30なら全探索で終わる。

30<Nなら、全部の組み合わせ考えても2^M<=2^16<6.4万で

メモリも何とかなるじゃん!

ただ、ここで詰まる。2^Mをどう扱うのか。

ここでHをやってたコーダーがDP使えると悟り、実装してもらうことに。

 

ここで致命的な問題発生。bit演算に必要なライブラリ、bitsetの知識がチーム全員0だった…

結局ここで手詰まりで時間が終わる。

疑似コードで再帰とdpのコードは描いたものの、bitsetについての知識が無ければ多分詰むのだ…(bit演算をvectorでやるには時間がかかり、intでやってるとオーバーフローする)

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

5.結果

3完の65位でした… 初めてにしては上々なものの、解けそうなのに解けなかったのが歯がゆい所。

 

 

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

6.感想

AtCoder初めて半年でICPCは難しかったです。

プログラミング歴もやっと1年3か月を超えたくらいですので、知識が全然乏しいです。

今後精進していきたいです(小並感)

 

早くAtcoderで青になりたい!