aiko Live Tour Love Like Rock Vol.8 Zepp Osaka Bayside(6/2) 参加レポート
2017/6/2にZepp Osaka Baysideで行われたaiko LIVE Tour Love Like Rock Vol.8(LLR)に参加してきました.以下ネタバレなので注意.
開演前
今回もまた写真撮ってない. つらいね.
【LLR8リポート9】
— aiko official (@aiko_dochibi) 2017年6月2日
大阪に戻ってきました!今日からまた2日間よろしくお願いいたします🎶
今回も、難波ではなくユニバーサルスタジオジャパン近くの会場ですのでお間違えなく😏🤙✨
Zepp Osaka Baysideでお待ちしております!!💁by.スタッフ pic.twitter.com/wJV9uoIsMK
LLR8zepp大阪Bayside。外は意外と涼しいです。今日から2日間よろしくお願いします♪(๑ᴖ◡ᴖ๑)♪ pic.twitter.com/mx40slWIwA
— 佐藤達哉 (@satotatsua) 2017年6月2日
- 前回の名古屋からいっぺんして, 涼しくて過ごしやすい気候でした.
- 今回は物販に参加しないので, 適当にガチャガチャをまわして過ごすなどしていた. (2/3名古屋でやったやつとかぶってつらい)
開場
画像はhttp://hall.zepp.co.jp/osakabayside/より引用しました.
- 今回は整理番号が300番台前半という良いチケットだったので, 花道そばから4列目ぐらいのところに陣取れました.
- めっちゃちかいー!!!などと騒いでいたらあっという間に開場です.
セットリスト
- 彼の落書き
- 染まる夢
- 赤いランプ
- キスが巡る
- なんて一日
- プラマイ
- 線香花火
- 微熱
- それだけ
- 密かなさよならの仕方
- 桜の時
- 蝶々結び
- 小鳥公園
- もっと
- Loveletter
- be master of life
- あたしの向こう
アンコール
- シャッター
大阪ではシャッターが聞けた! 名古屋の時は4月の雨でしたね. - 赤い靴
- ボーイフレンド
ダブルアンコール
- 愛の病
- ジェット
コールアンドレスポンス
「男子」「女子」「そうでない人」「メガネ」「コンタクト」「裸眼」「PA席」「サイドスタッフ」「照明」「警備のお兄さん」「医学療法士」といった感じでした. 年齢別(10代, 20代, …) ももちろん.
ライブ中の会話
- 有給取る時ってやっぱり嫌な顔されるの?
- 家帰ったらKANA-BOONとか聞いてるんやろー
- ユニバに向かうミニオンの格好をしたカップル爆ぜて欲しい.
- かつてのバレー部の彼氏とエキスポランドにいったよ.
- 新幹線で隣にいた子供をぬいぐるみとポーチであやしていた
- お父さんが熊のような人だった
- 最初はaikoだとは気が付かなかったらしく, その後気がついたお父さんが泣いていた
- aikoの元カレに結婚祝のメッセージを送った話
- 前にPOPでこの話をしていたみたい.
- ポニキャンいるんで…
- 関節を鳴らすのはマズイ
- 今日は歌の間に元カレのはなししすぎ
- お父さんも来てました.
- 今日の話は忘れような!(このブログ書いていていいのだろうか)
- 山ちゃん(南海キャンディーズ)のライブは, 会場を出ると話してた内容忘れちゃうらしいよ.
まとめ
前回なんとなくRockの雰囲気を掴み, 若干の不安を抱えつつも無事に初の1階を経験することができました. おもったよりも押されるし, 最初にいたところと違うところに居たり. 全然水飲めなかったりと大変だった部分は有りましたが, なによりaikoをめちゃくちゃ近い距離で見ることができたので本当に良かったと思います. 今まで行ったライブで一番記憶が曖昧なライブとなりました. セットリストは前回とほぼ同じで, 4月の雨がシャッターに変わったものでした. シャッターは個人的に4月の雨よりも好きな曲なので来てくれて嬉しいです. 予定外ではありますが6/3も参加することができることになったので楽しみたいと思います.
関係者ツイートなど
大阪ライブ3日目終わりました👏🏻
— aiko official (@aiko_dochibi) 2017年6月2日
2週間ぶりのライブやったので緊張するワテ😅ライブが出来るってすごい事やなぁ。本当にありがとうございました!!!なんか突然寒くなったからみんな風邪引かないでね💦 pic.twitter.com/1rrNHNmsQ5
ばりかわいい、名前ついてるやん😍
— aiko official (@aiko_dochibi) 2017年6月2日
のりたマン。。。🐥 pic.twitter.com/7ucabCpa4d
【AOJ DPL1】B: Combinatorial - 0-1 Knapsack Problem
問題
ナップザック問題 | 動的計画法 | Aizu Online Judge
方針
- 各要素を入れる, 入れないというパターンを試して価値を高める.
- ただし, すべての商品に対して上のパターンを試すととなるため終わらない.
- 動的計画法を用いることにより, にまで落とすことができる.
- i個までのものを使って重さjのナップサックに詰めたときの最大値 として計算する.
コード
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) using namespace std; signed main(){ int w[1001]; int v[1001]; int dp[101][10001]; int N, W; cin >> N >> W; REP(i, 1, N+1){ cin >> v[i] >> w[i]; } rep(i, 101){ rep(j, 1001){ dp[i][j] = 0; } } REP(i, 1, N+1){ REP(j, 1, W+1){ if(j >= w[i]){ dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]] + v[i]); }else{ dp[i][j] = dp[i-1][j]; } } } cout << dp[N][W] << endl; }
【AOJ DPL1】A: Combinatorial - Coin Changing Problem
問題
コイン問題 | 動的計画法 | Aizu Online Judge
方針
- 動的計画法を用いて解く.
- dp[i] := i円支払うときのコインの最小枚数
コード
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) #define eps 1e-14 #define INF 1e9 using namespace std; int c[30]; int dp[50001]; signed main(){ int n, m; cin >> n >> m; rep(i, m){ cin >> c[i]; } rep(i, 50001){ dp[i] = INF; } // dp[i] := i円払うときの最小の枚数 dp[0] = 0; rep(i, m){ for(int j = 0 ; j + c[i] <= n ; j++){ dp[j+c[i]] = min(dp[j + c[i]], dp[j] + 1); } } cout << dp[n] << endl; }
DPってどうやって考えたら良いのかいまいちわからない。(解法を見たらなんとなくわかるんだが…)
【AOJ 2102】Rummy
問題
方針
- 数字と記号のペアが与えられるので, 全通り試してセットであるか試す.
- セットである条件は
- 3枚とも同じ色であること
- 番号がすべて同じか連番になっていること(ただし, 8, 9, 1のような連番は認められない)
- これが3枚3セットになっているか判定する.
コード
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) #define mp make_pair using namespace std; typedef pair<int, string> pis; int n; pair<int, string> v[9]; int num[9]; string mark[9]; bool check_num(pis a, pis b, pis c){ if(a.first > b.first) swap(a, b); if(a.first > c.first) swap(a, c); if(b.first > c.first) swap(b, c); return (a.first + 1 == b.first && b.first + 1 == c.first) || (a.first == b.first && b.first == c.first); } bool check_mark(pis a, pis b, pis c){ return a.second == b.second && b.second == c.second; } bool check(){ bool ret = true; rep(i, 3){ ret &= (check_num(v[i*3], v[i*3+1], v[i*3+2]) && check_mark(v[i*3], v[i*3+1], v[i*3+2])); } return ret; } signed main(){ bool flag; cin >> n; while(n--){ flag = false; rep(i, 9) cin >> num[i]; rep(i, 9){ cin >> mark[i]; v[i] = mp(num[i], mark[i]); } do{ if(check()){ cout << 1 << endl; flag = true; break; } }while(next_permutation(v, v+9)); if(!flag) cout << 0 << endl; } }
【AOJ ALDS1_13】B: Heuristic Search - 8 Puzzle
問題
| アルゴリズムとデータ構造 | Aizu Online Judge
方針
- DFSをして正しい並びになったかを判定し, その時のターン数を返す.
- 探索した盤面はフラグを立てておき, 同じ状態を2回以上探索しないようにする.
- mapって比較の"<“が定義されてないと使えないのを初めて知った.
コード
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) using namespace std; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; struct Puzzle{ int field[9]; int space; int turn; bool operator < (const Puzzle& a) const{ rep(i, 9){ if(a.field[i] == field[i]) continue; return field[i] > a.field[i]; } return false; } }; bool check(Puzzle p){ rep(i, 9){ if(p.field[i] != i+1) return false; } return true; } int solve(Puzzle in){ queue<Puzzle> q; map<Puzzle, bool> mp; q.push(in); mp[in] = true; // bfs while(!q.empty()){ Puzzle p = q.front(); q.pop(); if(check(p)) return p.turn; int x = p.space % 3; int y = p.space / 3; rep(i, 4){ int nx = x + dx[i]; int ny = y + dy[i]; if(nx < 0 || 2 < nx || ny < 0 || 2 < ny) continue; Puzzle tmp = p; swap(tmp.field[p.space], tmp.field[3 * ny + nx]); tmp.space = 3 * ny + nx; if(mp[tmp] == false){ mp[tmp] = true; tmp.turn++; q.push(tmp); } } } return -1; } signed main(){ Puzzle in; rep(i, 9){ cin >> in.field[i]; if(in.field[i] == 0){ in.field[i] = 9; in.space = i; } } in.turn = 0; cout << solve(in) << endl; }
【ICPC World Final 2017】E : Need for Speed
問題
- ある区間の距離と移動速度がそれぞれとして与えられる.
- は実際の速度s+c(cは定数)として表示されている.
- 実際にかかった時間tが与えられるので, cが何であるかを求めよ.
方針
コード
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) #define eps 1e-14 using namespace std; signed main(){ int n; double t; double d[1001], s[1001]; double _min = 1500.0, _max = -1200; scanf("%d %lf", &n, &t); rep(i, n){ scanf("%lf %lf", &d[i], &s[i]); _min = min(s[i], _min); } double right = _min; double left = -1001000; double c; double prev = 0.0; rep(i, 100){ c = (left + right)/2.0; double sum = 0.0; rep(i, n) sum += (d[i] / (s[i] - c)); if(fabs(sum - t) < eps){ break; }else if(sum > t){ right = c; }else{ left = c; } prev = sum; } printf("%.9f\n", -c); } ``
【AOJ 2015】Square Route
問題
Square Route | Aizu Online Judge
方針
- 道と道の間隔が与えられるので, 正方形の区画がいくつあるか数える問題
- すべてのパターンを試す方法では, となり終わらない.
- そこで, 辺の長さの全パターンを予め求め, その出現個数を元に計算する.(この場合はとなる)
- 長さが出現する場所, 順序はあまり関係がないため.
コード
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #include<algorithm> #include<numeric> #include<utility> #include<complex> #include<memory> #include<functional> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) #define ALL(v) v.begin(), v.end() #define pb push_back #define m0(x) memset(x, 0, sizeof(x)) using namespace std; int x[2000], y[2000]; int count_x[1500001], count_y[1500001]; signed main(){ int n, m; vector<int> w, h; while(cin >> n >> m, n||m){ rep(i, n) cin >> y[i]; rep(i, m) cin >> x[i]; m0(count_x); m0(count_y); rep(i, n){ int sum = 0; REP(j, i, n){ sum += y[j]; count_y[sum]++; // 長さがsumの個数を数える } } rep(i, m){ int sum = 0; REP(j, i, m){ sum += x[j]; count_x[sum]++; } } int ans = 0; rep(i, 1500001){ ans += count_x[i] * count_y[i]; // 同じ長さの個数の積が答えになる. } cout << ans << endl; } }
参考
Square Route 解説
こちらの図がとてもわかり易い.