codeforces883I 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rule
来源:互联网 发布:吴彦祖 知乎 编辑:程序博客网 时间:2024/06/03 17:25
这题还是不错的,题目条件很容易想到是二分答案去做,大于k的集合的划分为了满足一个最小化最大值,这是一个二分的条件。问题是怎么check,在下只想出了笨办法,n的遍历再更新线段树,所以总共nlogn91og10,肯定是可以做的,但是烦。能很快想出dp的做法也是本事。
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <string>#include <vector>#include <stack>#include <bitset>#include <cstdlib>#include <cmath>#include <set>#include <list>#include <deque>#include <map>#include <queue>using namespace std;typedef long long ll;#define maxn 300010int a[maxn];int dp[maxn];int k,n;int check (int mid){ int i; int last = 0; for (i=k;i<=n;i++){ int j = dp[i-k]; if (a[i]-a[j+1]<=mid) last=i; dp[i]=last; } return dp[n]==n;}int main (){ int i; scanf ("%d%d",&n,&k); for(i=1;i<=n;i++){ scanf ("%d",&a[i]); } sort (a+1,a+1+n); int l =-1,r = 1e9+10; int ans; if (k==1) ans = 0; else {while (r-l>1){ int mid= (l+r)/2; if (check(mid)) r=mid; else l = mid; } ans = r; } printf("%d\n",ans);}
阅读全文
0 0
- codeforces883I 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rule
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer
- Codeforces 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror)
- codeforces H. Delete Them(2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, )
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J Bottles
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J dp
- SDUT1114Single Contest codeforces883 I+M 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest Union of Doubly Linked Lists
- codeforces/2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest, qualification stage (B)
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest M. Quadcopter Competition
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest F. Lost in Transliteration
- c++学习记录1
- Mybatis框架对log4j日志的支持
- 编写第一个 Hibernate 例子
- leetcode---median-of-two-sorted-arrays---链表
- java 计算过去的时间到今天的时间段
- codeforces883I 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rule
- [LeetCode] 32. Longest Valid Parentheses
- RGB颜色值存储为无符号整数(包括还原RGB)【附完整源码】
- Nginx
- 卷积神经网络的直观解释
- java-继承
- [BZOJ3942][Usaco2015 Feb]Censoring(kmp)
- 知识点总结
- hi3518SDK 目录树