POJ 1701
/*
Every tenant went up N floors would make the dissatisfied degree rise N * a + 0.5 * N * (N - 1) degrees,
every tenant went down N floors would make the dissatisfied degree rise N * b + 0.5 * N * (N - 1) degrees. △= Dp+1 – Dp
= ∑1=<i<=p Ki*(b+p-i)) - ∑p<i<=n Ki*(a+i-p-1)
= ∑1=<i<=n Ki * i +(b+p)*∑1=<i<=p Ki - (a-p-1)∑p<i<=n Ki
*/ #include <iostream>
#define MAXN 10001
using namespace std; __int64 _m[MAXN+];
int k[MAXN+];
__int64 p_2[MAXN+];
__int64 p_3[MAXN+];
int k_1[MAXN];
int k_2[MAXN]; int main()
{
//freopen("acm.acm","r",stdin);
int test;
int n;
int i;
int j;
int p_1;
int a;
int b;
scanf("%d",&test);
while(test --)
{
scanf("%d",&n);
scanf("%d",&a);
scanf("%d",&b); for(i = ; i <= n; ++ i)
{
scanf("%d",&k[i]);
} for(i = ; i <= n; ++ i)
{
k_1[i] = k_2[i] = k[i];
} for(i = n-; i >=; -- i)
{
k_2[i] += k_2[i+];
} for(i = ; i <= n; ++i)
{
k_1[i] += k_1[i-];
} p_1 = ;
for(i = ; i <= n; ++ i)
{
p_1 += k[i]*i;
} for(i = ; i <= n; ++ i)
{
p_2[i] = (b + i)*k_1[i];
} for(i = ; i <= n; ++ i)
{
k_2[i] -= k[i];
} copy(k_2,k_2+n+,p_3); for(i = ; i <= n; ++ i)
{
p_3[i] *= (a-i-);
}
_m[] = ;
for(i = ; i <= n; ++ i)
{
_m[] += (i-)*a+((i-)*(i-)/);
} for(i = ; i <= n; ++ i)
{
_m[i] = _m[i-] - p_1 + p_2[i-] - p_3[i-];
} __int64 min = ; int place; for(i = ; i <= n; ++ i)
{
if(_m[i] < min)
{
min = _m[i];
place = i;
}
}
cout<<place<<endl;
}
}
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。

技术网站地址: vmfor.com
POJ 1701的更多相关文章
- poj 1701【数学几何】
The area Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- POJ 题目分类(转载)
Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...
- (转)POJ题目分类
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. ...
- poj分类
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. ( ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- POJ题目分类(转)
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- POJ题目(转)
http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期:一.基本算法: (1)枚举. (poj1753,poj29 ...
随机推荐
- PHP性能分析
内容来自以下站点整理http://jingyan.baidu.com/article/ff4116257e0d5112e48237a0.html关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言 ...
- 2013-07-26 IT 要闻速记快想
### ========================= ###传Google正在内测供用户买卖技能的电商平台Helpout,最早于下月上线该服务将依托Google强大的云服务和搜索能力,以实时视频 ...
- Global::pickSpecificTable_DNT
/*************************************************** Created Date: 13 Jul 2013 Created By: Jimmy Xie ...
- 深入理解JavaScript的变量作用域(转载Rain Man之作)
在学习JavaScript的变量作用域之前,我们应当明确几点: JavaScript的变量作用域是基于其特有的作用域链的. JavaScript没有块级作用域. 函数中声明的变量在整个函数中都有定义. ...
- PAT乙级真题1016.部分A+B(15)(2016-4-28)
原题: 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA.例如:给定A = 3862767,DA ...
- HighCharts学习笔记
目录 xAxis自定义时间刻度的显示 xAxis自定义时间刻度 我们先来看下HighCharts图表的xAxis对象有哪些属性(红色标记重要属性): allowDecimals: Booleancat ...
- 定位表的数据块并且dump出来
SQL> select * from city; ID NAME ---------- ---------- 7 Chicago 6 Jers ...
- 【js】undefined
alert(a); function name(parameters) { alert(parameters); } var a; name(a); ---输出结果--- underfind unde ...
- 如何调优JVM - 优化Java虚拟机(大全+实例)
堆设置 -Xmx3550m:设置JVM最大堆内存 为3550M. -Xms3550m:设置JVM初始堆内存 为3550M.此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存. -X ...
- php的public、protected、private三种访问控制模式的区别
public: 公有类型 在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法 在实例中可以能过$obj->var 来调用 public类型的方 ...