摘要:邪恶的东西……思想简单,实现巨复杂……搞了好久才看懂标程 问题:考虑一个静态问题,给出一个数组,每次询问任意区间【l,r】内的第k小值,设计一个离线算法 Code:Program HFS;var a,sort : array[1..10000] of longint; s,z : array[1..10,1..100000] of longint; n,m,x,y,k : longin...
阅读全文
摘要:问题:有编号1-n的节点,以编号为权值建立BST,定义代价为Σf[i]*d[i],其中f[i]为i节点的权值,d[i]为i在BST上的深度。求所有BST中最小的代价。 解决:动态规划问题。动态转移方程为: F[i,j]=min(f[i,k-1],f[k+1,j])+w[i,j] (i<=k<=j) 其中w[i,j]=Σf[k](i<=k<=j) 时间复杂度为O(n^3) 四边形不等式优化(重点...
阅读全文
摘要:Program GrahamScan;const filename='GrahamScan.';Type Tpoint=record x,y : Extended;end; var p,b : array[1..1000000] of Tpoint; n,m : longint; Procedure openfile; begin assign(input,filena...
阅读全文
摘要:有时候,会突然不自觉的唱起你最喜欢的那首歌; 有时候,会突然不自觉的买一斤你最喜欢的草莓; 有时候,会突然不自觉的想起和你度过的那个夜晚; 有时候,会突然不自觉的看着你的背影默默发呆。 宝宝, 有时候,真的无法想象没有你该怎么生活; 有时候,真的害怕哪一天你会离我而去; 有时候,我会被一个噩梦吓醒,然后告诉自己,梦都是反的; 有时候,我会看着日历好几遍,生怕错过了什么…… 宝宝, 有时候,我会...
阅读全文
摘要:开始学线段树啦,先贴个最简单的RMQ吧~神牛勿喷 code:Program RMQ;const N=10; M=5; filename='RMQ'; Type TNode=record l,r,m:longint; end;var a:Array[1..N] of longint; node:array[1..4*N] of TNode; i,c,x,y,l,r:longint; P...
阅读全文