今日はお昼ごろ元々同じ職場で働いていた方のお家にお邪魔してきました。
海水魚やサンゴや変わった植物などを個人的に育てている方で、お家にも完全に設備が整っておりびっくり!
話を聞いていて面白いなーと思ったのは
・ツバメウオは時々水面近くで横倒しになるが、これは落ち葉に擬態しているため。元々ツバメウオはゴミや漂っている落ち葉が溜まるような海域に生息しており、そのたまり場で落ち葉に擬態している。
・クマノミはサンゴをよくつついたりふかふかしたりしている。食べることもあるらしい。サンゴも逆に弱った魚などを食べてしまい、クマノミも弱ると食べられる(この話は有名だけど…)ので、例えば産卵前などは特にクマノミはサンゴをよくつついて攻撃をする。というのは恐らく、産卵したときに卵を食べられたり、産卵によって弱った自分自身が食べられないようにするため、先にサンゴ側を弱らせようとしているらしい。
・同色系統の海水魚同士はよく喧嘩する。
・クマノミは恐らく他の魚にとって「あいつの近くにはサンゴがある」という警報因子であるのではないか?
という話。
特にクマノミのサンゴを食べる話はナイスタイミングで動画の配信がありました。
https://www3.nhk.or.jp/news/html/20180816/k10011579461000.html
何かを飼育していると面白い発見や考察があっていいですね。
何もかも観察から始まる、といいますがその通りだなぁと感じます。
飼育環境整えれる人本当にすごいや…。
さて、今日は累積和について勉強しました。
http://satanic0258.hatenablog.com/entry/2016/04/10/151315
簡単に言うと、何度も配列の和を計算していると時間がかかってしまうので
ある区間和を考えたい時は先に1~最後までの項の和を計算してしまった方が良い、という話らしい。
この問題は解説とサンプルコード見て解釈しました。
この場合の累積和は、各項以前までに出現したWとEをそれぞれ和を出していき、別々で累積和を作成します。
そして、ある項をリーダーとした場合、それよりも左に存在するWをEに、
右に存在するEをWに変えなければいけないので、
そのまんま前作成した累積和を用いて
「その項より左に存在するWの数」+「その項より右に存在するEの数」の最小値を探していけばよい。
でも「その項より右に存在するEの数」は「最終項までに出現したEの数」ー「その項までに出現したEの数」で求められるので、ここで累積和の概念が生きてくる感じみたい。
実装できました。よかった。
累積和の問題がもう一つ提示されていたのでこれも解いてみました。
こっちは思ったより簡単でした。累積和の概念を掴めたからかな?
右か下かにしか動かないし、2行しかないから楽でした。
もっと複雑になったら太刀打ちできないんだろうけど、累積和という技術の獲得のためにはちょうどよいトレーニングになったかな…(と信じたい)。
あと今日はヘモグロビン代謝について復習とか、代謝の復習とか、やりたいことがいっぱいだ…
夏休みももう終わり。そろそろ準備に全力で取り掛からないと…!