摘要: 题目中给出的h和w范围均大,其实n的最大范围才200000,所以我们建立的线段树大小为min(h,n),线段树的每一个节点包含一个变量c,记录当前区间内还剩下的可以put on的最大长度。插入一个数时,如果该数大于该区间最大值,则返回-1,说明put on不了。否则将它插入到页节点,并返回插入的下标 阅读全文
posted @ 2016-08-07 23:47 曹孟德 阅读(180) 评论(0) 推荐(0)
摘要: 一.射线判别法:适用于所有简单多边形 简单多边形是不相邻的边不相交的多边形。判定点p是否在多边形G内部,包括边界。对于任意多边形,可以采用射线法。对于给定的点向左做一条平行x轴的射线l,求出l与多边形G的交点个数,如果个数为奇数则点在多边形内,如果交点个数为偶数则点在多边形外。具体可以归纳如下: 1 阅读全文
posted @ 2016-08-07 23:01 曹孟德 阅读(1683) 评论(0) 推荐(0)
摘要: /* 背包问题模板 【若要求恰好装满,初始化时f[1...V] = -1(求最大)而f[0] = 0】 */ #include #include using namespace std; const int M = 1000; int c[M], w[M], nl[M];//c:费用 w:价值 n1:数量 int f[M];//f[与V有关],c和w[与n]有关 int v, V, V1;/... 阅读全文
posted @ 2016-08-07 20:28 曹孟德 阅读(164) 评论(0) 推荐(0)
摘要: 字典树又称为单词查找树。用于统计排序大量字符串(不限于字符串),利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。字典树的性质: 1.根节点不包含任何字符(空根节点) 2.从根节点到某一节点路径上的字符连起来就是一个字符串 3.每个节点的所有子节点包含的字符串不 阅读全文
posted @ 2016-08-07 12:50 曹孟德 阅读(164) 评论(0) 推荐(0)