목록분류 전체보기 (245)
말랑한 하루
[문제] [조건] [해결방법] 1. 슬라이딩윈도우 덱을 오름차순으로 유지하며 소스코드를 진행하면된다. ㅡ덱의 처음이 지정된범위를 벗어난경우 제거해주는것 ㅡ덱의 마지막을 내가 덱에 추가하고자하는 값이 최대가 되도록 유지시켜주는것 2. 세그먼트 트리 [전체소스코드] 1. 슬라이딩 윈도우 #include #include #include #pragma warning(disable:4996) using namespace std; #define fs first #define se second deque q; int ary[5000001]; int main() { int test, L; cin >> test >> L; for (int i = 0; i > ary[i]; for (int ..
[문제] 간단한 BFS문제입니다. [조건] 가로, 세로, 대각선으로 연결되어 있는 섬의 전체개수를 찾는것 맵을 벗어나지않게 움직이며, 같은색의 섬만 움직일 수 있도록 판별하는것. [해결순서] 가로, 세로, 대각선에대해 움직일수 있는 방법을 파악하는 것이 가장 중요한문제 라고생각합니다. 섬의개수문제는 여러 BFS에서 응용되기때문에 잘 기억하고 있는것을 추천함니다. 각각의 모든섬에서 다른섬으로 갈수있는지 판별하고, 더이상갈수없다면 섬의개수를 하나씩 증가시켜주면됩니다. [부분소스코드] 순서대로 ↑ ↓ ← → ↖ ↗ ↘ ↙ 상 하 좌 우 좌상 우상 우하 좌하 int xX[8] = { 0, 0, -1, 1, -1, 1, 1, -1 }; int yY[8] = { -1, 1, 0, 0, -1, -1, 1, 1 }; ..