light oj 1084 线性dp
2016-08-09 19:44
253 查看
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <queue> #define ll long long using namespace std; const int N = 1e5+1000; int a ,dp ; void solve() { int n,k; scanf("%d %d",&n,&k); for(int i = 0; i < n; i++) { scanf("%d",&a[i]); } sort(a,a+n); memset(dp,0,sizeof(dp)); for(int i = n-1; i >= 0; i--) { dp[i] = 0x3f3f3f; int j = upper_bound(a,a+n,a[i]+2*k)-a; if(j - i >= 3) dp[i] = min(dp[j]+1,dp[i]); if(j - i >= 4) dp[i] = min(dp[j-1]+1,dp[i]); if(j - i >= 5) dp[i] = min(dp[j-2]+1,dp[i]); } if(dp[0] == 0x3f3f3f) printf("-1\n"); else printf("%d\n",dp[0]); } int main(void) { int t,cnt = 0; scanf("%d",&t); while(t--) { printf("Case %d: ",++cnt); solve(); } return 0; }
相关文章推荐
- light oj 1047 - Neighbor House(线性DP)
- Light OJ 1084 线段树+dp or(单调队列+dp) 水题
- bzoj 1084: [SCOI2005]最大子矩阵 (DP)
- Light OJ 1031---Easy Game(区间DP)
- Light OJ 1004 - Monkey Banana Problem dp
- UVA 11258 String Partition(线性DP)
- light oj 1205 - Palindromic Numbers 数位DP
- HDU 1003 Max Sum(线性DP)
- HDU 1024 Max Sum Plus Plus【线性dp】
- POJ 2479-Maximum sum(线性dp)
- light oj 1021 状态压缩dp
- Codeforces 698A Vacations(线性DP)
- HDU 1087 Super Jumping! Jumping! Jumping! (线性dp)
- POJ 1925 Spiderman(线性dp)
- bzoj1084: [SCOI2005]最大子矩阵(dp)
- LightOJ 1047 Neighbor House (线性dp 类数字三角形)
- Light OJ 1283 Shelving Books (区间DP)
- light oj 1017 - Brush (III) (dp)
- POJ2479【线性DP】
- [线性DP]奶牛的锻炼