- ros2
- raspberry pi
- dqn
- ubuntu
- Dashing
- ๋ฐฑ์ค
- BOJ
- ROS2 Dashing
- VirtualBox
- ์๋ฃ๊ตฌ์กฐ
- Android Studio
- ubuntu18.04
- ์๋๋ก์ด๋์คํ๋์ค
- ์ฐ๋ถํฌ ๋ฆฌ๋ ์ค
- JetsonNano
- ์๊ฐ ๋ณต์ก๋
- TURTLEBOT3
- ์๊ฐ๋ณต์ก๋
- raspberrypi
- Gazebo
- ROS
- ์ ๋ฎฌ๋ ์ดํฐ
- c++
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด
- ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด4
- ๋ธ๋ฃจํธํฌ์ค
- ์๊ณ ๋ฆฌ์ฆ
- libobstacles
- Ubuntu 18.04
- linux
- Today
- Total
์์ ํ
[C++][๋ฐฑ์ค|BOJ][์๊ฐ๋ณต์ก๋] 24265๋ฒ - ์๊ณ ๋ฆฌ์ฆ ์์ (์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 4) ๋ณธ๋ฌธ
[C++][๋ฐฑ์ค|BOJ][์๊ฐ๋ณต์ก๋] 24265๋ฒ - ์๊ณ ๋ฆฌ์ฆ ์์ (์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 4)
re.aom 2024. 2. 7. 01:28๋ฌธ์
์ค๋๋ ์์ค์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์.
์ ๋ ฅ์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ฉด MenOfPassion ์๊ณ ๋ฆฌ์ฆ ์ํ ์๊ฐ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํด๋ณด์.
MenOfPassion ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
MenOfPassion(A[], n) { sum <- 0; for i <- 1 to n - 1 for j <- i + 1 to n sum <- sum + A[i] ร A[j]; # ์ฝ๋1 return sum; }
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ ํฌ๊ธฐ n(1 โค n โค 500,000)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฝ๋1 ์ ์ํ ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
๋์งธ ์ค์ ์ฝ๋1์ ์ํ ํ์๋ฅผ ๋คํญ์์ผ๋ก ๋ํ๋ด์์ ๋, ์ต๊ณ ์ฐจํญ์ ์ฐจ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋จ, ๋คํญ์์ผ๋ก ๋ํ๋ผ ์ ์๊ฑฐ๋ ์ต๊ณ ์ฐจํญ์ ์ฐจ์๊ฐ 3๋ณด๋ค ํฌ๋ฉด 4๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
7
์์ ์ถ๋ ฅ 1
21 2
์ฝ๋1 ์ด 21ํ ์ํ๋๊ณ ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ์ด n2์ ๋น๋กํ๋ค.
์ฝ๋1 ์ด 21ํ ์ํ๋๊ณ ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ์ด n2์ ๋น๋กํ๋ค.
์๊ฐ ๋ณต์ก๋๋ O(n^2) 2์ฐจํ์ด๋ค.
7์ ์ ๋ ฅํ ๊ฒฝ์ฐ i์ ๋ฒ์๋ 1 ≤ i ≤ 6, j์ ๋ฒ์๋ i+1 ≤ j ≤ 7์ด๋ฉฐ,
i = 1์ผ ๋, j = 2, 3, 4, 5, 6, 7
i = 2์ผ ๋, j = 3, 4, 5, 6, 7
i = 3์ผ ๋, j = 4, 5, 6, 7
i = 4์ผ ๋, j = 5, 6, 7
i = 5์ผ ๋, j = 6, 7
i = 6์ผ ๋, j = 7
๋ฐ๋ผ์ ์ฝ๋ 1์ 6+5+4+3+2+1์ ์ํ ํ์๋ฅผ ๊ฐ์ง๋ค.
์ด๋ ์๊ทธ๋ง ๊ณต์์ ์ฌ์ฉํ์ฌ ํ ์ ์๋ค.
#include <iostream>
int main() {
long long n;
std::cin >> n;
std::cout << n * (n - 1) / 2 << std::endl << 2;
}
์ด ๋ฌธ์ ๋ n์ ์๋ฃํ์ ์ฃผ์ํ๋ฉด ๋๋ค.