随笔分类 -  STL

公共表达式消除(UVa 12219)
摘要:紫书354页的题,将表达式树进行公共表达式消除,化为等价的图。因为需要判断某一个是否出现过,所以需要快速比较,采用哈希表的形式,将a~b与1~27一一对应,不采用0,因为0与0000是相同的,对于每一个树,都预先给予其一个编号,然后将其所表示的字符串化为27进制的数,然后递归建造其左右子树,如果发现 阅读全文
posted @ 2017-11-22 19:56 sapphirebitter 阅读(1617) 评论(0) 推荐(0)
Prime Test(POJ 1811)
摘要:素数判定的模板题,运用米勒-罗宾素数判定,然后用Pollard_Rho法求出质因数。使用相应的模板即可,不过注意存储质因子的数组需要使用vector,并且使用long long类型存储,不然存储不下,而且输出最下的质因子时,需要写个迭代器进行查询。 完整代码如下: 其中米勒-罗宾判断法模板如下: P 阅读全文
posted @ 2017-08-17 17:19 sapphirebitter 阅读(301) 评论(0) 推荐(0)
deque中的细节问题,以及reverse和max_element的使用
摘要:deque中使用迭代器进行运算的函数都默认以.end()为结束,而实际上.end()所返回的是最后一个元素的下一个位置,所以进行数据比较时,应对其-1才是对应的最后一个数据,而函数中则是直接使用.end()即可。 reverse函数用于翻转接受的起始位置和终点位置的元素,max_element函数用 阅读全文
posted @ 2017-08-04 11:20 sapphirebitter 阅读(681) 评论(0) 推荐(0)
set_union和set_intersection
摘要:set_union使用方法: set_union(集合A起始地址,集合A终止地址,集合B起始地址,集合B终止地址,插入C集合中(操作:inserter(C.C.begin()))); set_intersection使用方法如上。 阅读全文
posted @ 2017-07-26 17:46 sapphirebitter 阅读(208) 评论(0) 推荐(0)