일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 알고리즘
- Journey to TST
- poi
- 18963
- 미분방정식
- 2018/2019
- codeforces
- Merlin QA
- Atcoder
- 앳코더
- 백준
- div1
- Subway
- Hoof and Brain
- Joi
- arc
- JOISC
- 일반해
- 코드포스
- Prok barrel
- Commuter Pass
- 15867
- Классные парты
- C++
- 24972
- 19911
- BOJ
- DP
- 12126
- Kingdom Trip
- Today
- Total
목록C++ (12)
취미로PS하는사람
https://www.acmicpc.net/problem/8125 간선을 반대로 생각하고 위상정렬하면서 사이클이 있으면 zawsze이니까 그 사이클 임의의 한 점으로부터 dfs하여 모든 점을 색칠하고, 사이클이 없다면 경우의 수를 dp로 구해주면 된다. 쉬운 문젠데 메모리 제한이랑 코딩 미스 때문에 상당히 애를 먹었다... 코드 더보기 #include #define fi first #define se second #define eb emplace_back #define em emplace #define all(v) v.begin(), v.end() using namespace std; typedef long long ll; typedef pair pii; typedef pair pll; const int..
https://oj.uz/problems/source/376 중간에 논 시간을 제외하고 대략 5~6시간 정도 풀었다. 총 229점. 1. Examination(시험) 우선 학생들을 두 시험의 합이 큰 순서대로 정렬하자. 그리고 쿼리 또한 C가 큰 순서대로 정렬하면 쿼리를 처리할 때 두 시험의 합이 C 이상인 학생만 고려하면 되기 때문에 스위핑으로 이 조건을 해결할 수 있다. 나머지 A와 B 조건은 평면에서 x>=A이고 y>=B인 구간에서 점의 개수를 세는 것이기 때문에 2D BIT 등을 활용하여 점의 개수를 세줄 수 있다. 2D BIT를 처음으로 짜 봐서 이상하게 짠 것 같은데, 괜찮은 구현을 찾지 못하겠다... 코드 더보기 #include #define fi first #define se second ..