: 시야 범위를 좁혀보자.
-> 완탐으로는 못한다는 생각을 했고.....
음. 그 다음에는 도저히 어떻게 할지 판단을 못했다.
--> 즉 이번 문제는 틀림.
백준 선생님의 710 그리디 참고 자료 와
문제 해결 전략 내용이 있다.
https://www.acmicpc.net/board/view/13509
1) 0,0 ~ 3,3 범위에 있는 모든 원소를 뒤집지 않거나. 단 한번만 뒤집을 수 있따.
왜냐하면 0번 뒤집나, 2번 뒤집나 동일하다.
또 1번 뒤집나, 3번 뒤집나, 5번 뒤집나 동일하다.
: 완탐은 안되므로, 다른 방법을 생각해야 한다.
나는 그동안 그리디는 단순히 pq로만 처리한다고 생각했다.
반성문
-> 자 문제에서 행렬 a,b의 모든 원소가 동일해야 한다고 했다.
작은 부위에서부터 시작하자.
a행렬의 0,0 원소가 0이고, b행렬의 0,0 행렬의 원소가
1이면 a행렬의 0,0 원소를 어떻게 할 것인가?
-> 변경해야 겠지????
그래야 a행렬과 b행렬이 동일할 수 있는 방법이 나오잖아.
그리고 문제를 처음보고 든 생각 최대 1번 뒤집을 수 있다.
(00 ~ 33 의 범위는)
-> 00을 제외한 나머지는 무관하고, 0,0의 최적값은 정해졌다.
이 때의 0,0은 더 이상 다른 외부조건에의 의해서 달라질 필요가 없다.
이것이 그리디 방법이라고 한다.
이러한 방법으로 0,0 ~ n ,m까지의 원소를 진행하는데,
1,1 은 0,0 ~ 3,3 에 의해서 뒤집어졌지만,
한번 더 뒤집을 수 있따.
이 때는 1,1 ~ 4,4 순간에 뒤집어지는 것이다.
시야 범위를 좁히자.
- 시야 범위를 좁게 보고 문제에서 최적의 뒤집는 카운팅 수를 구하는 것이다.
시야 범위를 좁게 보면, 원소 하나하나를 보게 된다.
0,0이 변경하는 최소 카운팅은 그냥 뒤집냐? 안 뒤집느냐??? 이다.
-> 최적의 카운팅이 정해졌다.
타겟으로 잡은 값이 변경되는 방법이 뭐가 있을까? 생각해보자.
문제에서는 뒤집지 않거나, 33범위가 아닌 타겟 0,0은 최대 단 한번만 뒤집을 수 있는 방법이 있다.
-> 뒤집는 카운팅의 최적값이 정해진다.
부연 설명 이렇게 말하면 단 한번만 뒤집을수 있따?? 가 아니라.
0,0 ~ 33 에 의해서 0,1도 뒤집혔는데, b행렬과 비교해보니
달라서 0,1 ~ 3,4 뒤집어야 하는 경우가 발생할 수 있다.
-> 즉 타겟으로 잡은 startY, startX 는 최적의 카운팅 값이 정해진다.