カテゴリ:TopCoder( 160 )

 

海物語JPC1672枚、TCO R2Bに参戦し、Div2落ち…。

今日は謎解きパンフを取り寄せてきた。小田急と京王のやつ。いつやるかは特にまだキメていない。

f0019846_17485171.jpg
お昼は鶏そばを食べた。この時取材が来ていて、後にテレビに映ることになるとは思っていなかった。14時半とかだったような。
f0019846_17491893.jpg
その後ゲーセンに。
f0019846_17495024.jpg
Brazilian Anthem HARDで93.0% AAA フルコン
f0019846_17500331.jpg
REVではCrocus UNLIMITED をSuper8に更新。
f0019846_17510788.jpg
f0019846_17511523.jpg
XXX-revolt UNLIMITEDは、98%を出し、5万点を超えたところでDDRガチ勢が来たので退却。

メダルゲームに向かい、海物語でいけそうなのがあったのでやる。
1/8に勝利し、1/10にも勝利した。枚数すくねえ…。
f0019846_17520443.jpg
f0019846_17522965.jpg
その後初のスーパーワリンタイムも出るが、即死。
f0019846_17523484.jpg
f0019846_17525028.jpg
結局若干の勝利。13093枚
f0019846_17531565.jpg
夜はTopCoder Open Round2 Bに参加。

easyは、K文字あるリングがC[i]個あるとき、リングを1つ選んでL[i]文字に切り離して順に連結するとき、
辞書順に大きいものを答えるという問題でした。

medium以降はやばそうだったので特に見ていません。

1226 -> 1193
なんと久しぶりのDiv2落ちです。なんてこったい…。ショックで死んだ。

  by ddrer-yossi | 2017-07-08 17:47 | TopCoder | Comments(0)

アルガーの挑戦状、闇の始まり。 TopCoder SRM 713

今日はTopCoder SRM 715に参加・・・といいたいところですが、
仕事が溜まっていたので問題を読んで無理そうだと思ったところで諦めました。
取り敢えずeasyはこんな問題でした。
数値nが与えられているとき、
a^b = c^dを満たすa,b,c,dの組が何通りあるか求めよ。
ただし10^9 + 7の余りで出力せよ。
nは1 から 1,000,000,000である。

1252 -> 1286でした。やはり難しかったのか、参加するだけでレートが上がる回に。
仕事は15時ぐらいで切り上げ、その後はひたすらアルガーの挑戦状に挑む。
しかし、最終ステージで全キャラのHPを1にしたところであと一歩足りず、チコに回復されて撃沈しました。
こうなるとコンティニューしても大体勝てないので調整を行った。
それはひたすらフェーリの体力をあげていく作業だった。
タスタス森を周回してひたすら緑ブースラを集めていく。
やり切り整ったところで深夜を回っていた。
明日には勝てるかなという確証はあった。

  by ddrer-yossi | 2017-04-27 16:53 | TopCoder | Comments(0)

ポケモンGO有給。弐寺大収穫。 TopCoder SRM712

今日はポケモンGOのために有給を取得した。
お昼はいつもの鶏白湯ラーメンを食べた。
f0019846_18235681.jpg

動けたのは14時頃から。
動きつつゲーセン行きつつの繰り返しで経験値を稼いでいく。

北斗の拳の乱世モードで1点灯のみでしたがまさかの300ダイレクトが来ると思わなかった。しかし微減で終了。
f0019846_18244101.jpg
Under the Sky(A)をフルコンしたり
f0019846_18252564.jpg
罪と罰(A)をフルコンしたり

f0019846_18260872.jpg

EBONY & IVORY(A)に易がついたり
f0019846_18261027.jpg
SCHWARZSCHILD FIELD(A)に難がついたり
f0019846_18263080.jpg
SCREAM SQUAD(A)にEXHがついたり
f0019846_18265241.jpg
Hello Happiness(A)にEXHがついたり
f0019846_18271417.jpg
Let The Track Flow(A)に難がついたり
f0019846_18273197.jpg
Super Rush(A)に易がついたり
f0019846_18274930.jpg
ZZに易がついたり
f0019846_18281815.jpg
灼熱(A)がノマゲできそうだったりしました。
f0019846_18283704.jpg
等速Ganymede(A)もBP160まで下がる。
f0019846_18285848.jpg
大収穫でしたね。

20時にTopCoder SRM 712に参加。

