zoukankan      html  css  js  c++  java
  • A1044 Shopping in Mars (25 分)

    一、技术总结

    1. 可以开始把每个数都直接相加当前这个位置的存放所有数之前相加的结果,这样就是递增的了,把i,j位置数相减就是他们之间数的和。
    2. 需要写一个函数用于查找之间的值,如果有就放返回大于等于这个数的右下标,函数中采用引用的传参方式,就不需要返回值了。
    3. 在处理存放下标问题上,如果发现有更小的数时,直接清空之前存放的值。

    二、参考代码

    #include<algorithm>
    #include<iostream>
    #include<vector>
    using namespace std;
    int n, m;
    vector<int> sum, result;
    void Func(int i, int &j, int &tempsum){
    	int left = i, right = n;
    	while(left < right){
    		int mid = (left + right)/2;
    		if(sum[mid] - sum[i-1] >= m){
    			right = mid;
    		}else{
    			left = mid + 1;
    		}
    	}
    	j = right;
    	tempsum = sum[j] - sum[i-1];
    }
    int main(){
    	cin >> n >> m;
    	sum.resize(n+1);
    	for(int i = 1; i <= n; i++){
    		scanf("%d", &sum[i]);
    		sum[i] += sum[i-1];
    	}
    	int minans = sum[n];
    	for(int i =1; i <= n; i++){
    		int j, tempsum;
    		Func(i, j, tempsum);
    		if(tempsum > minans) continue;
    		if(tempsum >= m){
    			if(tempsum < minans){
    				result.clear();
    				minans = tempsum;
    			}
    			result.push_back(i);
    			result.push_back(j);
    		}
    	}
    	for(int i = 0; i < result.size(); i += 2){
    		printf("%d-%d
    ", result[i], result[i+1]);
    	}
    	return 0;
    }
    
    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    hdu 5723 Abandoned country 最小生成树 期望
    OpenJ_POJ C16G Challenge Your Template 迪杰斯特拉
    OpenJ_POJ C16D Extracurricular Sports 打表找规律
    OpenJ_POJ C16B Robot Game 打表找规律
    CCCC 成都信息工程大学游记
    UVALive 6893 The Big Painting hash
    UVALive 6889 City Park 并查集
    UVALive 6888 Ricochet Robots bfs
    UVALive 6886 Golf Bot FFT
    UVALive 6885 Flowery Trails 最短路
  • 原文地址:https://www.cnblogs.com/tsruixi/p/11877616.html
Copyright © 2011-2022 走看看