USACO 1.3Ski Course Design
Posted 水郁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了USACO 1.3Ski Course Design相关的知识,希望对你有一定的参考价值。
n个点(n<=1000)大小范围[0,100],改变一些点的值,使得极差不超过17,代价为改变值的平方。
枚举修改后的最低高度low,维护最小代价。
/* TASK: skidesign LANG:C++ URL:http://train.usaco.org/usacoprob2?a=LxVrSLLAzuR&S=skidesign */ #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #define ll long long #define N 1005 using namespace std; int n,h[N]; int tol=0x3f3f3f3f; int sqr(int x){ return x*x; } int main() { freopen("skidesign.in","r",stdin); freopen("skidesign.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&h[i]); } sort(h+1,h+1+n); for(int low=h[1];low<=h[n]-17;low++){ int ans=0; for(int i=1;i<=n;i++){ if(h[i]<low)ans+=sqr(low-h[i]); else if(h[i]>low+17)ans+=sqr(h[i]-low-17); } tol=min(tol,ans); } printf("%d\n",tol); }
以上是关于USACO 1.3Ski Course Design的主要内容,如果未能解决你的问题,请参考以下文章
[USACO14JAN]滑雪等级Ski Course Rating
洛谷 P3650 [USACO1.3]滑雪课程设计Ski Course Design