Loading...
2024. 5. 23. 02:12

배열을 뒤집었을때 생기는 반전 수의 개수 구하기

25339번: 반전 수와 쿼리 (acmicpc.net)  반전 수는 i P[j]인 (i,j)의 개수를 말한다. 배열이 [3,2,1]이면 반전수는 (인덱스 말고) (3,2), (3,1), (2,1)로 3개가 있다. l번, r번을 서로 교환하는 쿼리 [l,r]의 배열을 서로 뒤집는 쿼리가 주어질 때, 매 쿼리마다 수열의 반전 수를 2로 나눈 나머지를 구하는 문제 ---------------------------------------------------------------------------------------------------------------------------------------------------------- 배열 길이와 쿼리 수가 엄청나다보니 단순한 방법으로는 시간초과 이 문제는..

구간에 원소를 더하는 쿼리가 많이 주어질 때 필요한 누적합 테크닉(imos법)

19951번: 태상이의 훈련소 생활 (acmicpc.net) 19951번: 태상이의 훈련소 생활 2020년 5월 14일 논산훈련소에 입대한 태상이는 첫 총기 훈련에서 가스 조절기를 잃어버리는 중대한 실수를 범했다. 그로 인해, 태상이는 조교들에게 눈총을 받게 되었다. 조교들은 태상이에게 연 www.acmicpc.net 배열이 주어질때, 구간 [a,b]에 c를 더하는 쿼리가 여러개 주어지고, 모든 쿼리를 해결하고 나서 최종 배열을 구하는 문제 1 2 3 4 5 -1 -2 -3 -4 -5 라는 배열에서 [1,5]에 -3을 더하면... -2 -1 0 1 2 -1 -2 -3 -4 -5 여기서 [6,10]에 5를 더하면 -2 -1 0 1 2 4 3 2 1 0 여기서 [2,7]에 2를 더하면 -2 1 2 3 4 6..

의외로 알아내기 어려운 2의 거듭제곱을 더하면 나타나는 특징

1. 문제 27514번: 1차원 2048 (acmicpc.net) 27514번: 1차원 2048 첫 줄에 흐즈로가 정의한 연산을 $0$번 이상 수행해 만들 수 있는 가장 큰 최댓값을 출력하세요. 문제의 답은 $2^{62}$보다 크지 않음이 보장됩니다. www.acmicpc.net 2. 풀이 0이나 2의 거듭제곱으로 이루어진 수열이 있는데, 서로 같은 두 수를 찾으면 하나를 2배 해주고 다른 수는 0으로 바꿔준다 이 과정을 반복했을때, 남아있는 수열의 수 중 최댓값을 찾는 문제 처음에는 걍 수의 위치가 중요한 문제는 아니니.. 수열의 값 a와 그 개수를 value로 해서 dict[a] = value로 만들고 dict를 순회해서 value가 2개 이상 있으면 2배한 dict[2a] += 1 해주고, dict..

2023. 8. 21. 02:11

희소 배열(sparse table) 자료 구조 배우기

https://cp-algorithms.com/data_structures/sparse-table.html Sparse Table - Algorithms for Competitive Programming Sparse Table Sparse Table is a data structure, that allows answering range queries. It can answer most range queries in $O(\log n)$, but its true power is answering range minimum queries (or equivalent range maximum queries). For those queries it can compu cp-algorithms.com infossm.g..

2023. 8. 2. 00:15

3개 이상의 연속된 자연수의 합은 반드시 소수가 아니다

1. 연속된 자연수의 합 2개의 연속된 자연수를 합해보면.. 1+2 = 3 2+3 = 5 3+4 = 7 4+5 = 9 ... 소수가 나올 수 있는데 3개 이상의 연속된 자연수를 합해보면.. 1+2+3 = 6 2+3+4 = 9 3+4+5 = 12 4+5+6 = 15 ... 일단 소수가 보이질 않는다.. 이게 우연일까? 자연수 x에 대하여 n개의 연속된 자연수의 합은 다음과 같이 나타난다. $$S = x + (x+1) + (x+2) + ... + (x+n-1) = nx + \frac{(n-1)n}{2}$$ 여기서 n이 3이상의 자연수일때, S가 반드시 합성수임을 보이고자 한다. 1) 만약 n이 짝수라면 $n = 2k$ 여기서 k는 2이상의 자연수이다. $$S = 2kx + k(2k-1) = k(2x + 2k..

2022. 12. 9. 03:55

인공신경망 Perceptron 효과적으로 출력값을 계산하는 방법은?

1. 문제 25341번: 인공 신경망 (acmicpc.net) 25341번: 인공 신경망 첫째 줄에 입력층의 입력 크기 $N$, 은닉층의 인공 신경 개수 $M$, 출력값을 계산해야 하는 횟수 $Q$가 공백으로 구분되어 주어진다. $(1 \leq N,M,Q \leq 2\,000)$ 둘째 줄부터 $M$번째 줄에 걸쳐 은닉층의 www.acmicpc.net 인공 신경망의 가중치와 편향이 주어지고 입력값이 주어질때 출력값을 계산하면 되는 문제 2. 풀이 이게 어렵나? 생각하고 덤볐는데 엄청 어렵네..? 처음에는 그냥 문제에서 주어진대로... 정직하게 구현했다 인공신경망 m줄을 입력받고... 입력되는 가중치 개수, 입력값 순서들, 가중치들, 편향으로 주어지니까 이걸 짤라서 리스트에 나눠 담았지 from sys im..