博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1083 Moving Tables——heap+贪心——pku1083
阅读量:5812 次
发布时间:2019-06-18

本文共 1244 字,大约阅读时间需要 4 分钟。

最简单的区间贪心,但是考察细心。

注意事项:

1、考虑s>t的情况

2、读入的时候要把s、t分别转换为(s+1)div 2和(t+1)div 2

代码:

Program poj1083;//By_ThispoetConst 	maxn=200;Var	t,i,j,k,m,n						:Longint;	heap,l,r						:Array[1..maxn*2]of Longint;	heap_size						:Longint;	Procedure Down(i:Longint);var j:Longint;begin	while ((i<<1)<=heap_size) do 		begin			j:=i<<1;			if (j
heap[j+1])then inc(j); if heap[j]
1) do begin j:=i>>1; if heap[j]>heap[i] then begin heap[i]:=heap[i] xor heap[j]; heap[j]:=heap[i] xor heap[j]; heap[i]:=heap[i] xor heap[j]; i:=j; end else break; end;end; Procedure Qsort(ll,rr:Longint);var i,j,k,temp:Longint;begin i:=ll;j:=rr; k:=l[i+random(j-i+1)]; repeat while l[i]
k do dec(j); if i<=j then begin temp:=l[i];l[i]:=l[j];l[j]:=temp; temp:=r[i];r[i]:=r[j];r[j]:=temp; inc(i);dec(j); end; until i>j; if ll
0 do begin heap_size:=0; readln(n); for i:=1 to n do begin readln(l[i],r[i]); if l[i]>r[i] then Swap(l[i],r[i]); l[i]:=(l[i]+1)>>1; r[i]:=(r[i]+1)>>1; end; Qsort(1,n); for i:=1 to n do begin if (heap_size>0)and(heap[1]

转载于:https://www.cnblogs.com/Thispoet/archive/2011/10/03/2198557.html

你可能感兴趣的文章
oracle导入导出小记
查看>>
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
CodeIgniter 3.0 新手捣鼓源码(一) base_url()
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
vSphere 6将于2月2日全球同步发表
查看>>
Android状态栏实现沉浸式模式
查看>>
让你的APP实现即时聊天功能
查看>>
iOS 绝对路径和相对路径
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>