QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#69. 燈

Statistics

在一條長走廊中,有 $N$ 盞燈排成一列。這些燈從 $1$ 到 $N$ 編號。每盞燈的狀態為關閉或開啟。有一種特殊機制可以改變這些燈的狀態。每次操作可以執行下列其中一項:

  • 選擇滿足 $1 \le p \le q \le N$ 的整數 $p$ 和 $q$,將第 $p, p+1, \ldots, q$ 盞燈關閉。
  • 選擇滿足 $1 \le p \le q \le N$ 的整數 $p$ 和 $q$,將第 $p, p+1, \ldots, q$ 盞燈開啟。
  • 選擇滿足 $1 \le p \le q \le N$ 的整數 $p$ 和 $q$,將第 $p, p+1, \ldots, q$ 盞燈的狀態反轉(關閉變為開啟,開啟變為關閉)。

燈的目前狀態以長度為 $N$ 的字串 $A$ 表示。若第 $i$ 盞燈關閉,則 $A$ 的第 $i$ 個字元($1 \le i \le N$)為 0;若開啟,則為 1。我們希望以盡可能少的操作,將燈的狀態變成長度為 $N$ 的字串 $B$ 所表示的狀態。若希望將第 $i$ 盞燈關閉,則 $B$ 的第 $i$ 個字元($1 \le i \le N$)為 0;若希望開啟,則為 1。

請撰寫一個程式,給定燈的數量、目前狀態與目標狀態,計算達到目標狀態所需的最少操作次數。

輸入格式

從標準輸入讀取下列資料。

N
A
B

輸出格式

向標準輸出輸出一行,包含達到目標狀態所需的最少操作次數。

資料範圍

  • $1 \le N \le 1\,000\,000$。
  • $A$ 和 $B$ 均為長度為 $N$ 的字串。
  • $A$ 和 $B$ 中的每個字元均為 0 或 1。

子任務

  1. (6 分)$N \le 18$。
  2. (41 分)$N \le 2\,000$。
  3. (4 分)$A$ 中的每個字元均為 0。
  4. (49 分)無額外限制。

範例

輸入格式 1

8
11011100
01101001

輸出格式 1

4

說明

在此範例輸入中,可以透過 4 次操作達到目標狀態,例如如下:

  1. 反轉第 $1, 2, 3, 4$ 盞燈的狀態。燈的狀態變成 00101100。
  2. 開啟第 $2$ 盞燈。燈的狀態變成 01101100。
  3. 反轉第 $6, 7, 8$ 盞燈的狀態。燈的狀態變成 01101011。
  4. 關閉第 $6, 7$ 盞燈。燈的狀態變成 01101001。

由於不可能以少於 4 次操作達到目標狀態,因此輸出 4。

輸入格式 2

13
1010010010100
0000111001011

輸出格式 2

3

輸入格式 3

18
001100010010000110
110110001000100101

輸出格式 3

5

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download
#255EditorialOpen题解jianglyView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.