-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1-YIM2UL2ET #3
1-YIM2UL2ET #3
Conversation
κΏν κ°μ¬ν©λλ€! |
λμΌ λ c++λ‘ μ μλλ° cppλ λΌ? |
μ¬μ€, μν
λκΉμ§μ 거리 ν©μ΄ μ΅μκ° λλλ‘ νλ €λ©΄ μ¬λ¬ μ§λ€ μ€ κ°μ₯ κ°μ΄λ° μμΉμ μ‘΄μ¬νλ μ§μ μν
λλ₯Ό μ€μΉνλ©΄ λκ² μ£ ? #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int N; cin >> N;
vector<int> v(N);
for(int &i : v) cin >> i;
sort(v.begin(), v.end());
cout << v[(v.size() - 0.5)/ 2];
return 0;
} μ§μ μΌμΌμ΄ 거리λ₯Ό κ³μ°ν νμ μμ΄ κΉλνκ² λλμ£ ?
able. |
κ°μ₯ λ¨μν μ κ·Όλ²λΆν°, μλ μ½λμ 짧λ§ν ν λ§ μ½λλ€, κ°λ¨λͺ λ£ν λμ λ°©μκΉμ§... μλ²½νλ€μ. νμ§λ§ 그리λ λ¬Έμ μ μ κ° λΉ μ§λ©΄ μνμ£ ... μ΄ λ¬Έμ λ λ¨μνκ² λ°°μ΄μ μ€μκ°λ§ μ°ΎμΌλ©΄ ν΄κ²°λ©λλ€. #include <iostream>
#include <vector>
#include <algorithm>
int main() {
int n;
std::cin >> n;
std::vector<int> houses(n);
for (int i = 0; i < n; ++i) {
std::cin >> houses[i];
}
std::sort(houses.begin(), houses.end());
std::cout << houses[(n - 1) / 2];
} 그리λλ μμ μ΄λ° λ§μ΄μ£ γ |
μ λ¦μμ΄ |
μλ μ λ κ² κ°λ¨ν λ°©λ²μ μκ° λͺ»νλ€.. νμ λ°°μκ°λλ€. κ°μ¬ν©λλ€! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ’μ μκ³ λ¦¬μ¦κ³Ό μ½λμΈ κ² κ°μ΅λλ€π
μ€μκ°μ μ¬μ©νλ©΄ λ λΉ λ₯΄κ² ꡬν μ μλ€λ κ²μ μ λ μλ‘ λ°°μκ°λλ€.
μκ³ νμ ¨μ΅λλ€ π
{ | ||
int n, temp, index, result, up, down; | ||
long long value, tvalue; | ||
int villige[100000] = {0}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
listλ μ’μ§λ§ vectorλ₯Ό μ¬μ©ν΄λ³΄μλ κ²λ μ’μ κ² κ°μ΅λλ€ γ γ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vectorλ λ°λ°μΌλ‘ μ¬μ©νκ³ μκΈ΄ νλ° νμ€ν vectorκ° cpp 곡λΆνλ©΄ ν μλ‘ μ₯μ μ΄ λ λ§λλΌκ΅¬μ©, μμΌλ‘ μμ£Ό μ΄μ©ν΄λ³΄κ² μ΅λλ€!
for (int i = 0; i < n; i++) { | ||
std::cin >> temp; | ||
villige[temp-1]++; | ||
value += temp-1; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
βοΈ villigeμ κ°μ΄ 0μ΄λ©΄ λμ΄κ°κ² μ½λκ° μμ±λμ΄μλλ° μ§μ μμΉ(μ λ ₯κ°)μ listμ λ΄κ³ , μ΄λ₯Ό μ λ ¬νμ¬ μ¬μ©νλ λ°©λ²λ νλ² μκ°ν΄λ³΄μ ¨μΌλ©΄ μ’κ² μ΅λλ€.
λ©λͺ¨λ¦¬μ μκ°μ μ‘°κΈ λ μλ μ μμ κ² κ°μμ!!
λ¬Έμ λ μ¬μ 보μ΄λλ° μκ°λ³΅μ‘λλ₯Ό κ³ λ €ν΄μΌνλ λ¬Έμ μλ€μ. λ§μ΄ λ°°μκ°λλ€. νκ°μ§ κΆκΈν μ μ΄ μλ€λ©΄ μλ λ°©μμμ kκ°μ΄ νλμ© μ¦κ°νλ©΄μ
|
downμ kμμ λ³Έ μ§μ μλ₯Ό μ μΈν μ§κΈκΉμ§ λ΄μλ μ§μ μ, λν 2λ² νλμμ μ‘°κΈ λ μΆκ°ν΄μ "kμ μ§μ΄ μλ€λ©΄ κ·Έκ³³μ μν λλ₯Ό μ€μΉνλ€" κ°μ ν©μλ€. κ·Έλ λ€λ©΄ μλ μν
λλ₯Ό μ€μΉνλ κ³³μ μ΄κΈ°λΌλ©΄ 1λ²μμΉ μ΄κ±°λ, κ·Έκ² μλλΌλ©΄ μ΄μ μ λ΄€λ μ§μ μμΉ (μ΄μ kκ°) μ΄κ² μ§μ. κ·Έλ λ€λ©΄ μν λλ k-pλ§νΌ μμΌλ‘ μμ§μ΄κ² λκ²μ΄κ³ , μ΄μ μ λ΄μλ μ§λ€κ³Ό μν λκ°μ 거리λ k-pλ§νΌ λμ΄λκ² λμμΌλ―λ‘ valueκ°μ (k-p)*down λ§νΌ λμ΄λκ² λ©λλ€. 2-1μ μ€λͺ λλ Έμ§λ§ 2-2λ λ§μ°¬κ°μ§μ λλ€. μν λκ° k-pλ§νΌ μμΌλ‘ μ΄λνμ¬ μ€μΉλ¬λ€λ©΄ μμΌλ‘ λ΄μΌν μ§λ€κ³Ό μν λκ°μ 거리λ κ·Έλ§νΌ μ€μ΄λ€κ² λκ² μ§μ. λ°λΌμ valueκ°μ (k-p)*up λ§νΌ μ€μ΄λ€κ² λ©λλ€. κ·Όλ° μ¬μ€ μ΄λ κ² λ³΅μ‘νκ² μκ°νμ§ μλλΌλ κ³ μλΆλ€μ΄ μ μ΄μ£Όμ μ€κ°κ° μ°ΎκΈ°κ° κ·Όλ³Έμ μΌλ‘ ν¨μ¬ κ°νΈνκ³ , λ¬Έμ μ ν΅μ¬μ κ΄ν΅νλ νμ΄ κ°μ΅λλ€. μ νμ΄λ μ°Έκ³ μ λλ‘λ§ λ΄μ£ΌμΈμ. νΉμλ μ‘°κΈμ΄λΌλ μ΄ν΄ μλμλ λΆλΆ μμΌλ©΄ λ μ§λ¬Έν΄μ£ΌμΈμ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리뷰λ₯Ό λ¬μμΌ νλλ° λͺ¨λ₯΄κ³ μ½λ©νΈλ₯Ό λ¬μμ λ€μ λ΅λλ€ π΅π΅
ν λ¨κ³μ© μ°¨κ·Όμ°¨κ·Ό νμ΄μ μ€λͺ ν΄μ£Όμ μ μ΄ μμ£Ό μ΄ν΄νκΈ° νΈνμ΅λλ€.
μ€μ λ‘ μ€μκ°μΌλ‘ κ³μ°νλ λ°©λ²μ΄ κ°μ₯ λΉ λ₯΄κ³ κ°λ¨ν λ°©λ²μ΄μ§λ§ μ€λͺ ν΄μ£Όμ λ°©λ²μ ꡬννλ κ³Όμ μ μλ―Έκ° μλ€κ³ μκ°ν©λλ€.
μμΌλ‘λ νμ΄ν !! π₯ π₯
λ§λ‘ νμ΄μΈ λ κΈμ΄ κΈΈμ΄μ§λ€λ©΄, μ무λλ μ΄ν΄νκΈ° μ μ μ΄λ €μμ§μ£ . μλ₯Ό λ€λ©΄ μ΄λ° μμΌλ‘ λ§μ΄μ£ . |
νμ€ν κ·Έλ¦ΌμΌλ‘ 보λκΉ κ΅μ₯ν κΉλνκ³ κ°λ
μ±λ ν¨μ¬ μ’λ€μ. |
π λ¬Έμ λ§ν¬
BOJ 18310
βοΈ μμλ μκ°
40λΆ+Ξ±
β¨ μλ μ½λ
κ°μ₯ κ°λ¨νλ©΄μλ μ¬μ΄ λ°©λ²μ μν λκ° μλ μμΉμμ κ° μ§λ€μ 거리λ₯Ό ꡬνλ κ²μ΄λ€.
But, μ΄ λ°©λ²μ μκ°μ΄ λ무λλ λ§μ΄ κ±Έλ¦°λ€λ μΉλͺ μ μΈ λ¨μ μ΄ μ‘΄μ¬νλ€. μλ₯Ό λ€μ΄..
n = μ§μ μ, house = μ§μ μμΉλ₯Ό μ μ₯ν λ°°μ΄ μ΄λΌκ³ ν λ λ€μμ μκ°λ³΅μ‘λλ λ²μ¨ n^2μ΄ λμ΄λ²λ¦°λ€.
μ΄ λ¬Έμ μ μ΅λ μ§μ κ°―μμΈ 200,000λ₯Ό nμ΄λΌ νλ©΄ μ΄κ²λ§μΌλ‘ λ²μ¨ 40,000,000,000λ²μ μ°μ°μ ν΄μΌ νλ κ²μ΄λ€.
κ·Έλ λ€λ©΄ μ΄λ»κ² νλ©΄ μ’μκΉ?
λ¨Όμ μν λμ μμΉκ° 1μΌ λ μν λμ μ§λ€κ°μ 거리 μ΄ν©μΈ valueλ₯Ό ꡬνμ. (μμΉ 1μ μ§μ΄ μλ μλ μκ΄μλ€.)
μ΄λ κ² νλ©΄ valueκ°μ μν λμ μμΉκ° 1μΌ λ μν λμ μ§λ€κ°μ 거리μ μ΄ν©μ ꡬν μ μλ€.
κ·Έλ° λ€μ μ λ΅μ νμ¬ μν λμ μμΉμΈ 1μΌλ‘ μμ μ€μ νλ€. (μμΉ 1μ μ§μ΄ μλλΌλ μ§μ΄ μλ€κ³ κ°μ νλ©΄ λ¨.)
κ·Έ νμλ λ λμ μμΉλ‘ μ¬λΌκ°μ. μμΉ 1μ μ΄λ―Έ μ§μ΄ μλ€κ³ κ°μ νκ³ κ°μ λ€ κ΅¬νμμΌλ―λ‘,
kκ° 2~100,000κΉμ§μ μμΉλ₯Ό κ°λ¦¬ν¨λ€λ©΄ μμμ kλ²μ§Έ μμΉμμ λ€μκ³Ό κ°μ νλμ ν μ μλ€.
kλ 2λΆν° 100,000κΉμ§..
2-1. value += (kμ k μ΄μ μ λ§μ§λ§μ λ΄€λ μ§μ μμΉμμ 거리차) * (kμμ λ³Έ μ§μ μ μΈν μ§κΈκΉμ§ λ΄μλ μ§μ μ)
2-2. value -= (kμ k μ΄μ μ λ§μ§λ§μ λ΄€λ μ§μ μμΉμμ 거리차) * (μ΄μ λ΄μΌν λ¨μ μ§μ μ + kμμ λ³Έ μ§μ μ)
2-3. if (μ§κΈμ value < μ΄μ value) {μ§κΈμ valueκ°μ μ μ₯, μ λ΅μΌλ‘ kλ₯Ό μ μ₯νλ€.} else {μ΄μ μ valueκ°μ μ μ₯}
// λ§μ½ λ§μ§λ§μ λ΄€λ μ§μ΄ μλ€λ©΄ value μ΄κΈ°κ°μ΄ 1μΌλ μμΉλ₯Ό κΈ°μ€μΌλ‘ μ€μ λμ΄ μμΌλ―λ‘ 1μ΄λΌ 보면 λλ€.
μ§μ κ°―μλ 무쑰건 1μ λκ² λμ΄μμΌλ―λ‘ 2λ² νλμ νλ²μ μ€ννκ² λμ΄ μκ³ ,
1μ μμΉμ μ§μ΄ μλ μλ μ΄κΈ° μ€μ ν valueκ°μ 2λ² νλμμμ valueκ°λ³΄λ€ 무쑰건 μκ±°λ κ°μΌλ―λ‘ λ¬Έμ λ κ» μλ€.
κ·Έ νμ μ λ΅μ μΆλ ₯νλ©΄ λ.
μ΄λ₯Ό μ½λλ‘ μμ±νλ©΄ λ€μκ³Ό κ°λ€.
π μλ‘κ² μκ²λ λ΄μ©
λ¨Έλ¦Ώμμ μλ λ΄μ©μ κΈλ‘ νμ΄μ°κΈ°λ μ΄λ ΅λ€.