摘要:
多重背包优化 二进制拆分 18个物品可以拆成1,2,4,8,3倍物品,这样5个物品任意取可以得到1~18个物品的所有方案。 时间复杂度是$O(nWlogP)$,P是一种物品的最大数量 #include <bits/stdc++.h> using namespace std; const int ma 阅读全文
摘要:
Graham 算法 先选一个y最小的点p(y相同选x最小) 然后将其他点以p为原点进行极角排序 从p点开始维护一个单调栈,如果栈顶两个元素和新加入点的叉积小于0就弹出。 Point tbBottom; bool cmpTB(Point a,Point b) {//上半平面极角排序; double x 阅读全文