Uva 11300 By ACReaper
来源:互联网 发布:房子夕晒软件 编辑:程序博客网 时间:2024/05/17 21:56
这道题真的是太妙了!模型的转化,建立确实重要!学习了。
定理
1.对于线段上的点,其中点到所有点的距离之和为最短。
证明:
点数为偶数,则在中间两点见的任意位置移动,距离都不变!(可取偏左,偏右都一样)
点数为奇数,则中间点本来就存在,改点即为中间点
某型的建立:设xi表示第i点给第i - 1点的金币。则最小金币数即是|x1| + |x2| + .... + |xn|
代码如下:
#include <cstdio>#include <algorithm>using namespace std;#define MAXN 1000000 + 10long long A[MAXN];long long C[MAXN];int n; int main(){while(scanf("%d",&n) != EOF){long long tot =0;for(int i = 1; i <= n; i++){scanf("%lld", A + i);tot += A[i];}long long M = tot / n;C[0] = 0;for(int i = 1; i < n; i++){C[i] = C[i - 1] + A[i] - M;}sort(C,C + n);long long ans = 0,o = C[n / 2];for(int i = 0; i < n; i++){ans += abs(C[i] - o);}printf("%lld\n",ans);}return 0;}
By ACReaper
2013 05 06
- Uva 11300 By ACReaper
- UVA 567 By ACReaper
- UVA 10034 By ACReaper
- uva 10369 By ACReaper
- uva 10369 By ACReaper
- UVA 10986 By ACReaper
- UVA 10801 By ACReaper
- UVA 558 判断负环 By ACReaper
- 帕斯卡恒等式 By ACReaper
- 范德蒙很等式 By ACReaper
- 幂取模(数论初步) By ACReaper
- 离散概率初步 By ACReaper
- 表达式树(图论) By ACReaper
- 生成下一个排列 By ACReaper
- 流网络浅析 By ACReaper
- QuickSort简解(分治思想) By ACReaper
- Huffman算法(贪心算法) By ACReaper
- 最优三角划分(动态规划) By ACReaper
- vb6.0做一个半透明窗体(全透)
- Windows API一日一练(70)GetSystemTime和GetLocalTime函数
- 视频流中的DTS/PTS
- IPV6 路由设置
- ubuntu mysql-5.1.62源码安装
- Uva 11300 By ACReaper
- php对文件的操作
- 创建Handler时,绑定到(指定线程的)消息循环
- 通过对系统分派表的直接还原,防御内核本地API钩子(翻译) 分享
- 虚拟机fedora15中tftp传送文件至开发板(linux)
- 零基础学软件测试之基础篇
- GDB 命令调试
- oracle释放零时表空间
- F1~F12在Windows系统中的作用