hani_verse :: aim_higher
article thumbnail

μ•ˆλ…•ν•˜μ„Έμš” aim_higher μž…λ‹ˆλ‹€.

μ½”λ“œν¬μŠ€ Round #811 (Div. 3) μ½”λ“œλ¦¬λ·° 및 μ—…μ†”λΉ™μž…λ‹ˆλ‹€.


A. Everyone Loves to Sleep

https://codeforces.com/contest/1714/problem/A

  • Implementation(κ΅¬ν˜„)

 

Hμ‹œ M뢄에 VladλΌλŠ” μΉœκ΅¬κ°€ μž μ„ μž‘λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, n개의 μ•ŒλžŒλ“€μ΄ 섀정이 λ˜μ–΄μžˆμ–΄ Vlad의 μ•ŒλžŒμ΄ μšΈλ¦¬λŠ” μˆœκ°„ μˆ˜λ©΄μ€ μ’…λ£Œλ©λ‹ˆλ‹€.

μ΄λ•Œ, Vladκ°€ μ–Όλ§ˆλ‚˜ μž μ„ 잘 수 μžˆλŠ”μ§€λ₯Ό 좜λ ₯ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

 

μ΄λ•Œ, μœ μ˜ν•˜μ…”μ•Ό ν•  점이 μžˆλŠ”λ°μš”

μž λ“  μ‹œκ°„ 이전에 μ„€μ • λ˜μ–΄μžˆμ–΄μ„œ 듣지 λͺ»ν–ˆλ˜ μ•ŒλžŒλ“€μ€

λ‹€μŒ 날에도 같은 μ‹œκ°„μ— μšΈλ¦°λ‹€λŠ” μ μž…λ‹ˆλ‹€.


μ•ŒλžŒμ˜ μ‹œμ™€ 뢄을 {h*60+m}ν˜•νƒœλ‘œ μž…λ ₯λ°›κ³ ,

μœ„μ— μ„€λͺ…ν•œ κ²ƒμ²˜λŸΌ μž λ“  μ‹œκ°„ 이전에 μ„€μ •λœ μ•ŒλžŒλ“€μ€ 24hλ₯Ό μΆ”κ°€ν•΄μ€¬μŠ΅λ‹ˆλ‹€.

받은 μž…λ ₯값듀을 μ˜€λ¦„μ°¨μˆœμœΌλ‘œ sortν•΄μ£Όμ–΄ κ°€μž₯ μž‘μ€ 값을 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλ ‡λ‹€λ©΄, "κ°€μž₯ μž‘μ€ κ°’ - μž λ“  μ‹œκ°„"이 정닡이 λ˜κ² λ„€μš”.

 

λ¬Όλ‘ , μ œκ°€ μ‹œκ°„μ„ μž„μ˜λŒ€λ‘œ λ³€ν™˜ν•˜κ³  "μ—°μ‚°"을 μ§„ν–‰ν–ˆκΈ° λ•Œλ¬Έμ—

m이 60이상인 κ²½μš°μ—λŠ” h둜 λ³€ν™˜ν•΄μ£ΌλŠ” μž‘μ—…μ„ κ±°μ³μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

이러면 μ•„λ¬΄λŸ° λ¬Έμ œμ—†μ΄ 정닡을 좜λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


B. Remove Prefix

https://codeforces.com/contest/1714/problem/B

  • Greedy(그리디)

Polycarp은 n개의 길이둜 λ˜μ–΄μžˆλŠ” μ •μˆ˜λ‘œ 이루어진 μˆœμ—΄μ΄ μžˆμŠ΅λ‹ˆλ‹€.

각 μ›μ†Œμ˜ indexλ₯Ό i, μˆ˜μ—΄μ˜ 각 μ •μ†Œ μ›μ†Œλ₯Ό ai라고 ν•  λ•Œ

iλ₯Ό μ •μ˜μ—­, aiλ₯Ό μΉ˜μ—­μ΄λΌκ³  μƒκ°ν•œλ‹€λ©΄ μΌλŒ€μΌ ν•¨μˆ˜λ₯Ό 이루어야 Polycarp이 행볡해진닀고 ν•©λ‹ˆλ‹€.

즉, μ„œλ‘œ λ‹€λ₯Έ indexκ°’μ—μ„œ ν•΄λ‹Ή index에 λŒ€μ‘λ˜λŠ” μ›μ†Œκ°’ ai이 같은 κ²½μš°κ°€ λ‚˜μ™€μ„œλŠ” μ•ˆλœλ‹€λŠ” κ²λ‹ˆλ‹€.

 

Polycarp이 μœ„μ™€ 같이 ν–‰λ³΅ν•΄μ§€λŠ” μˆ˜μ—΄μ„ λ§Œλ“€κΈ° μœ„ν•΄μ„œ

