만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

행렬 조작

시간 제한1초메모리 제한2048 MB

요약
각 행의 1이 연속 구간을 이루고 모든 열에 1이 있으며, 행마다 구간의 양 끝이 왼쪽으로 가지 않도록 만드는 최소 토글 수를 구합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 누적 합, 행렬
정답자
아직 제출이 없습니다

정의

이 문제에서 모든 원소가 00 또는 11인 행렬을 이진 행렬이라고 한다. 이진 행렬이 다음 조건을 모두 만족하면 띠 모양 이진 행렬이라고 한다.

  1. 모든 행에 11이 하나 이상 있다.
  2. 모든 열에 11이 하나 이상 있다.
  3. 각 행의 11들은 서로 연속해서 붙어 있다.
  4. i>1i > 1인 행 ii에 대해, sis_i는 11이 있는 가장 왼쪽 열, tit_i는 11이 있는 가장 오른쪽 열이다. 이때 si≥si−1s_i \ge s_{i-1}이고 ti≥ti−1t_i \ge t_{i-1}이어야 한다.

문제

ICPC는 데이터 집합에서 얻은 결과를 발표하려 하지만, 그 행렬은 띠 모양이 아닐 수도 있다. 그래서 칸을 골라 00은 11로, 11은 00으로 바꾸어 행렬을 띠 모양 이진 행렬로 만들려 한다. 주어진 행렬을 띠 모양 이진 행렬로 만드는 데 필요한 바꿈 횟수의 최솟값을 구하라.

입력

첫 줄에 행 수 rr과 열 수 cc가 주어진다 (1≤r×c≤2⋅1051 \le r \times c \le 2 \cdot 10^5). 이어지는 rr개의 줄에는 길이 cc인 이진 문자열이 한 줄씩 주어진다. 각 줄이 행렬의 한 행이다.

출력

행렬을 띠 모양 이진 행렬로 만들기 위해 바꿔야 하는 원소 수의 최솟값을 한 개의 정수로 출력한다.

예제1

  1. 예제 1

    입력
    3 4
    1100
    0101
    0011
    
    예상 출력
    1