英語学習手法メモ

 

1.前置き

丁度良い感じに英語学習計画が立ってきたので、

そろそろ実行しようかなと思いました。

この文章は、それに対するメモ書きみたいなものです。

 

英語をするにあたって、多面的にアプローチをしていきたいので、

それぞれの学習方法とそれを行う利点などを上げていきたいです。

注:深夜テンション30分クオリティ 

 

2.本題

いくつかの書籍やサービス名etcと、それの利点と所感などをまとめる。

 

2.1.東進英語ライトノベルシリーズ(心理的作用)

利点はまさしく、苦手感の払拭。

ほぼ中学英語で凡そ理解できるくらいには単語が平易で、

それでいてライトノベルとしては悪くは無い内容。

これを元に、最初の利点以外に

「英語を雑音ではなく言語音声として理解する週間」

「情景を脳内で再現することによるリスニング力の向上」

「最低限の単語力」

が身に着くと思われる。

 

 

2.2.システム英単語プレミアム(単語推測力向上)

利点はやはり、接頭語,接尾語などを中心にした単語理解による、

未知の単語に対する意味の理解力の向上。

日本語で言えば、初見の漢字を見ても、部首とそれ以外をよく見ると、

凡その読み方と意味が理解できるというような状況になれそう。

ちなみに大学受験生が読むには、京大生以外は不要と言われる。

(普通の単語帳の方も色々あるが、挫折しかしてないのでこれ)

 

 

2.3.ELSA(聴解力、発音力向上)

利点は高速フィードバックが行われる点。

英文の発音を実際に聴けて、採点によりどの発音が苦手なのかも分かる。

その後実際に自分の声を聴くことも可能。

発音能力しか向上し無さそうではあるが、自分が発音できる音声は

他者が発音した場合も聞き取りやすくなるので多分いいはず。

 

 

2.4.TED(実践力)

利点は楽しみながら実際の英語リスニングが出来る点。

スピーカーも多いため、聴きやすさや方言も様々なため、他に比べてかなり実践的。

それでいてまだ自分一人で出来るため、手ごろな点が良い。

Twitterの情報を元にすると、

日本語字幕付き→英語字幕付き→字幕なし や、

字幕なし→英語字幕付き→日本語字幕付き などの、

3度聴くことによる学習法もあるらしい。

 

 

2.5.外国人の実際のプレゼン(実践力上級)

利点は限りなく実践に近い点。

実際の外国人がプレゼンをしている場面を現場で聞いたり、

質問したりするというもの。

そういう機会が私にはあったので、ちょっとメモしてみた。

今の自分にはクッソ難しいので、あまり向上にはつながらなさそう。

 

 

3.まとめ(あとがき)

ここではとりあえず予定している内容を列挙してみた。

気分が変わったら随時追記や修正などは行う。

とりあえずはELSA面白そうなのでもっと話したいねぇ。

ゲストに勝手に自己紹介してもらう

この記事は、みす51代 Advent Calendar 2017の6日目の記事です。

 

 

1.お詫び

皆さんこんばんは 51代プログラミング研究会のとまとです。
とてもとても真面目な大久保工科大学の模範囚です。

そして諸々の進捗ダメ。実験ツラいのだ!
そこで代わりにゲスト呼んだので、
その人たちにやってもらうぞい。

 

2.ゲスト紹介

 

f:id:tomato9071:20171203231645p:plain

茜:今回ゲストの琴葉茜(ことのは あかね)や!

f:id:tomato9071:20171203231710p:plain

葵:同じくゲストの琴葉葵(ことのは あおい)です。
  今回は、私たちのことについて布教(自己紹介)させていただきます。
  主に、私たちが出演している動画を色々紹介していく感じです。


茜:先に言わせてもらうけど、うちらはYoutubeニコニコ動画
  メインに活動してるVOICEROIDっていうやつや!
  まぁ、VOCALOIDは歌うのが(vocal)メイン、  
  VOICEROIDは話すのが(voice)メインやと思ってくれたらええで!

 

葵:公式設定などもありますが、動画によって無視されることも多々あるので
  ここではしません。動画を見ながら設定を感じてください。


茜:要はぽんでりんぐや!ぽんでりんぐ!


葵:Feeling?


茜:それやそれ!

 