easyは左の要素を加算するか、右の要素を加算するかの操作で、sからtにする操作を出力せよという問題。
これ、LとRを何回やるかによって結果が同じ(LLLRR = LRRLLなど)ということに気付けば、
総当たりでやればOK。でもどうでもいいところでミスってChallenge Succeedされました。
正しく書いたコードは下記。

<pre>
public class LR {

public String construct(long[] s, long[] t) {
long sum = 0;
long sum2 = 0;
for(int i = 0 ; i < s.length ; i++){
sum += s[i];
sum2 += t[i];
}
boolean nothing = true;
for(int j = 0 ; j < s.length ; j++){
if(s[j] != t[j]){
nothing = false;
break;
}
}
if(nothing)return "";
if((sum == 0 && sum2 != 0) || sum2 < sum)return "No solution";
long tmp = sum;
int count = 0;
boolean isok = false;
while(tmp < sum2){
tmp += tmp;
count++;
if(tmp == sum2){
isok = true;
break;
}
}
if(!isok || count > 100)return "No solution";
int Lc = -1;
int Rc = -1;
for(int i = 0 ; i <= count ; i++){
long[] gc = new long[s.length];
for(int k = 0 ; k < s.length ; k++){
gc[k] = s[k];
}
for(int j = 0 ; j < i ; j++){
long[] tmpc = new long[s.length];
for(int k = 0 ; k < s.length ; k++){
if(k == 0){
tmpc[k] += gc[s.length - 1];
}else{
tmpc[k] += gc[k - 1];
}
}
for(int k = 0 ; k < s.length ; k++){
gc[k] += tmpc[k];
}
}
for(int j = 0 ; j < count - i ; j++){
long[] tmpc = new long[s.length];
for(int k = 0 ; k < s.length ; k++){
if(k == s.length - 1){
tmpc[k] += gc[0];
}else{
tmpc[k] += gc[k + 1];
}
}
for(int k = 0 ; k < s.length ; k++){
gc[k] += tmpc[k];
}
}
boolean isok2 = true;
for(int j = 0 ; j < s.length ; j++){
if(gc[j] != t[j]){
isok2 = false;
break;
}
System.out.println(gc[j]+","+t[j]+","+count);
}
if(isok2){
Lc = i;
Rc = count - i;
}
}
System.out.println(Lc+","+Rc);
String st = "";
for(int i = 0 ; i < Lc ; i++)st += "L";
for(int i = 0 ; i < Rc ; i++)st += "R";
if(Lc == -1 && Rc == -1)return "No solution";
return st;
}

}
</pre>

1258 -> 1252
解けていれば1300台は行ってたのに…。

深夜のポケモンGOは5占領でした。
f0019846_18292774.jpg

  by ddrer-yossi | 2017-04-18 18:22 | TopCoder | Comments(0)

ローゼママルチ耐久、TCO17 Algorithm Round 1A

今日はひたすらローゼママルチ耐久に苦しんだ。
30戦ほどして、ようやく半分くらいかといったところ。

ゲーセンに行ってみたら筐体が裏返っていました。さようならぷよクエAC。
f0019846_10182251.jpg

夜は気合の煮干しラーメン。
f0019846_10184758.jpg
REVはBlack Lotus MASTERをS+取得でUNLIMITEDを解禁したのみ。スタート地点にすら立てていない。
f0019846_10185518.jpg

深夜1時からTopCoder Open R1Aに参加。
内容は2問解いて当たり前みたいな感じでした。

easyは、卓球の強さが配列で与えられていて、N連勝したら連勝者は敗者の後ろに並ぶようにする。
K回目のときの対戦相手の状況を出力せよという問題。単純にQueueのシミュレーションを行えばよい。
いわゆるやるだけ。

<pre>
import java.util.LinkedList;
import java.util.Queue;

public class PingPongQueue {

public int[] whoPlaysNext(int[] skills, int N, int K) {
Queue<Integer> q = new LinkedList<Integer>();
int[] wincount = new int[skills.length];
for(int i = 0 ; i < skills.length ; i++){
q.add(i);
}
int champ = q.poll();
for(int i = 0 ; i < K ; i++){
if(champ == -1)champ = q.poll();
int challenger = q.poll();
if(skills[champ] > skills[challenger]){
if(i == K - 1)return init(skills, challenger, champ);
wincount[champ]++;
wincount[challenger] = 0;
q.add(challenger);
if(wincount[champ] == N){
wincount[champ] = 0;
q.add(champ);
champ = -1;
}
}else{
if(i == K - 1)return init(skills, champ, challenger);
wincount[challenger]++;
wincount[champ] = 0;
q.add(champ);
if(wincount[challenger] == N){
wincount[challenger] = 0;
q.add(challenger);
champ = -1;
}else{
champ = challenger;
}
}
}
return null;
}

private static int[] init(int[] skills, int L, int W){
int data[] = new int[2];
data[0] = skills[L];
data[1] = skills[W];
System.out.println(data[0]+","+data[1]);
return data;
}
}
</pre>

