srm387 div2 중간에.......

  • 태양인
    태양인

    흠, 형편없는 실력의 소유자입니다.
    이번이 두번째 srm인데요,
    처음 srm때와 마찬가지로 easy는 쉽게 풀었습니다.
    그런데!!! 미듐부터는 정말 너무 진짜로 손도 못대겠어요,
    학교에서 뭐 여러가지 배우고 알고리즘도 배웠지요,
    나름 잘 배웠다고 생각했지만 이건 뭐, 아에 아이디어를 내지도 못하겠습니다.
    지금
    #include
    #include
    using namespace std;
    class MarblesRegroupingEasy{
    public :
    int minMoves( vector boxes ) {
    이런 상황입니다. 여기서 더이상 코딩을 못하겠어요,
    작년 ICPC 당근, 인터넷 예선 탈락입니다.
    뭐 어떻게 공부를 해가야 하는지,,,,
    그러니깐 응용, 적용 이런걸,,,,, 멍청해서 인지 못하겠습니다.
    그냥 무작정 연습방 들어가서 계속 해보는 것이......해답일까요,

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]

    16년 전
10개의 댓글이 있습니다.
  • 고글
    고글

    3,4학년이시라면 다음학기에 개설되는 문제 해결 수업을 들어보세요~!


    16년 전 link
  • @,.@
    @,.@

    문제해결 수업은 무엇인가요???


    16년 전 link
  • 태양인
    태양인

    아, 문제해결 수업은 바로 다음 학기에 있습니다. 저도 무지 무지 듣고 싶지만,,,,,
    군대에 가야한다는......유유


    16년 전 link
  • nocut98
    nocut98

    저도 엄청난 쪼렙이지만... 배움의 기술을 읽어보시면, 각 기술을 세분화하고, 기본적인 기술을 세밀하게 익히는 게 중요하다고 합니다. 저는 배움의 기술을 적용해서 탑코더를 뛰어볼려고 해요 ㅡ.ㅜ
    보통 문제는 어렵게 설명해놓고, 사실은 좀 쉽게 푸는 방법들을 잘 찾아내는 게 중요한 거 같더라구요.
    너무 정직하게 풀려고 하시면 더 어려우실지도...;;;


    16년 전 link
  • Toivoa
    Toivoa

    저도 그 문제 gg쳤습니다. ㅜㅜ


    16년 전 link
  • Ze-ze
    Ze-ze

    저 역시 허접입니다만;; 음 풀이법을 말씀드리면, 일단 조커박스 하나를 택하고요.
    조커박스를 제외한 나머지 박스들 중에서 조건을 만족하지 못하는 박스의 모든 마블들을
    조커박스로 옮겨버리면, 이것보다 최적의 경우는 존재하지 않습니다.
    (왜냐하면 조건을 만족하지 않는 박스에서 최소한 하나는 옮겨야 하니까)
    그럼 문제는 어떤 조커박스를 선택하느냐의 문제인데,
    전 문제풀 당시 별 생각없이 가장 많은 종류의 색깔을 가진 걸 조커박스로 선택했는데
    나중에 치명적인 문제가 있음을 종료 20초 전에 깨달았습니다. -_-; (챌린지 당했어염 T-T)
    간단히 생각하면 어차피 박스가 50개 뿐이니, 각각을 모두 조커박스로 선정해 보아서
    가장 최적의 경우가 나오는 것을 선택하면 되겠습니다.


    16년 전 link
  • nocut98
    nocut98

    저도 이해하는데 많은 시간이 걸렸지만, 제가 이해한바로는
    어짜피 한번에 옮길 때 여러개의 여러색깔의 구슬을 옮길 수 있으므로 1번만 옮기면 대상 박스는 깨끗해 집니다.
    그럼 결국 "옮기느냐, 마느냐"의 문제로 정리가 되고 색마다 한개씩만 냅두고, 죄다 (가상의) joker로 옮긴다고 생각해서 구하고
    joker는 옮겨야 하는 것중에 하나에 중복해서 설정해주면, 해당 박스는 안 움직여도 되니까 moves에서 -1을 해주면 되죠.(moves가 0일수도 있으므로 max(0, moves-1)정도로..
    최대 moves는 박스의 갯수 - 1(조커)가 될테구요. 여기서 안 옮겨도 되는 케이스를 세서 빼주면 됩니다.
    1. 1종류만 있어야 하고
    2. 같은 색깔의 다른 박스가 없을 때
    인 경우를 세서 빼주면 된다는... 전 600점 짜리를 320에 풀었으니;;; 꽤나 늦게 풀었네요


    16년 전 link
  • helloneo
    helloneo

    UVa Online Judge라고.. 문제풀고 채점받을수있는 싸이트가 있는데요.. 거기서 문제 많이풀면 문제해결에 도움이될수도있어요..


    16년 전 link
  • nocut98
    nocut98

    제가 생각하는 이번 대회 최고의 후덜덜은 div 1위가 고등학생으로 되어 있다는 거;;;;;
    가입한 이후로 안 고쳐서 남아 있다고 해도 이제겨우 대학 1,2학년 일 듯;;;


    16년 전 link
  • 태양인
    태양인

    저도 마지막에 겨우 생각한 것이...
    우선 조커부터 선택하자! 였습니다.ㅠㅠ
    그래서 Ze-ze님 말씀대로 가장 많은 종류의 색깔을 가진 박스를 조커박스로 해야겠다....
    까지 생각하고 75분이 끝이 나버렸네요...그런데 이것도 아니었다니...ㅠㅠㅋㅋ


    16년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.