zoukankan      html  css  js  c++  java
  • POJ2456 Agressive Cows

    Code

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<queue>
    #define N 100001
    using namespace std;
    int x[N],n,m;
    bool Judge(int d){
    	int last = 1;
    	for(int i = 2;i <= m;++i){
    		int crt = last + 1;
    		while(crt <= n && x[crt] - x[last] < d) ++crt;
    		if(crt == n + 1) return 0;
    		last = crt;
    	}
    	return 1;
    }
    void solve(){
    	sort(x + 1,x + n + 1);
    	int lb = 0,ub = 1000000001;
    	while(lb + 1 < ub){ //边界?
    		int mid = (lb + ub)/2;
    		if(Judge(mid)) lb = mid;
    		else ub = mid;
    	}
    	printf("%d",lb);
    }
    int main(){
    	scanf("%d %d",&n,&m);
    	for(int i = 1;i <= n;++i){
    		scanf("%d",&x[i]);
    	}
    	solve();	
    	return 0;
    }
    
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<queue>
    #define N 100001
    using namespace std;
    int x[N],n,m;
    bool Judge(int d){
    	int last = 1;
    	for(int i = 2;i <= m;++i){
    		int crt = last + 1;
    		while(crt <= n && x[crt] - x[last] < d) ++crt;
    		if(crt == n + 1) return 0;
    		last = crt;
    	}
    	return 1;
    }
    void solve(){
    	sort(x + 1,x + n + 1);
    	int lb = 0,ub = 1000000001;
    	while(lb <= ub){
    		int mid = (lb + ub)/2;
    		if(Judge(mid)) lb = mid + 1; // ans = mid
    		else ub = mid - 1;
    	}
    	printf("%d",lb - 1);//printf("%d",&ans);
    }
    int main(){
    	scanf("%d %d",&n,&m);
    	for(int i = 1;i <= n;++i){
    		scanf("%d",&x[i]);
    	}
    	solve();		
    	return 0;
    }
    

    https://www.luogu.org/blog/tarjanfloydDP/qian-tan-er-fen-di-bian-jie-wen-ti#

    岂能尽如人意,但求无愧我心
  • 相关阅读:
    vue动态改变样式
    前端上传到七牛云图片
    vue实现发送验证码60秒
    移动端使用lib-flexible
    作用域插槽
    vue中的keep-alive
    vue优化
    vue动画move的实现
    vue自带的动画效果
    v-model的理解
  • 原文地址:https://www.cnblogs.com/Zforw/p/10692539.html
Copyright © 2011-2022 走看看