1. 그냥 리스트 젼체를 역산함. 4mod6일 때만 개수 늘어나서 갯수 폭증 안함.
2. 이중행렬 써서 직전에 이동한 칸 수에 따라서 구분
3. 차수 K 안되는 거나, 남는 칸 수 L 안되는 칸은 무조건 지워져야 하고, 그런 칸이 없으면 끝임. 그냥 루프 돌려서 그런 칸들 전부지우고 지워서 새로 생기는지만 확인하면 됨.
4. min_heap Dijkstra에 초기 set을 한 점이 아니라 전체 대피소로 잡음.
5. 각 시간마다 넘치는 일을 계산해서, 뽑아올 수 있는 여유 시간을 계산해 거기에 집어넣었음. 구체적으로, 3시간짜리 일을 0시부터 5시까지, 5시간 안에 해야 하면 2시간이 남는데, 이를 0시, 1시에 5시에 만료되는 여유 슬롯이 하나식 추가되도록 하고, 넘치는 일이 있을 때마다 일찍 끝나는 순서대로 이 여유 슬롯을 사용해 없음 불가능 아님 가능.
3번 수학적으로 관찰만 하고 나면 345중엔 제일 쉬웠던 것 같은데 방법을 몰랐던 사람이 많은 것 같음.
2. 이중행렬 써서 직전에 이동한 칸 수에 따라서 구분
3. 차수 K 안되는 거나, 남는 칸 수 L 안되는 칸은 무조건 지워져야 하고, 그런 칸이 없으면 끝임. 그냥 루프 돌려서 그런 칸들 전부지우고 지워서 새로 생기는지만 확인하면 됨.
4. min_heap Dijkstra에 초기 set을 한 점이 아니라 전체 대피소로 잡음.
5. 각 시간마다 넘치는 일을 계산해서, 뽑아올 수 있는 여유 시간을 계산해 거기에 집어넣었음. 구체적으로, 3시간짜리 일을 0시부터 5시까지, 5시간 안에 해야 하면 2시간이 남는데, 이를 0시, 1시에 5시에 만료되는 여유 슬롯이 하나식 추가되도록 하고, 넘치는 일이 있을 때마다 일찍 끝나는 순서대로 이 여유 슬롯을 사용해 없음 불가능 아님 가능.
3번 수학적으로 관찰만 하고 나면 345중엔 제일 쉬웠던 것 같은데 방법을 몰랐던 사람이 많은 것 같음.
3번 노드 지울때 기쥰이 뭐임?
차수가 K 미만이거나 꼭지점-L-1 초과일 때
여기서 당연히 꼭지점이나 차수는 남아있는 그래프 기준임. 따로 트랙해줄 필요는 없는게 대충 degree를 -1로 한다던가 해줘서 적당히 제껴주면 될거고.
L-1 초과하면 짤라줌? 그러면 그 노드 중 어느걸 기준으로 잡아야 최소갯수를 만족시킬 수 잇음?? 글고 저렇게하면 최소 2개로 찢어진다는 보장도 없는거 같은데
어떤 가능한 경우에서도 그건 없어져야 함을 수학적으로 관찰하면 보일 수 있음. 따라서 사실 애초에 3번 결과는 유일해.
생각해보니 꼭지점-L-1을 제거하는 게 아니라 그런 점이 있으면 그중 차수가 가장 높은 점을 제거하고 차수를 다시 보는 거구나... 암튼.
형아 형은 무슨언어해요?
4번만 씨쁠쁠에 나머지는 씬데, 사실 까놓고말해서 4번도 걍 min_heap 만들기 귀찮아서 STL 갖다쓴거라 C라고 해도 무방할듯
굇수! 포인터 넘넘어렵ㅜㅜ
ㅇㅇ//갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]
갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]
함수//던->든 (선택은 든 과거 회상은 던) [리듬 맞춤법 봇♬]
2,4 나도 저렇게 똑같이 했는데 부분점수 뜸... 특히 2번은 18점;
ㄴ 2번은 아마 mod연산이나 바운더리케이스 실수한것같고, 4번은 long long 안쓴듯?