# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
930204 | Lib | Aliens (IOI16_aliens) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
//Aliens - Knuth opt variant
using namespace std;
long long dp[5000][5000]; //dp[i][k]: Minimum cost for covering the first i segments with k pictures (obviously i>=k)
long long opt[5000][5000];
//Why tf are there segments here? Refer to the official editorial for that - the expaination seems good enough
struct seg{
long long Start;
long long End;
}
seg Segments[5003];
//Custom sort function for removing uneeded segments. If a segment which starts at L and end at R is kept, alongside with another segment which starts at L' and end as R', and L'<= L <= R <= R' (aka: The segment is completely covered), the DP will become absolute shitfuckery and extremely wrong (trust me, I thought it would work but it didn't)
bool operator< (const seg &x, const seg &y){
if(x.Start==y.Start){
return x.End>y.End;
}else{
return x.Start<y.Start;
}
}
long long take_photos(int N,int M, int K, vector <int> Rows, vector <int> Columns){
return 0;
}