摘要: 转自:windows下srand48()和drand48()的问题 1 #ifndef DRAND48_H 2 #define DRAND48_H 3 4 #include 5 6 #define m 0x100000000LL 7 #define c 0xB16 8 #define a 0x5DEECE66DLL 9 10 static unsigned long long seed = 1;11 12 double drand48(void)13 {14 seed = (a * seed + c) & 0xFFFFFFFFFFFFLL;15 unsigned int ... 阅读全文
posted @ 2013-08-25 23:02 Teilwall 阅读(1230) 评论(1) 推荐(0) 编辑
摘要: LINK:BNUOJ 26475 Cookie Selection题意:你在不停的输入数字a1,a2,a3,......,ak,当你输入#时,就把已输入数字中的第k/2+1删除,然后剩下的数字又组成一个新的数列a1,a2,......,a(k-1)。把删除的数输出来~╮(╯▽╰)╭刚开始理解错了题意......各种WA......想半天还不知道错哪.....最后搞清,自己压根连题目都弄错了......就没有再继续战斗的想法了~~~~(>_ 2 #include 3 #include 4 #include 5 using namespace std; 6 priority_queue p; 阅读全文
posted @ 2013-08-25 22:33 Teilwall 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 转自:LINK_优先队列优先队列用法:在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的 qi;通过, greater >qi2;其中第二个参数为容器类型。第二个参数为比较函数。故示例2中输出结果为:2 3 5 6 9第三种方法:自定义优先级。1 struct node2 {3 friend bool operator (node n1, node n2)4 {5 return n1.priority > n2.priority;6 }7 int priority;8 int value;9 };则会编译不过(G++编译器)因... 阅读全文
posted @ 2013-08-25 21:41 Teilwall 阅读(426) 评论(0) 推荐(0) 编辑
摘要: WHU 1464 deal with numbers题意:给你一串数字,对着串数字有三项操作:Minus a,b,c:对区间[a,b]总的每个数都减c。Division a,b,c:对区间[a,b]中的每个数都除以c。Sum a,b:求出区间[a,b]的和~由于该题是对区间里的所有数进行操作,用一般的线段树会TLE,在这里要用到Lazy_Tag。然后另外要注意的是除法如何维护:这里的数C 2 #include 3 #include 4 #include 5 using namespace std; 6 7 typedef long long LL; 8 const int N... 阅读全文
posted @ 2013-08-25 10:40 Teilwall 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 转载LINK:LAZY_TAG先看一个具体问题吧 PKU 3468http://poj.org/problem?id=3468题意很清楚 1 ≤N,Q≤ 100000."Cabc" means addingcto each ofAa,Aa+1, ... ,Ab. -10000 ≤c≤ 10000."Qab" means querying the sum ofAa,Aa+1, ... ,Ab.用朴素的做法是O(NQ)的 明显TLE由于是区间统计问题 我们尝试用线段树解决先考虑线段树节点记录什么左右儿子 区间范围是必须的:ls[] rs[] l[] r[]为 阅读全文
posted @ 2013-08-25 10:19 Teilwall 阅读(387) 评论(0) 推荐(0) 编辑