알고리즘?? 인지 모르겠는데 질문있음

만약 예를들어서

1, 2, 3, 4, ,5 ... n 개의 공이 있어


근데 1번 공을 고르면 2, 5, 6..의 공을 고를 수 없고


2번 공을 고르면 3 ,12, 1, 5 ...의 공을 고를 수 없어


이렇게 n개의 공마다 조건이 붙어 있는 상태에서


최대한 많은 공을 고를려면 으떠케 풀어야대??


단, 선택할 공과 그 공과 같이 고를 수 없는 공 사이의 관계는 없어.


어디 뭐 문제 풀려고 여기 가져온게 아니라 갑자기 생각나서 쓴 글이야.


알려주면 고맙겠엉!

26개의 댓글

2018.06.20
N제한이 중요한데 n이 작으면 부르트포스로 풀면될거같음
0
2018.06.20
@STM8a
고마워! 근데 고것말고.. 다른방법이 궁금해서....
0
2018.06.20
@차고보
백트래킹 말고는.. permutation으로 조합쭉 만들어서 가능성체크 해도될것같음
0
2018.06.20
@STM8a
1번공 뽑아보고 2번공을 뽑는다 가정해보고 가능할시 3번공도 뽑아봄. 불가능하다 하면 2번공을빼고 3번공을 집는다 가정해보고 진행

백트래킹으로 풀면될것같음
0
[삭제 되었습니다]
2018.06.20
@7ebf0a9aᅟᅟᅟᅟ
당연히 이상할수도 있지.. 걍 방금 생각나서 적은거라....
0
2018.06.20
이거 N-Queen문제인가 그거랑 비슷할 거 같은데
0
2018.06.20
@렙 개드리퍼
고건 윗게이가 말한 백트래킹인디 고 방법 말구 다른데 궁금했엉!
0
2018.06.20
공을 고르는 순서는 중요하지 않은거같으니깐
비트마스크(또는 string key) + 메모이제이션쓰면 될듯

1뽑고 1을 뽑은뒤 가능한 것들에 대해 다 뽑음.
2도 뽑을 수 있으면 2뽑은 뒤 가능한 것들에 대해 다 뽑음.
뽑을 수 없는데까지 간 뒤 다시 버퍼를 비우고 2부터 다시 뽑음
이미 구해져있다면 구해진 값을 사용

간단한 예시로 공 8개중에 1,2,5,6을 뽑았고 더이상 뽑을게 없다면
m[11001100] = possible
이렇게 나타낼 수 있음

자료구조는 해시맵 같은거 쓰면 될거같고


1에선 2가 안되고 2에선 1이 되고 이런규칙이 생기면 다른 방법을 써야 할 듯
0
2018.06.20
@HIGH SIERRA
a번 공을 뽑았을땐 b번공이 안댄다 <-> b번공을 뽑았을때 a번 공이 안댄다.
이건 당연하다 생각 했었어 근데 그런 조건을 넣을수도 있겠네

그리고 n을 그래도 1000?개 정도 생각하고 있었어...
0
2018.06.20
@차고보
상관없지않음?
n이 천이어도 저건
공간복잡도 n^2이니깐
백만
0
djd
2018.06.20
@HIGH SIERRA
시간복잡도가 2^n이 되는 거 아니야?,

여기서 비트DP를 밀고 나가서 최적화를 더 하면 2^(n/2)까진 될 거 같긴 한딩...
0
2018.06.20
@djd
그러넹..
0
2018.06.20
공이 아닌 점이라 생각하고
규칙이 점과 점에 선분이 놓아져잇다하면
최대한 많은 점을 잇는 문제임
한붓그리기 또는 다리건너기로 찾아보면 될듯

문제는 1번점은 3번점으로 이어지는데
3번점은 1번으로 안이어진다던가 이런 일방통행규칙이 어려운 부분이 될것같음

아니면 한점에서 다른점으로 가는 출발의 가짓수가 아닌
각 지점마다 다른 점에서 오는 가짓수를 배열하면 왠지 간단하게 답이 나올것같은 직감이 든다
0
2018.06.20
@4edg587
검색해보니 오일러 서킷?이라고 나오는데 공부좀 해봐야 겠다.
0
2018.06.20
고를 수 없는 공의 기준이 머징..?
0
2018.06.20
@머학띵소
랜덤이양
0
2018.06.20
@차고보
고를 수 없는 공의 기준이 랜덤이고, 고를 수 없는 공의 갯수도 랜덤임? 그러면 그냥 bruteforce밖에 없지않나?
0
2018.06.20
@머학띵소
내가 모르는 뭔가가 있을지도 모르자너...
0
2018.06.20
@차고보
죄다 랜덤이면 같은 1번을 클릭해도 계속 랜덤으로 뽑힌다면 이건 뭔가 답이 없는 문제가 될 수도 있는데.
정확하게 문제가 어떻게 나왔는지 궁금한데....
0
djd
2018.06.20
1,2 를 동시에 고를 수 있으면, 1-2간선 연결하는 식으로 그래프를 그리면,

정답 = 부분 그래프 중에서, 가장 큰 완전 그래프의 크기

이렇게 되는데,

부분 그래프 중에서 완전 그래프 = Clique 라고 부르고, 여기에 대한 이것저것들이 있음.

가장 큰 clique를 찾는 게 가장 큰 이슌데, 위키 주소 남김.

https://en.wikipedia.org/wiki/Clique_problem

