-
Notifications
You must be signed in to change notification settings - Fork 2
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
35-H0ngJu #258
Conversation
μ μ κΉ,,, μ΄ λ¬Έμ μμ μ νμμλλ° μ§κΈ λ€μ 보λκΉ λμ μ§μμ LISμΈκ±°λ νμΈνκ³ νλΌκ³ ν΄μ·λ€ μν리λλ°,,, |
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.
import java.util.*;
import kotlin.math.*;
fun main() {
val linesCount = readln().toInt()
val lines = mutableListOf<Pair<Int, Int>>()
repeat(linesCount) {
val (x,y) = readln().split(" ")
.map{ it.toInt() }
lines.add(x to y)
}
val sortedLines = lines.sortedBy({it.first}).map{ it.second }
val dp = IntArray(linesCount) { 1 }
for(idx in 1 until lines.size){
val now = sortedLines[idx]
for(prevIdx in 0 until idx){
val prevValue = sortedLines[prevIdx]
if(prevValue < now){
dp[idx] = max(dp[idx], dp[prevIdx]+1)
}
}
}
println(linesCount - dp.max())
}
μ λΆλͺ μμ μ νμλ λ¬Έμ λ° λ€μ 보λκΉ κΈ΄κ°λ―Όκ° ν΄μ...
LISμΈκ±°λ μκ³ μμλλ°,,, μν리λλΌκ³ μ....
λλΆμ 리λ§μΈλ μνμ΅λλ€.... λ‘λ² κ°~~~~~~~~
import java.util.*;
fun main() {
val linesCount = readln().toInt()
val lines = mutableListOf<Pair<Int, Int>>()
repeat(linesCount) {
val (x,y) = readln().split(" ")
.map{ it.toInt() }
lines.add(x to y)
}
val sortedLines = lines.sortedBy({it.first}).map{ it.second }
val lis = mutableListOf(sortedLines[0])
for(idx in 1 until lines.size){
val now = sortedLines[idx]
if(lis.last() < now) {
lis.add(now)
continue
}
var left = -1
var right = lis.size
while (left+1<right) {
val mid = (left+right)/2
if(check(lis, mid, now)){
left = mid
} else {
right = mid
}
}
lis[left+1] = now
}
println(linesCount - lis.size)
}
fun check(lis:List<Int>, mid:Int, elem:Int): Boolean {
if(lis[mid] < elem){
return true
}
return false
}
μμκ» DPμμ°κ΅¬ μ΄λΆνμμΌλ‘ μ¨μ μκ°μ λ μ€μΈ LIS!!!
π λ¬Έμ λ§ν¬
μ κΉμ€
βοΈ μμλ μκ°
μΈ‘μ λΆκ°
β¨ μλ μ½λ
κΈμμΌμ μμν΄μ,, νλ λλ§λ€ κ³μ κ³ λ―Όμ νλλ°μ
μ κ·Ό λ°©λ²μ΄ 1λ λ μ€λ₯΄μ§ μμμ΅λλ€.
ꡬνλ μλ κ² κ°κ³ ,, λ¬΄μ¨ μκ³ λ¦¬μ¦μ μ¨μΌνλμ§ κ°λ₯μ΄ μ보μ΄λλΌκ³ μ.
μΌλ¨ λ¬Έμ μμ μ£Όμ΄μ§ μμλ‘ λ³΄λ©΄,
μλ‘ μ°κ²°λ Aμ Bκ° λ€μ μ κΉμ€μ A Bλ³΄λ€ μμΌλ©΄ κ²ΉμΉμ§ μκΈ° λλ¬Έμ ν΄λΉ λ°©μμΌλ‘ μμ μΌ ν μ΅μ μ κΉμ€μ μ μ μμ§ μμκΉ? νμ΅λλ€.
(μ κΉμ€ μ°κ²° μ 보λ€μ sortνλ€κ³ κ°μ νκ² μ΅λλ€)
νμ§λ§ μλμ μΌμ΄μ€μμ μμΈκ° λ°μν©λλ€.
μ 보λ€μ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬νκ³ , νλμ© κΊΌλΈλ€λ κ°μ μ΄λ©΄,
5 - 1μ΄ λ¨Όμ μ νμ΄ λμκ³ , λ¨μμμ κ²½μ°λ A < 5 and B < 1μ λλ€.
ν΄λΉ λ‘μ§μ κ²°κ³Όλ μμ μΌν μ΅μ μ κΉμ€μ΄ 4κ° λ©λλ€.
μ€μ λ‘λ 1μΈλ° λ§μ΄μ£ ..
μ λ ¬μ μ€λ¦μ°¨μμ νλ€ν΄λ μ μμμμ 1-5κ° μ°κ²°λ μνλΌλ©΄ μμ μ€λ₯κ° λ°μν©λλ€.
κ·Έλ κ²,, κ³μ κ³μ κ³ λ―Όνλλ°,,,
μ무리 μκ°ν΄λ
무μμ λ¨Όμ 체ν¬νλμ λ°λΌ κ·Έμ λν μν₯μ΄ λ· μ€μλ κ° μ λ°μ μλλ°,,
그리λνκ² μ κ·Όν΄μΌνλ λ¬Έμ μΈκ°?? νλ©΄μ λ¨Έλ¦¬κ° ν°μ‘μ΅λλ€..
λ¨Όκ° μ λ λ―λ§λ― λ λ―λ§λ― λ λ―λ§λ―κ²°κ΅ μ€λ μμΉ¨λμμΌ λ νΌλ°μ€ νμΈνλ€μ
κ²°λ‘ λΆν° λ§νλ©΄ DPμ λλ€........................
LIS κ°λ μ΄ λ€μ΄κ°μ
κ° μ κΉμ€μ ννκ³
ν΄λΉ μ κΉμ€μ΄ λ§μ§λ§ μ κΉ μ€μ΄λΌκ³ μκ°νκ³ κ²ΉμΉμ§ μκ² λ§λ€ μ μλ μΌμ΄μ€λ₯Ό dpμ μ μ₯ν©λλ€.
-> μ΄λ 쑰건μ
μ μ κΉμ€μ B < νμ¬ μ κΉμ€ B
μ λλ€.κ°μ₯ κΈ΄ μ¦κ°νλ λΆλΆ μμ΄
μμ© λ¬Έμ μΈ κ² κ°λ€μ.
DPλ‘ νμ΄μΌνλ 건 μ€μ μ§μ§ μκ°λ λͺ»νλ€μ π€―
π μλ‘κ² μκ²λ λ΄μ©