葵:お姉ちゃんがふざけている間に、話を進めていきますね。
  さてまず、PUBGというゲームを題材に話を進めていきましょう。

 

3.PUBG

                                     

  PUBGとは、全世界で200万人以上が同時に遊ぶほどに、
  現在かなり盛り上がっているTPS(三人称視点のシューティングゲーム)です。
  PUBGの正式名称はPLAYERUNKNOWN'S BATTLEGROUNDSというものなのですが、名前の通り、
  「プレイヤー同士は基本見知らぬ人同士で、その人たちが最大100人同時に、
  同じ無人島に上陸します。その無人島には、
  防弾チョッキや銃、応急処置の道具や爆弾、
  あと車やレッ〇ブルやフライパンが沢山置いてあります。
  それを集めたり奪いながら、最後の1人(1チーム)になるまで、
  互いに殺し合いをする」というゲームです。

                                     

  まずは、それをプレイしたり、その合間にVOICEROID達が話したりしている
  動画の紹介をしていこうと思います。

 

3.1.【PUBG】光のお姉ちゃん 【VOICEROID実況劇場】

葵:一つ目はこれです。
  私たち琴葉姉妹に関するオリジナルの物語を紡ぎながら、
  PUBGをプレーする動画です。
  PUBGを知らなくても、一つの物語として楽しめると思います。
  ネタバレになるため詳しくは話せませんが、優しいお話です。

 

茜:それもそうなんやけど、FPS,TPSを知らない人向けの解説も豊富や!
  PUBG初心者向けの情報が直感的に動画の中で説明されてるで!
  これからFPS,TPSっていうジャンルを始めたり、
  PUBGを気楽にプレーしたい人におすすめな動画シリーズやで!
  

 

3.2. [PUBG]助けてあおいーーー![琴葉姉妹実況]

茜:二つ目はこれや!
  実はPUBGが日本で遊べるようになったのは今年の 4月頃なんやけど、
  その頃に、PUBGを布教するために作られた動画シリーズや!
  それなりに早いテンポで、ガシガシ好き勝手やる動画とも言えるで。
  

葵:こちらの動画も初心者向けです。
  ただ先程の動画と比べるとPUBGの専門用語は説明される割合が低いため、
  PUBGを1度はプレーしていないと難しいかもしれません。
  また、PUBGの本質が殺し合いのゲームであるため、
  ケチャップぐらいの流血表現が苦手な人は避けましょう。

  

 

3.3.【PUBG】仲間任せの茜ちゃんサバイボゥ【VOICEROID実況】

茜:PUBGのラストはこれや!一言でいうなら、プレイヤーがめっちゃ強い!
  そして、その人のゲーム画面を中心に、うちらが色々話していくという動画や
 
葵:あと、PUBGが強くなる秘訣みたいなものがかなりちりばめられているので、
  強くなりたい人は特に見るのをお勧めします。
 

茜:この人の知り合い、PUBGでアジア1位を取ったり、虹六?っていうゲームで
  世界1位のチームのリーダーやってたりしてるんや。
  別の動画でその人のプレー動画もあるし、世界トップレベルを知りたい人は
  この人の動画を調べるとええで。
 

葵:こういっちゃなんだけど、この動画がYoutubeに上がってたりTwitchで生放送してるので、
  ある意味ニコニコ以外での活動も活発な人ともいえるね。
 

 茜:これでPUBGは終わりやな。次のゲームに進むで。
 

4. Besiege

                                   

Besiegeでは、貴方には多種多様なパーツが与えられます。
それはブロックだったり、爆弾だったり、ロケットだったりいろいろあります。
それらを組み合わせて、兵器を作ったりして、
沢山のオブジェクトの破壊や物の移動などをしていきましょう。

                                  

茜:というシンプルゲームやな。

葵:でもまあ、シンプルなゲームほどゲーム実況者が好き放題やるんだよね。

茜:うんうん、某マイン〇ラフトと同じような感じやな。
  というわけで、好き放題やってる有名どころを二つほど上げるで。
 
 

4.1.【Besiege】英国面に堕ちた茜ちゃんのパンジャンドラム縛り VOICEROID実況

茜:圧倒的紅茶!圧倒的英国面!
 
葵:お姉ちゃん落ち着いて。