mediumは、X,Y,Z各軸で厚さがSになるようにカットしたときの、表面積が最大となる値を求める。
DPとか思いつきもしなかったので、X,Y,Zの長さをソートした上で、短い辺から順に切っていった。


<pre>
import java.util.Arrays;

public class CheeseSlicing {

public int totalArea(int A, int B, int C, int S) {
int sum = 0;
int[] dim = new int[3];
dim[0] = A;
dim[1] = B;
dim[2] = C;
Arrays.sort(dim);
if(dim[0] < S)return 0;
if(dim[0] % S != 0){
sum += dim[1] * dim[2] * (dim[0] / S - 1);
dim[0] -= (S * (dim[0] / S - 1));
}else{
return sum + dim[1] * dim[2] * (dim[0] / S);
}
System.out.println(sum+","+dim[0]+","+dim[1]+","+dim[2]);
if(dim[1] % S != 0){
sum += dim[0] * dim[2] * (dim[1] / S - 1);
dim[1] -= (S * (dim[1] / S - 1));
}else{
return sum + dim[0] * dim[2] * (dim[1] / S);
}
System.out.println(sum+","+dim[0]+","+dim[1]+","+dim[2]);
if(dim[2] % S != 0){
sum += dim[0] * dim[1] * (dim[2] / S - 1);
dim[2] -= (S * (dim[2] / S - 1));
}else{
return sum + dim[0] * dim[1] * (dim[2] / S);
}
Arrays.sort(dim);
return sum + dim[1] * dim[2];
}

}
</pre>

ポケモンGOは7占領でした。時間帯的に人がいなかったか。
f0019846_10192940.jpg

  by ddrer-yossi | 2017-04-01 10:15 | TopCoder | Comments(0)

ラーメン、脱出、花見。脱出成功! TopCoder SRM711

今日は脱出前に腹ごしらえとしてラーメンを食べに行く。
f0019846_14244902.jpg
これだよ!この塩ラーメン…とおもっていたのですが、麺を増し過ぎて味が変わってしまっていました。
やりすぎはダメです。

少し時間もあったので弐寺もやりました。Yellow Sketch(RX-Ver.S.P.L)(H)をフルコン。
f0019846_14261752.jpg
そして向かうは脱出ゲー。今回は次バージョンとあって、前回の失敗を繰り返さないように頑張ろうという感じでしたが、
一変して状況が変わるなど、なかなか凝った構成になっていました。
脱出率は2割強でしたが、なんとか成功。あんまり動けなかったかなという感じです。

その後はお花見。とはいえまだ満開の桜は少ないかなという印象で、ソメイヨシノはまだまだでした。

f0019846_14280801.jpg
f0019846_14283320.jpg
f0019846_14284969.jpg
f0019846_14285938.jpg
f0019846_14290816.jpg
f0019846_14291865.jpg
f0019846_14293407.jpg
f0019846_14295542.jpg
f0019846_14295951.jpg
f0019846_14301663.jpg
f0019846_14302056.jpg
f0019846_14303240.jpg
f0019846_14305860.jpg
f0019846_14310391.jpg
f0019846_14312308.jpg
f0019846_14312623.jpg
f0019846_14320706.jpg

帰りに桔梗信玄餅クレープを買いつつ食べました。
f0019846_14313483.jpg
地元に戻り、ゲーセンへ。

つぶやき魔法少女りむる EXHAUSTをクリア。昔の問題作。
f0019846_14330804.jpg
とりあえず魔騎士も取れました。
f0019846_14340931.jpg
満足したので一旦帰宅し、TopCoder SRM711に参戦。
easyは、整数N,Kが与えられる、
N以上の整数で、2進数表記したとき1がK個続く箇所があるような最小の整数を求めよ。

解法はわからずに死亡。解けて当然だったらしく、レートがDiv2間近にまで下落した。
1270 -> 1209

