摘要:
http://poj.org/problem?id=2828题意:有n个人排队买票,每个人的位置为pos(0~n-1),价值是val,如果位置相同,来的晚的人可以插入他选的位置。最后输出队列中的val。 1 #include 2 #include 3 const int N=200010; 4 int Tree[N*4],seq[N]; 5 int pos[N],val[N]; 6 7 void build(int l,int r,int rt) 8 { 9 Tree[rt]=r-l+1;//初始每个区间的空位数10 if(l==r)11 return;1... 阅读全文
posted @ 2014-02-18 15:54
N_ll
阅读(195)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=3308题意:一个m*n的网格,有L位火星空降兵降落在网格中,地球卫士为了能同时消灭他们,在网格的行或列安装了一个枪支,每行或每列的枪支都能消灭这一整行或整列的空降兵,给出每一行和每一列安装枪支的花费,总的花费等于所有安装枪支的行和列的花费的乘积。求出最小的总的花费。思路:(1)最小割:对于图中的两个点(一般为源点和汇点)来说,如果把图中的一些边去掉,如果它们之间无法连通的话,则这些边组成的集合就叫为割了。如果这些边有权值,最小割就是指权值之和最小的一个割。(2)对任意一个只有一个源点和一个汇点的图来说,从源点到汇点的最大流等于最小割,可以用 阅读全文
posted @ 2014-02-18 08:55
N_ll
阅读(286)
评论(0)
推荐(0)

浙公网安备 33010602011771号