茜:おっと、すまんすまん。まず、このゲームの目的が
  オブジェクトの破壊や物の移動って言うのはええな?
  この動画ではそれを、タイトル通りパンジャンドラムという兵器のみで行うんや。
  口では形容しがたいから、パンジャンドラムってなんや!?って思ったら、
  是非動画で見てな?
 

葵:極端に思想がイギリスと紅茶に侵食されていますので、
  イギリスが大好きな方や紅茶が好きな人はぜひ見てくださいね。
 

4.2. 【Besiege】茜ちゃん筋肉化計画1セット目【VOICEROID実況】

葵:先ほどはイギリスと紅茶に狂ってましたが、こちらは大丈夫です。
  筋肉に狂ってます。いわゆる脳筋です。

茜:脳筋とは心外な。筋肉とは何かについてガッツリ思考するお話やで?

葵:ソ、ソウダネ
  あ、尺が少なくなってきたらしいので巻いていくよ?お姉ちゃん。

茜:はーい

 

5. 異色系

葵:最後は色々と、特殊な動画を上げていきましょう。

5.1. 【ボイスロイド実況】茜のカービィボウルをプレイするで!

葵:これはお姉ちゃんが、変態的な技術をゲームで発揮するお話です。

茜:変態ゆーなや。葵だって言動が色々ぶっ飛んでるで?

葵:私はいいのお姉ちゃん。それよりもこれの解説をお願い。

茜:それでいいのか葵…。まぁこのゲームはとてもシンプルや。
  カービィをゴルフボールに見立ててゴルフをする。それだけや。
  あ、カービィが自分で動くから、カービィが痛い思いをすることは無いで。

葵:この動画シリーズで特に他の動画と違うところ、それはゲームがバグってることです。
  例えば、反発係数って普通1を超えませんが、バグのせいでたまに超えます。

茜:確かカービィボウル学会の人たちも匙を投げたって言われてるし、
  そういうのが好きな人は見てみるとええかもな?

5.2. 琴葉葵「トポロジーってなあに?」

葵:トポロジーってなあに?

茜:タイトルそのまま読み上げるなや、紛らわしい。
  この動画は、葵が大学数学で学ぶ「トポロジー」について興味を持って、
  私がそれの解説を出来るだけ平易に行う話や。
  でもかなり難しい話やからな、あくまでトポロジーの考え方の説明で終わるで。

葵:言い換えれば、トポロジーの布教動画って感じかな?

茜:多分そういう認識でええんやないかな

5.3. あかねちゃんカフェはじめました

葵:最後は落ち着いた動画で締めましょう。

茜:飯テロやん!

葵:とても落ち着いた動画でお勧めです。
  内容としては、食べ物や紅茶の料理番組のような感じです。

6. まとめ

茜:さて、これでアドカレの分量もヤバそうやし、これでおしまいかな?

葵:そうだねお姉ちゃん。なおここで上げた動画はほんの一部です。
  これらの動画は「琴葉姉妹」「平和」のフィルターをかけた結果です。
  他にも色々な動画がありますので、気が向いたら自分向きの動画を探してみるのもどうでしょうか?
  ちなみにフィルターに弾かれた約60件のVOICEROID実況シリーズなどについては、
  とまとに聞いてください。私たちには知らされてないので。

茜:というわけで今回はここまでや!またなー!


(後述:
 VOICEROID業界は、自主規制が実質無いためぶっ飛んだ作品がとても多いのは事実です。
 ですがそれは裏を返せば、他の業界に無い表現の幅があるということです。
 幅が広すぎて気分を害する動画と出会うこともあるかもしれません。
 その時はそっとブラウザバックをして、別の動画に旅立っていきましょう。
 後最後に一つ。姉妹愛は良いぞ)

 

 

明日は、なかさんの「花園たえ入門」です。

CODE_THANKS_FESTIVAL_2017体験記

凄いギリギリだったんだろうなぁ…

そんな気持ちで、当日は向かっていました。

 

理由は簡単で、

予選A:404位

予選B:859位

予選C:326位 だったからです。

 

多分予選Cの上の方は、既に突破した人がたくさんいたからなんだろうなぁっと思います。

来年はもっと順位を伸ばしたいです。ハイ。

 

 

長々と書く気力もないので、解いた感想だけつらつらと書いておきます。

