上一页 1 2 3 4 5 6 ··· 26 下一页
摘要: 其实这里就是用Treap来实现了一个求和的过程,其实这种区间操作还是用线段树或者是Splay比较方便。将点排序之后随便搞一下就就好,要注意的就是有点重复情况,我这里是把树的每一个节点又添加了一个cnt域来维护的,自己手撸的平衡树就是这么灵活= =#include #include #include ... 阅读全文
posted @ 2015-02-06 11:10 acm_roll 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 同样是插入和寻找第k大,这里因为区间不存在包含的情况,所以可以现将区间排序然后直接搞就行了。如果存在包含的情况那就只能上主席树或者是莫队算法来搞了。#include #include #include #include #include using namespace std;struct Node... 阅读全文
posted @ 2015-02-06 11:07 acm_roll 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 高中的时候做过这个,是用两个堆搞的,现在看来其实就是实现一个很简答的数据结构,能够插入元素,找第k大,用平衡树来搞其实是大材小用了,就当做是练习吧。Treap是利用除了键值之外另外一个rand_key域的随机性来保证平衡的,所以说只要随机函数够好,理论上应该是平衡的,而且写起来比较方便。#inclu... 阅读全文
posted @ 2015-02-06 11:05 acm_roll 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 落下好多,趁着假期慢慢补吧。。C.Misha and Forest因为是一个森林,所以可以先找到所有的叶子节点,然后进行递推即可。开一个队列搞就好了。#include #include #include #include #include #include #include #include #in... 阅读全文
posted @ 2015-01-29 20:12 acm_roll 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 对于这类区间查询的问题,如果可以用O(1)的复杂度推到一个曼哈顿距离为1的另外区间的话,就可以直接用莫队算法搞。从网上搜到的有两种搞法。第一种是先建立曼哈顿距离最小生成树,然后直接dfs遍历整棵树来求解的。还有一种是先分块,然后把查询按照块的编号为第一关键字,右边界为第二关键字排序,排序直接直接暴力... 阅读全文
posted @ 2014-12-14 13:04 acm_roll 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 原本经历了牡丹江的打铁之后我是不打算再在14年参加区域赛了。。不过弱校实在拿不出人。。还是被要求去广州或者上海。。然后我就跟着以前Firework的队员Victoria,然后田腿去了上海。这次的阵容有11、12级的学长学姐。。感觉自己就是去抱大腿的。。到了上海之后还是就近在上海大学附近找了一家酒店,... 阅读全文
posted @ 2014-12-09 00:49 acm_roll 阅读(297) 评论(0) 推荐(1) 编辑
摘要: 随着上海赛区比赛的结束,2014赛季也告一段落了。是时候总结一下。。从网络赛开始。。就深感到自己实力的不足,除了牡丹江网络赛中出了一道搜索+剪枝之外,似乎我就没有做出什么贡献。。总是冒充Java专业选手写写高精度。。上网百度模板什么的。。尝试开了几次大模拟或者复杂搜索也没能够现场做出来。总之就是感觉... 阅读全文
posted @ 2014-12-09 00:12 acm_roll 阅读(268) 评论(0) 推荐(1) 编辑
摘要: 由于只要找1~x 中的最大值,然后线段树又容易MLE,所以这里可以用树状数组搞。#include #include #include #include #include #include #include #include #include #include #include #include us... 阅读全文
posted @ 2014-11-30 16:53 acm_roll 阅读(184) 评论(0) 推荐(0) 编辑
摘要: =。= 这次比赛乱搞题比较多。。做的时候也比较烦躁。。感觉效率不是很高。A: 水题,直接记录每个数字的位置然后输出就好了。B: 题目看半天才明白,其实就是考一个三进制转化,很水。。typedef long long LL;const int maxn = 1024;int numa[maxn], n... 阅读全文
posted @ 2014-11-18 18:53 acm_roll 阅读(219) 评论(0) 推荐(0) 编辑
摘要: A 傻缺题,直接先把素数搞出来然后枚举一下就好了。#include #include #include #include using namespace std;const int maxn = 1e4 + 10;bool vis[maxn];vector pnum;void init() { ... 阅读全文
posted @ 2014-11-16 21:53 acm_roll 阅读(156) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 26 下一页