μˆ˜μ—΄μ˜ κ°€μž₯ μ™Όμͺ½ μ›μ†Œλ₯Ό μ œκ±°ν•˜λŠ” 연산을 진행할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ΅œμ’…μ μœΌλ‘œ, λͺ‡λ²ˆμ˜ μ΅œμ†Œν•œμ˜ 연산을 거쳐야 Polycarp이 ν–‰λ³΅ν•΄μ§ˆ 수 μžˆλŠ”μ§€λ₯Ό 좜λ ₯ν•˜λ©΄ λ©λ‹ˆλ‹€.


이 λ¬Έμ œλŠ” μ™Όμͺ½μ—μ„œ μ‚­μ œν•˜λŠ” 연산이라 μ™Όμͺ½μ— μ§‘μ€‘ν•˜μ—¬ μ‹€μ œλ‘œ μ œκ±°ν•˜λ €κ³  ν•˜μ‹œλ©΄ μ•ˆλ˜κ³ ,

보자마자 였λ₯Έμͺ½λΆ€ν„° μˆœνšŒν•˜λ©° μ›μ†Œλ₯Ό memoν•˜μ—¬ μ€‘λ³΅λ˜λŠ” μˆ«μžκ°€ μžˆλŠ” μ‹œμ μ—μ„œ λ©ˆμΆ”μ‹œλ©΄ λ©λ‹ˆλ‹€.

 

예제 1λ₯Ό 예둜 λ“€μžλ©΄,

[3  1  4  3]μ—μ„œ 였λ₯Έμͺ½ λΆ€ν„° μˆœνšŒν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

3 (3 : 1개)

4 (3 : 1개 / 4 : 1개)

1 (1 : 1개 / 3 : 1개 / 4 :1개)

3 (3: 2개??) → STOP

 

μ΄λŸ¬ν•œ μ ‘κ·Ό 방식이 κ²°κ΅­ μ™Όμͺ½μ—μ„œ μ œκ±°ν•˜λŠ” 효과λ₯Ό λ‚΄κ²Œλ©λ‹ˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ 정닡은 μ‰½κ²Œ λ‚˜μ˜΅λ‹ˆλ‹€. μ €λŠ” c++ map을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.


C. Minimum Varied Number

https://codeforces.com/contest/1714/problem/C

  • Greedy(그리디)

1λΆ€ν„° 45μ‚¬μ΄μ˜ 수λ₯Ό ν•˜λ‚˜ λ˜μ Έμ€λ‹ˆλ‹€. (1μ—μ„œ 9κΉŒμ§€μ˜ 합이 45라 λ°”λ‘œ λŠλ‚Œμ˜€μ£ ?)

1λΆ€ν„° 9κΉŒμ§€μ˜ 숫자 μ€‘μ—μ„œ μ„œλ‘œ λ‹€λ₯Έ 숫자λ₯Ό 쀑볡없이 μΆ”μΆœν•˜μ—¬ ν•©ν•΄μ„œ 주어진 수λ₯Ό λ§Œλ“€λ©΄ λ©λ‹ˆλ‹€.

μ΄λ•Œ ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ 숫자의 개수λ₯Ό 좜λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.


μ†”μ§νžˆ λ§ν•˜λ©΄ 이 λ¬Έμ œλŠ” A번 문제 μˆ˜μ€€μœΌλ‘œ λ„ˆλ¬΄ μ‰½μŠ΅λ‹ˆλ‹€.

κ·Έλƒ₯ 9λΆ€ν„° 1κΉŒμ§€ μˆœνšŒν•˜λ©΄μ„œ μ“Έ 수 μžˆλŠ” 건 μ΅œλŒ€ν•œμœΌλ‘œ μ“°λ©΄ λ©λ‹ˆλ‹€.

μ‚¬μš©ν•œ 숫자의 개수λ₯Ό λ”ν•΄μ„œ 좜λ ₯ν•˜λ©΄ μ •λ‹΅μž…λ‹ˆλ‹€(...)


D. Color with Occurrences

https://codeforces.com/contest/1714/problem/D

  • Greedy(그리디)

λ‘œμ§μ€ λ°”λ‘œ μ§°λŠ”λ° κ΅¬ν˜„μ΄ λ„ˆλ¬΄ ν‚Ήλ°›μ•„μš”.

μ•ˆν•΄

profile

hani_verse :: aim_higher

@aim_higher

ν¬μŠ€νŒ…μ΄ μ’‹μ•˜λ‹€λ©΄ "μ’‹μ•„μš”β€οΈ" λ˜λŠ” "κ΅¬λ…πŸ‘πŸ»" ν•΄μ£Όμ„Έμš”!