Q1028 - Unit7 - 堆积木

From Admin    Normal (OI)
总时限:10s    内存限制:128MB    代码长度限制:64KB

描述 Description

现在有N块积木,每块积木都有自重Weight和正常状态下的承重能力Force,现在要把这N块积木垂直的垒在一起,但是有可能某块积木的负重超过了它在正常状态下的承重能力,那么这块积木就有被压坏的危险,请问应该如何堆这N块积木使得N块积木中最大的压力指数最小。

这里定义压力指数为该积木的负重与其在正常状态下的承重能力的差值。

输入格式 InputFormat

第一行为一个正整数N,表示有N块积木。
第二行到第 N+1 行,每行两个整数数,分别是第i个积木的Weight和Force

输出格式 OutputFormat

输出共一行,表示最大压力指数的最小值。

样例输入 SampleInput [复制数据]

2
100 0
1000 100

样例输出 SampleOutput [复制数据]

0

数据范围和注释 Hint

样例解释:
把Weight为100的积木放在Weight为1000的积木上,下面积木的压力指数为100 - 100 = 0,另外一块积木的压力指数和它的相等。

对于30% 的数据,1 <= N <= 3
对于60% 的数据,1 <= N <= 1000
对于100%的数据,1 <= N <= 50000
对于100%的数据,1 <= Weight <= 10000,1 <= Force <= 10^9

时间限制 TimeLimitation

1s

来源 Source

tjz

对于最优方案:

因为F(N)-(w1+w2+..wn-1)<F(1)-(w2+...+wn-1+wn)

化简得  F(n)+wn<F1+w1

调整ing。。。

也就是说对于最优方案有 Fi+wi<Fi-1+wi-1

Program block;
uses math;
constmaxn=50000;
varn,i,j,ans,totw:longint;w,f:array[1..maxn] of longint;procedure qsort(l,r:longint);
vari,j,m,p:longint;
begini:=l;j:=r;m:=w[(i+j) div 2]+f[(i+j) div 2];repeatwhile (w[i]+f[i]<m) do inc(i);while (w[j]+f[j]>m) do dec(j);if i<=j thenbeginp:=w[i];w[i]:=w[j];w[j]:=p;p:=f[i];f[i]:=f[j];f[j]:=p;inc(i);dec(j);end;until i>j;if (l<j) then qsort(l,j);if (i<r) then qsort(i,r);
end;
beginread(n);for i:=1 to n dobeginread(w[i],f[i]);end;qsort(1,n);ans:=-f[1];totw:=0;for i:=1 to n dobeginans:=max(ans,totw-f[i]);inc(totw,w[i]);end;writeln(ans);end.

Tyvj Q1028(调整法)相关推荐

  1. TYVJ P1080 N皇后 Label:dfs PS:以前做的一道题,贴出来防忘

    描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 5来描 ...

  2. |Tyvj|动态规划|P1004 滑雪

    http://tyvj.cn/p/1004 由于考虑高度问题,确保每个值都算出来,这里用的是记忆化搜索. #include<cstdio> #include<cstring> ...

  3. BZOJ 3224: Tyvj 1728 普通平衡树 treap

    3224: Tyvj 1728 普通平衡树 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  4. BZOJ 3223: Tyvj 1729 文艺平衡树(splay)

    速度居然进前十了...第八... splay, 区间翻转,用一个类似线段树的lazy标记表示是否翻转 ------------------------------------------------- ...

  5. TYVJ 2002 扑克牌 题解

    P2002 扑克牌 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 Admin生日那天,Rainbow来找Admin玩扑克牌-- 玩着玩着Rainbow觉得太 ...

  6. 【TYVJ】1359 - 收入计划(二分)

    http://tyvj.cn/Problem_Show.aspx?id=1359 一开始是一眼看出是二分的,因为这里有单调性,因为取钱是一次取完并且是连续的. 所以最优取法就是准备达到某个价值再取.最 ...

  7. bzoj3224: Tyvj 1728 普通平衡树(splay)

    3224: Tyvj 1728 普通平衡树 题目:传送门 题解: 啦啦啦啦又来敲个模版水经验啦~ 代码: 1 #include<cstdio> 2 #include<cstring& ...

  8. [Tyvj 1729] 文艺平衡树

    题面如下: Tyvj 1729 文艺平衡树 Time Limit: 1 Sec  Memory Limit: 128 MB Description 您需要写一种数据结构(可参考题目标题),来维护一个有 ...

  9. [HZOI 2016][Tyvj 1729]文艺平衡树 这道题我真是哭了,调了一下午,一晚上

    [题目描述] 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 [ ...

最新文章

  1. C++ #if、#elif、#else和#endif指令 的使用
  2. 关于y7000安装Ubuntu的一些心得体会
  3. 键盘 Input子系统
  4. 医学院计算机社发展,医学院计算机教学创新思路.docx
  5. 为什么安装了Microsoft .NET Framework 4之后我的电脑网卡启动会变得很慢很慢。。...
  6. vb仿excel控件_如何通过INTOUCH组态软件做EXCEL报表(含代码)
  7. linux 共享移动硬盘,随时登陆上QQ 自带Linux移动硬盘实战
  8. java bean状态_无状态和有状态企业Java Bean
  9. 星光 SaaS 伙伴甄云科技:如何构建更适合快成长企业的数字化采购管理平台?
  10. vue+node全栈移动商城【6】-node接口配置文件
  11. 关于MOSS列表库新建列表项前的!New标识
  12. How browsers work
  13. sql server中截取字符串的常用函数(自己经常到用的时候想不起来所以拿到这里)...
  14. 阶段3 1.Mybatis_11.Mybatis的缓存_8 mybatis的二级缓存
  15. python的浮点数_Python的浮点数损失精度问题
  16. 保姆级教学:手把手教你如何分析研报!
  17. 游戏测试基础:缺陷等级
  18. 获取input输入值和获取form表单中的组件输入值区别
  19. python中sub的用法_Python Pandas Series.sub()用法及代码示例
  20. 计算机网络——物理层2

热门文章

  1. the king of fighter
  2. 华三交换机路由器如何配置dhcp中继(dhcp relay)
  3. Python对3D STEP/STP 文件解析
  4. 用c语言计算正四棱锥的体积,《计算机图形学》习题与解答.doc
  5. mfers: 丧文化,后亚文化下的 Web 3.0 新部族
  6. 华为鸿蒙几点开发布会,华为鸿蒙系统正式发布时间
  7. 零基础入门微信小程序系列之——校园跑腿
  8. 微型计算机shr,shl指令(shr是什么指令)
  9. 芝加哥 计算机 录取,花样Offer来袭~藤门收获芝大、哥大、杜克、宾大、康奈尔、帝国理工等多枚录取!...
  10. PAT-A 1074 Reversing Linked List (25 分)