摘要:
题意:给定一个长度为n的区间,动态改变某个区间的值,问你最后整个区间的合是多少解题思路:第一个区间覆盖的线段树问题,很自豪自己YY出了延迟标记(覆盖需要利用的延迟标记) 哈哈,就是利用的延迟标记覆盖区间,然后树根的值就是整个区间的值,每次覆盖后pushup就行解题代码: 1 #include 2 #include 3 #include 4 #define MAXN 100005 5 struct node 6 { 7 int left ,right,mid; 8 int num ; 9 int cover;10 } tree[MAXN*4];11 int L(in... 阅读全文
摘要:
题意:约瑟夫环游戏,第 p个出来的人有F(p)(求p的反素数)个糖果,问糖果最多的人的名字和它有多少个糖果,如果最多的有几个人,输出最先出来的那个人解题思路:这个题目有很多细节要注意,首先,顺时针的话大的是在他的左边,然后就是要注意它的步数是否是大于人数的,利用线段树的基本性质搜索它的位置就行了解题代码: 1 #include 2 #include 3 #include 4 #define MAXN 500005 5 int n, k ; 6 int a[MAXN]; 7 struct node 8 { 9 int left ,right ,mid ; 10 ... 阅读全文
摘要:
题意:给定一个队列,有n个人,每个人按顺序插入到队列中的某个位置,问最后的队列序列解题思路:无力吐槽自己的智商了,神题,完全利用了线段树的性质进行搜索 解题代码: 1 // File Name: poj2182.c 2 // Author: darkdream 3 // Created Time: 2013年07月29日 星期一 22时05分45秒 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #define MAXN 200005 12 struct node 13 {... 阅读全文