問題A:

頭が寝ていて、問題文を読んでもあまり理解できない問題発生。なお、入出力を見てmax取ればいいんだな~って感じで雑に通して終了。

 

問題B:

文字列操作は嫌いです。ただ、文字列の長さが50以下ならTLEは無いなぁってことで、冗長に回文の可能性を探っていってみたら勝手に通った。

 

問題D:

問題Cが分からなかったので飛ばした。

何となくではあるものの、

互いに素な整数a,bがあった場合に、

a*i (mod b)  (0≦i≦b-1)で、

0~b-1の全ての整数を表現出来るっていうやつがあったのを思い出して、後は雑にpythonライブラリにあるgcdにぶち込んでゴールにシュートして超エキサイティングした。

 

問題E:

「コイン、重さ、10回しか使えないはかり・・・閃いた!!!」

となったら絶望的な問題。

無事僕は5進数でいけるなぁってルートをたどったものの、コイン1枚当たり重さを8g引いたり諸々の計算をバグらせ、計4WAからのAC。

 

問題F:

bit演算は苦手なんだよおおおおおおおおおおおお

ということで放置

 

問題G:

再帰で全通り探索したら多分TLEだろうなぁ!!!って思いながらコードを書いた。

すると、TLEがたったの2つしかないではないか!!!

これは行けると思ってひたすら高速化を目指した。

結局駄目でした。計9TLEと1CEと1RE。

 

問題C:

冷静になったらpriority_queue(スペルあってる?)の問題だと分かった。終了20分前にギリギリ通せました。

 

 

結果A~Eの5完で1300点。パーカー貰えずorz

 

欲張って、来年はTHANKSではなく本選の方に行きたいです。

Haskellを始めた感想(インストール編)

この度、すごいHaskellの著者をフォローしていた結果興味を持ったので、初めてみました。

内容についてはまだ序盤なので、後々まとめて書いていきたいです。

ここではインストールの感想だけ載せます。

 

<普通>

ここでインストール

動く!  とても簡単ですね。

www.haskell.org

 

<今回>

①上記のサイトでインストール

 

②起動

f:id:tomato9071:20171030020234p:plain

多分、学校の授業で無理やりmingwぶち込まれたせいで、mingw32とmingw64が混ざってるのかな??消すか!(当方TOEIC500未満の英弱のため、質問が出来ない)

 

f:id:tomato9071:20171030020459p:plain

http://akrmys.com/public/mingw/mingw.html.ja

あっ…(cygwinを学校の授業でぶち込まれたり、VisualStudioでmigwが混ざってたりで、本当に消すべき範囲が分からない)

 

④消せない( ^ω^)・・・?

f:id:tomato9071:20171030020705j:plain

(google画像検索--野郎オブクラッシャー)

よし、別の方法を

 

⑤そういえばVisualStudioにあったりしないかな(当方VisualStudioを常用)

f:id:tomato9071:20171030021149p:plain

 

⑥これは…!

f:id:tomato9071:20171030021333j:plain

 (google画像検索--流れ変わったな)

コロンビア! 

 

⑦早速インストールする

.........

///////

........

VScodeにメモリ4GB使用され、タスクマネージャーがフリーズ。

また、環境構築の方法が慣れない方法のため理解が追い付かず断念

なお参照元

qiita.com

f:id:tomato9071:20171030021924j:plain

(google画像検索---涙 ネタ)

 

⑧そういえばUbuntu for windowsTwitterで拝見してインストールしていました。

 

⑨またこれも見かけてたなぁ…

f:id:tomato9071:20171030024831p:plain

⑩やってみた

f:id:tomato9071:20171030025016p:plain

・・・?なんじゃこれ

 

 

⑪色々ググってみた結果、こんなコマンド試した

(bashなどは知らないので、どのコマンドも初めて知った)

$sudo apt update

$sudo apt upgrade

$sudo apt-get update

 

qiita.com

qiita.com

 

⑫もう一回やってみた

f:id:tomato9071:20171030025617p:plain

f:id:tomato9071:20171030025759p:plain

f:id:tomato9071:20171030021333j:plain

 

結論:

コマンドプロンプトで出来ない理由は分からなかった(英強なら出来たかも)

ubuntuのアップデートコマンド初めて知った…

