<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>Sen_comp</author_name>
  <author_url>https://blog.hatena.ne.jp/Sen_comp/</author_url>
  <blog_title>Senの競技プログラミング備忘録</blog_title>
  <blog_url>https://sen-comp.hatenablog.com/</blog_url>
  <categories>
    <anon>Codeforces</anon>
    <anon>データ構造</anon>
    <anon>スライド最小値</anon>
    <anon>deque</anon>
    <anon>典型</anon>
    <anon>蟻本</anon>
  </categories>
  <description>codeforces.com 概要 n行m列の行列がある。それからa行b列の部分行列を切り出す。(n-a+1) * (m-b+1)個できる。部分行列の項の最小値の和を(n-a+1)*(m-b+1)個分足した値を答えよ。 ただし、n行m列の行列はとして、である。制約: 1 ACするまで 1. 与式で構築された行列、数学的な規則を利用して解くのはなさそう。 2. 典型を感じる。2次元セグメント木でいけそう(後述) 3. 1次元ならば、サイズ固定なのでスライド最小値で行けそう。でも2次元。。。 4. よく考えてみたらスライド最小値は軸ごとに独立。2回やればいいので終わり-&gt;AC! 考察 このスライド…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fsen-comp.hatenablog.com%2Fentry%2F2019%2F12%2F27%2F222926&quot; title=&quot;Codeforces Round #574 - E. OpenStreetMap - Senの競技プログラミング備忘録&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url>https://chart.apis.google.com/chart?cht=tx&amp;chl=%20a_%7Bij%7D%3Dg_%7Bi%2A%28n-1%29%2Bj%7D</image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2019-12-27 22:29:26</published>
  <title>Codeforces Round #574 - E. OpenStreetMap</title>
  <type>rich</type>
  <url>https://sen-comp.hatenablog.com/entry/2019/12/27/222926</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
