hihocoder1251Uvalive7263 Today Is a Rainy Day 2015北京赛区C
生活随笔
收集整理的這篇文章主要介紹了
hihocoder1251Uvalive7263 Today Is a Rainy Day 2015北京赛区C
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
給出一個長度為N的串,每個元素介于1-6之間,現在有兩種操作方式:
A、將所有值為x的改為y
B、將某個位置為x
現在給出初始串S,要求將其變為目標串T的最小操作次數。
N≤100
分析:
首先,必須得到一個結論,所有的B操作都可以在所有A操作做完后進行
證明非常簡單:無論最優解中B操作在任意一個位置,將其在A操作做完后,將其直接改為目標串的值,這樣可以是不會增加操作次數的。
所以現在就很簡單了,我們可以暴力枚舉A操作,很容易可以發現A操作其實是一種映射關系,我們可以bfs暴力一發,最后枚舉每種操作方式,將原串根據每種操作方式進行映射,再將映射后的串用O(n)的復雜度掃描一次,若該位置的值與目標串不一樣,就需要在該位置做一次B操作。再將所有的映射關系的操作次數與其需要做的B操作次數相加,就得到了一種方案。所有方案取最小值,即可求出我們要的答案。
總結
以上是生活随笔為你收集整理的hihocoder1251Uvalive7263 Today Is a Rainy Day 2015北京赛区C的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常规的Git管理流程
- 下一篇: sdnu1038