随笔分类 -  数据结构 -- 线段树

该文被密码保护。
posted @ 2018-11-05 14:35 guapisolo 阅读(14) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-30 08:33 guapisolo 阅读(10) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-22 16:07 guapisolo 阅读(11) 评论(0) 推荐(0)
摘要:题目大意:给你一个无序的1~n的排列a,每次询问[l,r]之间任取两个数得到的最大gcd是多少 先对所有询问离线,然后把问题挂在区间的左端点上(右端点也行) 在预处理完质数,再处理一个next数组,表示 i 的任意一个质因子,这样我们分解质因数的时间降低到而不是 因为能对答案产生贡献的都是成对出现的 阅读全文
posted @ 2018-10-10 19:47 guapisolo 阅读(219) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,让你对它重新排列,保证a[i]<=a[i/k],求字典序最大的排列 洛谷传送门​​​​​​​ 把i/k和i连边,发现形成了一个类似于小根堆的树形结构 先是一个错误的贪心:贪心每次选择前size[x]大个数依次填到树里 这种方法在有重复数字的时候会出锅,比如1112,如果用上面 阅读全文
posted @ 2018-10-09 15:43 guapisolo 阅读(301) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列(n<=35000),最多分不大于m块(m<=50),求每个块内不同元素的数量之和的最大值 考试的时候第一眼建图,没建出来,第二眼贪心 ,被自己hack掉了,又随手写了个dp方程,感觉可以用splay维护,发现有区间操作并可取,又发现这个方程只能用线段树维护,然后只剩40min 阅读全文
posted @ 2018-10-04 08:30 guapisolo 阅读(141) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-02 09:44 guapisolo 阅读(11) 评论(0) 推荐(0)
摘要:题目大意:让你维护一个数x(x位数<=3*1e7),要支持加/减a*2^b,以及查询x的第i位在二进制下是0还是1 作为一道noi的题,非常考验写代码综合能力,敲+调+借鉴神犇的代码 3个多小时才过... 思路并不难,题目里b<=30n暗示压位,每次压30位可过 先分析一下加法,加a*2^b相当于在 阅读全文
posted @ 2018-09-24 22:27 guapisolo 阅读(148) 评论(0) 推荐(0)
摘要:依然是扫描线,只不过是求所有矩形覆盖之后形成的图形的周长。 容易发现,扫描线中的某一条横边对答案的贡献。 其实就是 加上/去掉这条边之前的答案 和 加上/去掉这条边之后的答案 之差的绝对值 然后横着竖着都做一遍就行了 阅读全文
posted @ 2018-09-24 22:22 guapisolo 阅读(178) 评论(0) 推荐(0)
摘要:扫描线裸题没什么好说的 注意空间不要开小了!!! 阅读全文
posted @ 2018-09-24 22:22 guapisolo 阅读(398) 评论(0) 推荐(0)