・もしwindowsでエラーが出たら、ubuntu for windows導入した後諸々アップデートしてから、公式サイトのubuntu用導入方法を実行しよう。

・深夜3時なのでちょっと眠い

 

今後:

土日で凄いH本を5章中盤まで読みましたが、まだ標準入出力ですらないので、もう少し読みたいです。やったらまた感想書きたい。

 

 

補足

ここの環境構築を行うと、プロジェクトとして起動は可能になりました。

ただ、単に練習のためにやるには少し大掛かりになりそうで辞めました(失礼)

もう少し本を読み進めたらこちらのやり方を使うかもです。

sites.google.com

Unityで汎用性高そうな関数(練習)

現在Unityでゲーム開発をしてますが、

どこでも使えそうな関数がいくつか見つかったり出来たりしたので載せます。

using System.Linq;
using UnityEngine;
using UnityEngine.UI;

/* 
 * 他の場所でも使えそうな汎用的関数をまとめてあります。
 * 
 */

namespace Assets.Script.Common
{
    public static class UsefulFuncs
    {

        /*
         * 画像パスからSpriteオブジェクトを生成
         * 引数 :画像パス
         * ※    :assets直下のResourcesフォルダからの相対パスにすること
         *    :これは、途中使用するResources.Loadによる作用です
         * 返り値:画像パスのSpriteオブジェクト
         */
        public static Sprite Path2Sprite(string path)
        {
            Texture2D texture = Resources.Load(path) as Texture2D;
            return Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
        }


        /*
         * Spriteオブジェクトを、オブジェクトのimageに貼り付け
         * 引数 :Spriteオブジェクト, 貼り付け先のオブジェクトパス
         * ※  :言わずもがな、オブジェクトパスはHierarcyにおけるもの
         *    :GameObject.Findの引数に出来れば何でも良い
         * 返り値:無し
         */
         public static void SetSprite2Object(Sprite sprite,string objPath)
        {
            GameObject.Find(objPath).GetComponent<Image>().sprite = sprite;
        }


        /*
         * 画像パスの画像を、オブジェクトに貼り付け
         * 引数(1つ目) :画像パス、貼り付け先のオブジェクトパス
         * 引数(2つ目) :画像パス、貼り付け先のGameObject
         * 返り値:無し
         */
         public static void SetImage2Object(string imgPath,string objPath)
        {
            SetSprite2Object(Path2Sprite(imgPath), objPath);
        }
         public static void SetImage2Object(string imgPath,GameObject obj)
        {
            obj.GetComponent<Image>().sprite = Path2Sprite(imgPath);
        }


        /*
         * オブジェクトの複製(ジェネリックメソッド版)
         * 引数 :複製元
         * 返り値:複製物
         * サイト:ttp://l-s-d.sakura.ne.jp/2016/04/class_obj_copy/
         * 
         * 使い方:
         * var hogeA = new HogeParam();
         * HogeParam hogeB;
         * hogeB = UsefulFuncs.DeepCopy(hogeA); <=これ
         */
         public static T DeepCopy<T>(T target)
        {
            T result;
            System.Runtime.Serialization.Formatters.Binary.BinaryFormatter b =
                new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
            System.IO.MemoryStream mem = new System.IO.MemoryStream();
            try
            {
                b.Serialize(mem, target);
                mem.Position = 0;
                result = (T)b.Deserialize(mem);
            }
            finally
            {
                mem.Close();
            }
            return result;
        }


        /*
        * すべての子オブジェクトを返します
        * 引数 :self : GameObject 型のインスタンス
        *     includeInactive : 非アクティブなオブジェクトも取得する場合 true
        * 返り値:すべての子オブジェクトを管理する配列
        * サイト:ttp://baba-s.hatenablog.com/entry/2014/07/29/082441
        */
        public static GameObject[] GetChildren(
            this GameObject self,
            bool includeInactive = false)
        {
            return self.GetComponentsInChildren<Transform>(includeInactive)
                .Where(c => c != self.transform)
                .Select(c => c.gameObject)
                .ToArray();
        }
    }
}

AGC018

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

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

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

 

A問題:

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

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

 

B問題:

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

こんな感じです

 

C問題:

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

 

D問題:

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

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

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

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

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

 

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

追記:1543→1558

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

  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で青になりたい!