근데 플로우, MCMF로 할려고 했는데 증명이 계속 삑나서 보니까 별다른 조건 없이, 최대 clique를 찾는 건 NP라는 것 같음.

----

반대로 1,2를 동시에 고를 수 '없을 때', 1-2를 연결하는 식으로 생각할 수 도 있는데(결국 똑같은 얘기니까 이것도 NP겠지만)

조건을 좀 더 넣어서 다항시간으로 가능하게 만든 버전은 ACM 한국 대회에 나온 적 있음.

조건은 1->3, 3->4 이 있을 경우, 1->4도 있는 것.

http://weeklyps.com/entry/BOJ-8898-%EC%8A%A4%ED%8F%AC%EC%B8%A0-%EC%A0%84%EB%AC%B8-%EC%B1%84%EB%84%90-GSK
1
2018.06.20
@djd
ㅠㅠ 예상은 했지만 np구나...

근데 아까 지워서 말은 안했는데 이분 뭐시기? 용어좀 다시 알려줄수 있어?? 궁금하자너
0
djd
2018.06.20
@차고보
알고리즘 중에, 네트워크 플로우라는 게 있는데,

이분 그래프에 대해서 네트워크 플로우 돌리는 걸 이분 매칭이라고 함.

저기 링크 걸어둔 acm 한국 대회 문제의 경우엔 이분 매칭으로 풀림.

네트워크 플로우에서 시간복잡도는 늘어나지만, 더 많은 문제를 풀 수 있는 방법 중에 MCMF도 있음.

NP가 아닌, 대부분의 그래프 문제는 MCMF로 다 풀린다는 속설이 있을 정도로 강력함.(시간복잡도를 다항시간인 것만 신경쓰면..ㅎㅎ)

저 문제 생각나서 이것도 이분매칭or MCMF로 될 줄 알았는데 증명 해놓고, 그 다음에 반례나와서 지움 ㅠㅠ
0
djd
2018.06.20
@차고보
http://www.labri.fr/perso/robson/mis/techrep.html

위키에서는 제일 빠른 게 이거라는 거 같은데,

대회나 코딩테스트에 문제 나오면, 결국 비트마스크DP 로 풀라고 하는 느낌으로 나올 거 같네...

아니면 저 문제처럼 조건을 더 넣어서 네트워크 플로우 문제로 바꾸던지...
0
2018.06.20
@djd
이런거 볼때마다 난 빡대가리인걸 다시한번 상기 시킨고 간다... ㅠ
0
djd
2018.06.20
@차고보
에이, 문제가 너무 어려운듯...

다항시간에 해결하는 건 아직 전문 연구자들도 못한 거고,

a->b,b->c 가 되면, a->c가 된다는 절라 강력한 조건이 있는 저 acm 문제도 당시에 한국에서 푼 팀이 5팀 이하였던 걸로 기억 하는데... 네트워크 플로우 응용이 원래 어려운 파트라서...

백트래킹 보단, 비트DP가 더 빠를 테니, 비트DP만 공부하면 뭐...
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180597 [잡담] sn850x 1tb 방열판 없어도 괜찮죠?? 6 김빵순 0 1 시간 전 37
180596 [컴퓨터] Am5 메인보드 asrock b650m pg lightning vs gigabite b650m-k 6 죽업 0 3 시간 전 60
180595 [컴퓨터] 올해 잘한거 펩타이드 0 7 시간 전 122
180594 [모바일] s21 3년째쓰다가 s24 울트라로바꾸고 느낀점 5 마법부오러사무국장 0 8 시간 전 469
180593 [견적] 중고 노트북 한번바조요 4 쯔네이 0 10 시간 전 127
180592 [컴퓨터] 간헐적 모니터 화면 깜빡거림은 왜생기는걸까요? 19 파라다이스 0 11 시간 전 150
180591 [모바일] 태블릿사서 사용용도 11 오브 0 12 시간 전 269
180590 [컴퓨터] 배그 멈춤현상 도와주세요(내용수정하였습니다,) 12 크크르삥뽕 0 14 시간 전 111
180589 [컴퓨터] 드디어 컴퓨터 다 샀다ㅜㅜㅜ 24 뽀삐뽀삐 0 15 시간 전 287
180588 [견적] 9700k 쓰고 있는데 컴퓨터 업글하려면 라이젠 뭐 사는게 좋음? 11 쪄까튼쎼쌍 0 19 시간 전 184
180587 [컴퓨터] jpg 열화 막는법? 7 정병장기입원 0 21 시간 전 246
180586 [모바일] 윈도우pc와 아이폰 사진연동 안되나? 4 cw 7 0 22 시간 전 117
180585 [견적] 개붕이 견적 도와죠요 3 가기그게그거 0 1 일 전 83
180584 [모바일] 이거 삼전케어플러스로 넘어가야할정도임? 2 마법부오러사무국장 0 1 일 전 236
180583 [컴퓨터] 모니터 이상함 1 띵똥이 0 1 일 전 85
180582 [모바일] A25가 그렇게 별로임?? 7 울그락푸르락 0 1 일 전 168
180581 [컴퓨터] 독거미 도착함 12 쿠쿠N취킨 1 1 일 전 301
180580 [잡담] 님들도 데스크테리어 해보쉴? 18 냐하하하하 0 1 일 전 342
180579 [잡담] 논 rgb 구성으로 맞췄더니 뭔가 심심해서 4 전기모기채는신이야 0 1 일 전 116
180578 [컴퓨터] 이거 사운드카드 죽은거냐? 3 와신상담 0 1 일 전 151