zoukankan      html  css  js  c++  java
  • SRM 624 Building Heights DivI 解读

    几乎相同的一标题。欲了解更多请参阅:http://community.topcoder.com/stat?c=problem_statement&pm=13211&rd=15857

    思维:

    1 序列

    2 大厦的当前数量的计算i时候,全部可能的最小建筑物改动数

    3 每次计算i+1的时候。全部可能的最小建筑物改动数

    4 同一时候能够比較得到i+1的时候最小改动数

    得到的程序也不复杂

    #include <vector>
    #include <algorithm>
    #include <limits.h>
    #include <math.h>
    using namespace std;
    
    class BuildingHeights
    {
    public:
    int minimum(vector<int> heights)
    {
    	int n = (int)heights.size();
    	sort(heights.begin(), heights.end());
    	vector<int> cost(n, 0);
    
    	int ans = 0;
    	for (int i = 0; i < n-1; i++)
    	{
    		int c = INT_MAX;
    		for (int j = n-1; j > i; j--)
    		{
    			cost[j] = cost[j-1] + (heights[j]-heights[j-1])*(i+1);
    			c = min(c, cost[j]);
    		}
    		ans ^= c;
    	}
    	return ans;
    }
    };



    版权声明:笔者心脏靖,景空间地址:http://blog.csdn.net/kenden23/,可能不会在未经作者同意转载。

  • 相关阅读:
    龇牙咧嘴过中秋
    构建XML的架构文件XSD
    见龙卸甲
    陈忠和哭了
    山本五十六
    XML文件用做资源
    洗牙洗鼻洗屁股
    MS SQL导入平面文件源
    残奥会开幕式
    转身十年
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4710401.html
Copyright © 2011-2022 走看看