もしかして今日って2017年12月26日ですか!? え… ちょっと待って… ということは…
おはよーーーー!! こんちはーーーー!! こんばんはーーーー!! おやすみーーーー!! おきてええええええ
こんちわっす! 輝夜月だよ! kurokojiです.
はじめに
最近バーチャルYouTuberが流行っていますね.バーチャルですよバーチャル.凄い時代になったもんです. お気づきの方もいると思いますが,冒頭のセリフは輝夜月ちゃんから取っています.
ぼくはミライアカリちゃんが好きです.僕は基本的にYouTubeのチャンネルを登録したりしないんですが,ミライアカリちゃんとバーチャルのじゃロリ狐娘YouTuberおじさんとキズナアイとシロイルカちゃんは登録しています.輝夜月ちゃんは登録していないです.
[追記2018/01/06]今は富士葵さんが好きです.
あとTokyo 7th シスターズを始めました.もう〜〜〜〜めっ〜〜〜〜〜ちゃ曲がエモいのでみんなやってほしい.
CD買いたい.え? アイドルマスターですか? 工藤忍SSRがデレステで実装されましたね.
『成長したアタシの姿を、プロデューサーさんに見てもらうんだ』
— スターライトステージ (@imascg_stage) 2017年11月10日
SSレアの工藤忍ちゃん登場です!https://t.co/mIoEjCBQs4 #デレステ pic.twitter.com/iO6teVkzr6
僕はまだ引けてません.工藤忍かわいいですよね.好き…
あとHappy Hacking Keyboard Professional2を買いました.
最高のtwitter環境 pic.twitter.com/nje4zNZaS0
— kurokoji (@kur0k0ji) 2017年12月10日
僕はプロなので,Professionalと書かれているものをChoiceしたわけですね.嘘です.
ICT Advent Calendar 2017の季節ですね.この記事は26日目の記事です.知ってましたか?
1年間の振り返り
大会出場した数で言えば去年に比べると少ないです.が,精神と肉体のつらさで言えば今年が一番ですかね.
出た大会
大会名 | 結果 |
---|---|
第16回日本情報オリンピック(JOI 2016/2017) | 本選進出 |
第28回全国高等専門学校プログラミングコンテスト(競技) | 1回戦1位,準決勝15位敗退 |
パソコン甲子園2017プログラミング部門予選 | 予選落ち |
パソコン甲子園2017プログラミング部門もう一つの本選 | ダメ |
JOIを今年に入れていいかと言われると微妙ですが,一応今年度ということで.
や〜 なんといっても高専プロコンはきつかったですね.某がチームから抜けたときはどうなることやらと思いましたが,まぁなんとか僕の鋼のメンタルで1回戦1位を勝ち取りました.決勝には出ることが出来ませんでしたが,自分の力でも勝てるんだという自信が付きました.(実際は僕だけでなく,orisano先輩の力もお借りしましたが)
あと高専プロコンのせいで生活リズムが崩れました.設定画面からちゃんと判定調整しようとしたんですが,UIがバグってて無理でした.
SuperCon2017には出ることが出来ませんでした.予選に応募しようかなぁとか思っているときに,インフルエンザを患ってしまい辛かったです.体調管理には気をつけよう!!
PCKに関してはつらいので話しません.後輩諸君は頑張ってください.
昨年欲しかったものたち
昨年欲しかったものを,昨年こう述べていました
- MacBook Pro
- THE IDOLM@STER CINDERELLA GIRLS STARLIGHT MASTER 01 Snow Wings
- THE IDOLM@STER CINDERELLA GIRLS STARLIGHT MASTER 07 サマカニ!!
- THE IDOLM@STER CINDERELLA MASTER Take me☆Take you
- THE IDOLM@STER CINDERELLA MASTER Cute jewelries! 003
- [セクシー モデル]工藤忍
- お金
このうち,
を手に入れました.
昨日は委員長りしの記事でしたね.
来年欲しいもの
- 高専プロコン競技部門優勝という称号
- お金
これ以外にはほしいものリストがあるので,買っていただいた方には何かしらの特典があります.
やりたいこと
D言語 進行形でやってます.
出来たら高専プロコンの競技部門はD言語で書きたいなぁとか思ってるけど,どうなんでしょ.
VST/AUプラグイン開発
VST/AUプラグインというのはDTMをしている人なら分かると思うんですが,まぁエフェクトとかを掛けるやつです.
種類としては色々あるんですが,まぁEQ(イコライザ)とかコンプレッサ,シンセとか C++で書けるらしいし書いてみたいですね.D言語で書いてる猛者もいそうですが流石にC++で書くことになりそう.
おわりに
最後はこのツイートで締めたいと思います.皆さん良いお年を.
ぼくのQOL pic.twitter.com/t7buu78VUE
— kurokoji (@kur0k0ji) 2017年12月23日
あ,明日はmitoです.
ABC066
テンプレは省略
A
sortして先頭2つを取っておわり.
#include <bits/stdc++.h> using namespace std; signed main() { int a[3]; rep(i, 3) cin >> a[i]; sort(all(a)); print(a[0] + a[1]); }
B
与えられた文字列が偶数の長さで,半分に割ったときに左右で一致していれば偶文字列と分かるのでsubstr
で分割してあげる.
#include <bits/stdc++.h> using namespace std; signed main() { string s; cin >> s; int res = 0; while (true) { string a, b; s.erase(s.begin() + s.size() - 1); res++; if (s.size() % 2 != 0) continue; a = s.substr(0, s.size() / 2); b = s.substr(s.size() / 2, s.size()); if (a == b) { break; } } print(s.size()); }
C
反転して末尾にpush
していくのは,先頭と末尾へ交互にpushしていくことと変わらないのはすぐに分かる.
先頭・末尾へのpush
,アクセスが高速なデータ構造といえばdeque
であるから,この子を丁寧に扱ってあげると答えに導いてくれる.
#include <bits/stdc++.h> using namespace std; signed main() { deque<int> q; int n = in(); rep(i, n) { int a = in(); if (i % 2 != 0) q.push_back(a); else q.push_front(a); } if (n % 2 != 0) { rep(i, n - 1) { cout << q[i] << " "; } print(q[q.size() - 1]); } else { rrep(i, q.size() - 1, 1) { cout << q[i] << " "; } print(q[0]); } }
D
逆元を用いたの実装が分からず,時間内に解けなかった.
個の数が必ず一つ以上使われている長さの数列から,長さの部分列の個数を出力する問題.
(組み合わせ)を使う.
そのままやってしまうと重複部分を数えてしまうので,重複分を引いてあげる.
(長さの部分列の個数)
が重複分(は被った2つの数字の数列上での距離)
逆元と親身に接することで答えがでる.
#include <bits/stdc++.h> using namespace std; lint fact[100010], ifact[100010]; lint pow(lint a, lint k) { if (k == 0) return 1; lint res = pow(a, k / 2); res = res * res % MOD; if (k & 1) res = res * a % MOD; return res; } lint inv(lint a) { return pow(a, MOD - 2); } lint C(lint n, lint r) { if (n < 0 || r < 0 || r > n) return 0; if (r > n / 2) r = n - r; return fact[n] * ifact[r] % MOD * ifact[n - r] % MOD; } signed main() { lint n = in(); int N = n + 1; fact[0] = ifact[0] = 1; rep(i, 1, 100010) { fact[i] = (fact[i - 1] * i) % MOD; ifact[i] = inv(fact[i]); } int d = -1; int used[100010]; fill(all(used), -1); rep(i, N) { int a; cin >> a; if (used[a] != -1) { d = i - used[a]; } used[a] = i; } rep(i, N) { print((C(N, i + 1) - C(N - d - 1, i) + MOD) % MOD); } }
1125 -> 1173(+48, Highest!!)
はやいところ水色になりたいです