摘要:
题目链接:http://poj.org/problem?id=2684 属于比较水的计算几何题目,直接叉积判断即可。 1 //STATUS:C++_AC_0MS_192KB 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<string.h> 5 #include<math.h> 6 #include<iostream> 7 #include<string> 8 #include<algorithm> 9 #include<vector>10 # 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2155 比较典型的二维线段树题目,直接永久更新即可,在询问的时候,要询问每个x区间的子树,复杂度O(log(n)^2)。 也可以用树状数组搞,推荐看NOI 2009武森《浅谈信息学竞赛中的“0”和“1”》。 1 //STATUS:C++_AC_907MS_16144KB 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<string.h> 5 //#include<math.h> 6 #include<iostream> 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2754 当时居然没有想到是多重背包,敲了个分组背包,TLE。。。 后来才知道可以转化为多重背包,即把每个下界L[i]放为0,上限为U[i]-L[i],就是物品的个数,价值为P[i],花费为M[i]。本来题目要求Σ(M[i]*Table[i])=0时,Σ(P[i]*Table[i])的最大值。现在Table[i]的每个值都加了-L[i],即Σ(M[i]*Table[i] + M[i]*L[i]) 时,Σ(P[i]*Table[i] + P[i]*L[i])的最值,由Σ(M[i]*Table[i])=0可知,背包的容量为Σ(M... 阅读全文