その後は幼女戦記の謎解きに参加してみる。
なかなか面白い出来でした。(実は最後の最後でダメだったんですけどね)
満足したので飯後に再度ゲーセンへ。

今度もスキルレベルチェックをやる。
f0019846_14345430.jpg
3つ目もいけました。昔よりは成長したんじゃない?
f0019846_14371843.jpg
深夜のポケモンGOは7占領。雨降りそうだった。
f0019846_14374293.jpg

  by ddrer-yossi | 2017-03-25 14:24 | TopCoder | Comments(0)

TopCoder SRM708 疲弊しきった身体

今日はお昼は肉の日なのでステーキを食べる。
平成29年だから毎日が肉の日ですけどね(白目
f0019846_15281701.jpg

仕事を19時半に切り上げ、帰路につきましたが、非常に寒かったですね。
飯を食った後にすぐにTopCoderに参戦。

easyはこんな問題でした。
文字列を左から読んでアルファベットが切り替わる回数と、同じ文字列になる文字の個数の総当たりが
同じようになるような文字列を出力せよという問題。
たとえば

abcccccの切り替わりは2
abdddddの切り替わりは2なので合計4

abcccccとabdddddの一致は2といった具合。

総当たりは文字列がM個あるとするとM*(M - 1) / 2になる。

M=25までの解法はこれを使えばいけるが、26からが全然わからなかった。
abccccc
abdddd
abeeeeだとすると6, 2 * 3みたいな感じ。

1269 -> 1258

考えていたら寝落ちしていて、ゲーセンに危うく行きそびれるところでした。危ない。
なんとか1クレずつこなした。
ハイライトはTHE EARTH LIGHT(H)のフルコンか。まさか寝起きで取れると思わなかった。
f0019846_15283911.jpg
その後はcrossbeatsをちょっと。ダズリミですが、かなりいい感じのスコアが取れた。(ラグでCoolした)
f0019846_15284444.jpg
マリオランもやらなきゃなーと思いつつ、スタンプ1枚埋めてポケモンGOしに向かう。
青ジムが多すぎたので時間をかけて7占領。
f0019846_15284824.jpg
地元駅付近ではルアーが焚かれていたせいもあって、無限沸き。4時過ぎまでやった後に帰宅した。
そして軽くカップラーメンを食べてから寝るという状況に。とても疲れていたのかもしれない。

  by ddrer-yossi | 2017-02-09 14:51 | TopCoder | Comments(0)

とんこつラーメンとTopCoder SRM699

今日はお昼は豚骨ラーメン。
f0019846_16013808.jpg
味も量も微妙だったので2度はないでしょう。

退勤は20時、21時まで飯食ってゲーセンへ。
デンドロビウムはラス失敗の1ミス。
f0019846_16125430.jpg
後は判明した称号ミッションをいい加減やる。
f0019846_16131130.jpg
0時からTopCoder SRM699 Div1に参戦。
easyは、
それぞれのオオカミは自分以外のオオカミの持っている数値すべてのxorの値を示すか、-1(教えない)となる。
このとき、それぞれのオオカミの持つ数値の合計値の最小値を求めよという問題。
とりあえず-1はワイルドカードだしおいといて・・・ミニマムケースからやるかと思いきや力尽きて寝ていました。
ということで結果はしょっぱいことに。
1329 -> 1314

そのあとのポケモンGOでは6箇所占拠に成功。あした健康診断なんだけどね…。
f0019846_16190770.jpg

  by ddrer-yossi | 2016-09-26 16:00 | TopCoder | Comments(0)

TopCoder SRM697

今日はお昼はサーモンいくら丼。
f0019846_11464198.jpg
夜はTopCoder SRM697 Div1に参加。

easyは、N要素の配列Bが与えられる。
これと同様にN要素で配列Bと異なる値をもつAを見つけたい。
P[i]をA[i]以外の要素の積とするとき、
A[i]^B[i]がP[i]で割り切れるようにしたい。そのようなAが存在するかという問題。

考えつかなかったので早々にIQTESTで遊んでました。ひどい。
1315->1329でした。
f0019846_11520643.png
Pokemon GOは3占領。
f0019846_12081599.jpg
HYOZAAAN!は調子に乗り過ぎて大敗。どうでもいいところで最上位に行くも遅し。
f0019846_12102463.jpg
StrayedCatz(H)は2切り

f0019846_12115020.jpg
f0019846_12120938.jpg
Shooting Fireball(H)は1切りと散々な目にあった。

f0019846_12124242.jpg
反面、リフレクは好調だった。量子の海のリントヴルム HARDを95.2% AAA+

f0019846_12134223.jpg
Red Goose HARDは2579に更新。

  by ddrer-yossi | 2016-08-18 11:46 | TopCoder | Comments(0)

ステーキがっつり。 TopCoder SRM694 Div1

今日はお昼から夕方にかけてテレビ消化。
夜はステーキ屋に行きました。地元にあるときは食べなかったのに。
まずはサラダ。1100円だったかとおもいますが、ものすごいボリュームで良かったです。
f0019846_1594962.jpg


肉は500gあるか怪しかったですが、脂身がほとんどなく、赤身中心で美味しかった。
定価4600円だと食べないですね。
f0019846_203565.jpg


後はゲーセンで海神を1ミス再び。行ける気がしてきた。
f0019846_216919.jpg



夜はTopCoder SRM694に参加。
強さを3つのチームに分けて、それぞれの数値のxorを取ったときの合計値の最大値がいくつになるか求めよという問題。
ソートして大きい順に1,2,3と取った上で残りを最大になるように配置するようにやったが、
challenge succeededされてしまう。


import java.util.Arrays;

public class TrySail {

public int get(int[] strength) {
Arrays.sort(strength);
int[] nums = new int[3];
nums[0] = strength[strength.length - 1];
nums[1] = strength[strength.length - 2];
nums[2] = strength[strength.length - 3];
for(int i = strength.length - 4 ; i >= 0 ; i--){
int tmp1 = (nums[0] ^ strength[i]) - nums[0];
int tmp2 = (nums[1] ^ strength[i]) - nums[1];
int tmp3 = (nums[2] ^ strength[i]) - nums[2];
int max = Math.max(Math.max(tmp1, tmp2),tmp3);

if(max == tmp1){
nums[0] = nums[0] ^ strength[i];
}else if(max == tmp2){
nums[1] = nums[1] ^ strength[i];
}else if(max == tmp3){
nums[2] = nums[2] ^ strength[i];
}
}
return nums[0]+nums[1]+nums[2];
}

}


mediumは、問題をいくつか投げて、それぞれの人がある回答をする。
それぞれの人が特定できる(回答がユニークになる)組み合わせが何通りになるか答えよという問題。
人数は1000人、問題数は20問という条件なので、なかなかむずかしめ。

hardはいつもどおり読む気力が起きなかった。

1336 -> 1290 お疲れ様でした。

  by ddrer-yossi | 2016-07-09 23:52 | TopCoder | Comments(0)

TopCoder SRM692 Div1

今日は家でお仕事。休憩時間と引き換えに、
TopCoder SRM692を少し参加してみたが、問題を読んで歯が立たなかったので仕事に戻った。
一応問題は理解したので記載だけ。

easyは、厳密に理解してなかった。
二次元配列が与えられていて、ある問題からある問題の証明の難易度が書いてあり、
完全証明できる状態(←これがよくわかっていない)の場合、
難易度の差が最も小さくなる値を求めよという問題でした。

mediumは、a-zで構成されている文字列とし、
あるパターンsがちょうどK回でて、あるパターン*K+N文字の文字列で、
あるパターンがちょうどK回でる組み合わせは何通りあるかという問題。
計算でなんとかなるだろうと思いきや深みにハマっていった。

1347 -> 1336 0pts

お昼はローストビーフ丼を食べに行きました。
f0019846_3175250.jpg


早めに退勤して夜は歯医者へ。
あんまりにもしっかり歯を磨いていないせいで、クリーニングに3000円以上かかってしまった。
電動歯ブラシがオススメらしいので、Amazonで注文する。

ゲーセンはHighcharge Divolt(A)をハード。
f0019846_3184683.jpg


Sweet Radar(A)をフルコン。
f0019846_3191767.jpg


リフレクはFor UltraPlayers HARDを 2405 88.5%に更新。
f0019846_3194854.jpg


後はREVでGOLDコースをやりました。
only L MASTERをフルコン。
f0019846_3202119.jpg


THIS IS HDM UNLIMITEDもここまで伸びた。
f0019846_321740.jpg

  by ddrer-yossi | 2016-06-10 23:09 | TopCoder | Comments(0)

SEM SKIN - DESIGN by SEM EXE