본문 바로가기

코드포스

[코드포스 Practice22] 후기 처음으로 0 솔브를 했다. 오랜만에 풀어서 감이 떨어졌는지 아니면 그냥 낯선 문제만 만났는지. 시간은 20분 기준으로 잘 넘겼는데 풀지를 못해ㅋㅋㅋ 문제 만났는데 어떻게 풀지 몰라서 다 넘겼다ㅠ 다시 돌아와도 해결 못했다ㅠ 더보기
[코드포스 Practice21] D. Anu Has a Function 이걸 어떻게 하지???? 어떻게??? 하지??? 고민하다가 손도 못 댈까봐 힌트 받았다. 이거 보면 a|b - b라 하면 a, b 전부 1로 만들고 b인 부분은 다시 0으로 바꾼다. a, b, c, d 연속으로 하면 a | b | c - b | c | d 와 같으니 a가 최댓값이 되고 b가 최솟값이 되면 되겠다 싶었음. 그리고 중간의 b, c 값은 더하고 빼니 어떤 값이든 상관 없을 것 같았다. 최댓값과 최솟값은 1의 개수를 구해서 1의 개수가 많은 걸 최대값 1의 개수가 작은 걸 최솟값으로 설정했음 #include #include #include #include #include #include #include #include #include #include #define xx first #define .. 더보기
[코드포스 Practice21] E. Zmei Gorynich 오늘 다 할 생각이었는데 에바였다 ㅎㅎ 내일 ucpc도 있으니 종강 후 돌아오겠음 종강 했다! 26일날 딱 맞춰 돌아왔네ㅋㅋ 이 문제는 여러번 틀림ㅋㅋ.. 처음에는 문제 이해 잘못해서 n 순서대로 처리하는 줄 알았는데 그냥 n개의 공격 type 중에서 공격하면 된다. 이걸 늦게 알아서 코드 다 짜고 다시 다 지움 ㅂㄷ 공격 횟수를 최소한으로 하려면 d-h 가 가장 큰 공격만 공격하면 된다. 그래서 pair로 값을 받은 뒤 d-h가 가장 큰 걸 선택해서 공격했다. 이거 딱 보니 달팽이 문제라서 그냥 비슷하게 풀었다. 근데 틀림ㅋㅋㅋ 내가 놓친 부분이 있었는데 이거 막타는 h를 생각 안 해도 된다. 막타를 가장 큰 걸로 치면 값이 최소가 됨! 그래서 맨 처음 막타를 계산하는 조건을 추가했다. 그래도 틀렸는데.. 더보기
[코드포스 Practice21] C. Little Artem and Matrix 으으 문제 이해가 안 돼서 막혔었다. 이거 type에 따라서 동작하는 건 알겠는데 이 타입으로 뭘 하라는 건지 몰랐다. 알고보니 원본 배열을 구하라는 문제였다. 뒤에서 부터 3이면 집어넣고 1,2면 값 shift하고.. 끝~~ 이거 시간복잡도 구하는 거 착각해서 n이 100이고 q가 10000이라 두 개 곱하면 백만이고 백만은 N*longN이 되어야 겠군... 엄청 고민했는데 알고보니 Q*n이라 백만이고, 1초에 2억까지 가능해서 오케.. 그냥 주어진 문장대로 작동하면 되는 문제였다. 허허 아ㅋㅋㅋ 이거 잘 짜다가 쿼리 거꾸로 입력받는거에서 좀 어려웠음ㅋㅋㅋㅋ 벡터 배열 만들어서 어찌저찌 입력 받았다. 후.. 코포한테 C++실력 시험 받는 기분이었음. 자네 이차원 벡터 함수 인자로 보낼 수 있나? vec.. 더보기
[코드포스 Practice21] B. Alice and Hairdresser 문제를 이해 못 해서 못 풀었다 길이 최대 l 만큼 자르고 싶은 것도 알겠고 가위 한 번 자르면 l 만큼 잘리는 것도 알겠는데 마지막의 예시를 보면 그렇게 안 잘리는 것 같아서 당황했다. 길이가 l보다 긴게 연속으로 있으면 한번에 잘리는 조건이 추가로 있었다 ㅠ__ㅠ 아 영어 답답해 With one swing of the scissors the hairdresser can shorten all hairlines on any segment to the length l, given that all hairlines on that segment had length strictly greater than l 이 문장이 그걸 나타내는 것 같은디 아 답답해 그래도 해석 안 돼 With one swing of the.. 더보기
[코드포스 Practice21] A. K-th Not Divisible by n dhk.... 이걸 어떻게 풀지 싶었음 수학 문제 같다.. 증맬 처음에 막 어쩌구 해서 생각한 다음 저 식이 나왔는데 틀려서 다음 문제로 넘어갔음 다시 보니 좀 알 것 같았다. #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; int main() { int t; scanf("%d", &t); for (int i = 0; i < t; i++) { i64 n, k; scanf("%lld %lld".. 더보기
[코드포스 Practice21] 후기 A가 너무 어려웠다! 그리고 다음 문제도 어려웠고 다음 문제도 그렇고 그냥 어버버 하다가 끝나버렸다 그래도 사실 하나도 못 풀줄 알았는데 한 문제라도 풀어서 다행이다 시간은 A (30분) -> B (30분) -> C (30분) -> A -> D 이런 식으로 간 듯 오만문제 옆구리 다 찔러봤음 더보기
[코드포스 Practice20] E. Tram 어느때나 트램 탈 수 있어서 복잡하다 생각했는데 이거 트렘 타기로 결정했으면 트렘 속도로만 계산 하면 된다ㅋㅋㅋㅋ 아 너무 신기하고 기발했음 모든 경우 나눠서 생각했고 그렇게 어렵지는 않았다. #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define mod 1000000009 using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; int main() { int s, x1, x2, t1, t2, p, d; scanf("%d %d %d %d %.. 더보기