<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>drken1215</author_name>
  <author_url>https://blog.hatena.ne.jp/drken1215/</author_url>
  <blog_title>けんちょんの競プロ精進記録</blog_title>
  <blog_url>https://drken1215.hatenablog.com/</blog_url>
  <categories>
    <anon>AtCoder</anon>
    <anon>AtCoder300点</anon>
    <anon>ABC-C</anon>
    <anon>茶色diff</anon>
    <anon>考察：一部の変数を固定して考える</anon>
    <anon>操作</anon>
    <anon>最小コスト</anon>
    <anon>操作:1文字を変更する</anon>
    <anon>操作:circular_shift</anon>
    <anon>操作:上書き</anon>
    <anon>回文</anon>
    <anon>単純化：操作の流れを単純化して考える</anon>
    <anon>文字列</anon>
    <anon>全探索</anon>
    <anon>多重for文</anon>
    <anon>for文</anon>
    <anon>最適化問題</anon>
    <anon>NoviSteps3Q</anon>
  </categories>
  <description>慣れれば解ける問題だけど、最初は「固定する」という考え方が難しいかもしれない。 問題へのリンク 問題概要 長さ の文字列 が与えられる。この文字列に対して、次の操作を繰り返すことで回文にしたい。 先頭の文字を末尾に移動する (コスト ) 文字を 1 つ変更する (コスト ) 回文にするための最小コストを求めよ。 解法 まともに考えると、色んなパターンがありそうで頭がこんがらがってしまう！！！ こういうときは「操作の流れを単純化できないか」を考えるとよかったりする。今回は、操作の流れを次の 2 ステップに分けて考えとうまくいく。 Step 1：先頭の文字を何文字か、末尾に移動する Step 2：…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fdrken1215.hatenablog.com%2Fentry%2F2023%2F01%2F29%2F201129&quot; title=&quot;AtCoder ABC 286 C - Rotate and Palindrome (3Q, 茶色, 300 点) - けんちょんの競プロ精進記録&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://cdn-ak.f.st-hatena.com/images/fotolife/d/drken1215/20230129/20230129200908.png</image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2023-01-29 20:11:29</published>
  <title>AtCoder ABC 286 C - Rotate and Palindrome (3Q, 茶色, 300 点)</title>
  <type>rich</type>
  <url>https://drken1215.hatenablog.com/entry/2023/01/29/201129</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
