11 2015 档案

摘要:bitset很好用的样子?   顺带一提 子集异或和的算术和 nlogv做法: 考虑增量法 设cnt[i]表示1在当前数集S的所有子集异或和第i位出现的次数。 加入一个数x之后,如果x的第i为为0,那么cnt[i] <<= 1(原来是1的现在还是1,原来是0的现在还是0),否则cnt[i] += 2 阅读全文
posted @ 2015-11-30 11:39 Showson 阅读(211) 评论(0) 推荐(0) 编辑
摘要:设sz为子树大小,根的深度为1.显然答案为min(dep[p] - 1, k) * (sz[p] - 1) + sigma(sz[u], u在p的子树中,dep[u] - dep[p] 2 #include 3 #include 4 #include 5 #include 6 #incl... 阅读全文
posted @ 2015-11-30 11:11 Showson 阅读(240) 评论(0) 推荐(0) 编辑
摘要:很早之前就做了线段树裸题据说可以只维护一段区间是否全是1或者0,复杂度应该没有保证?也不觉得更好写一些。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace s... 阅读全文
posted @ 2015-11-30 11:04 Showson 阅读(187) 评论(0) 推荐(0) 编辑
摘要:一看就是三分然后打个表看了一下 确实有三分性由于轨迹是线性的所以目标函数应该是单峰的,虽然会比二次函数偏差一点 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 ... 阅读全文
posted @ 2015-11-30 11:02 Showson 阅读(193) 评论(0) 推荐(0) 编辑
摘要:可以将模型抽象成在在一个n*m的的矩形上从(0, 0)走到(n, m)的方案数,并要求不能做过y = x + 1,这条直线考虑任何一条不合法的路径,必然经过y = x + 1,考虑(0, 0)关于y = x + 1的对称点(-1, 1),每一条从(-1, 1)到(n, m)的路径都是经过支线y = ... 阅读全文
posted @ 2015-11-30 10:58 Showson 阅读(191) 评论(0) 推荐(0) 编辑
摘要:背包感觉省选怎么会考这么简单的东西呢 无聊去网上搜了一下 发现原来正解是单调队列来优化呀不过带个log问题也不大 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9... 阅读全文
posted @ 2015-11-30 10:47 Showson 阅读(198) 评论(0) 推荐(0) 编辑
摘要:可以跑二分图到第一个不能匹配的点就退出嗯 还有并查集判环的做法? 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 void setIO(const str... 阅读全文
posted @ 2015-11-30 10:45 Showson 阅读(159) 评论(0) 推荐(0) 编辑
摘要:容斥搞一搞。。不能直接1 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 void setIO(const string& a) {11 freopen((a+".in... 阅读全文
posted @ 2015-11-30 10:38 Showson 阅读(230) 评论(0) 推荐(0) 编辑
摘要:一、斜堆 斜堆是一种可以合并的堆 节点信息: 主要利用merge函数 左偏树需要维护一个额外的信息,而斜堆每次强制swap(ch[0], ch[1]),以达到均摊O(logn)的效果 利用merge函数可以很容易地实现插入和删除 另外地,堆相对与平衡树来说无法删除一个元素,但是如果能够定位 阅读全文
posted @ 2015-11-25 21:47 Showson 阅读(1003) 评论(0) 推荐(1) 编辑
摘要:练手QAQ#include#include#include#include#include#includeusing namespace std;void setIO(const string& a) { freopen((a+".in").c_str(), "r", stdin); f... 阅读全文
posted @ 2015-11-20 18:08 Showson 阅读(207) 评论(0) 推荐(0) 编辑
摘要:赛后填坑系列QAQ贴代码呀 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 void setIO(const string& a) {... 阅读全文
posted @ 2015-11-20 10:27 Showson 阅读(145) 评论(0) 推荐(0) 编辑
摘要:一开始以为直接算联通块个数就行了后来发现还得分联通块里的奇点。。。还要注意m = 0的情况... 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 void... 阅读全文
posted @ 2015-11-19 19:22 Showson 阅读(267) 评论(0) 推荐(0) 编辑
摘要:嗯 贴下代码 方便以后来看 treap : tyvj 普通平衡树 1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 #include<cstdlib> 5 #include<cstring> 6 #include<stri 阅读全文
posted @ 2015-11-18 10:37 Showson 阅读(460) 评论(2) 推荐(0) 编辑

点击右上角即可分享
微信分享提示