关闭

线段树的坑

天道好轮回。。杭州那时候没填掉的坑,这缘分可以的。。 比方说之前更新过[1,5]为0,那么不用pushdown[1,3][4,5]的内容是没改过的。。 n=6,q=3 1 5 1 4 1 1 这样区间消除之后ST[1]计数为4。。 确实之前隐隐约约察觉到一点概念模糊。。算是了了心结吧,这比赛掉的分挺值的。。...
阅读(4) 评论(0)

Codeforces Round #446 (Div. 2) D

讨论版提供的一个思路,感觉挺好的 Yes, and it's easy to prove. Let's consider for convenience the permuted arrays a and b: a1a2a(N-1)aN ^ ^ ^ v a2a3aN >a1 If we take any subset that doesn't co...
阅读(5) 评论(0)

BZOJ1067 [SCOI2007]降雨量 模拟/线段树/map经验书

从知道x,y能是没出现过的我就知道GG了 学到了max_element以及map的一些坑 map的lower_bound熟练度++ #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll...
阅读(22) 评论(0)

BZOJ1087 [SCOI2005]互不侵犯King 状压DP

参考自き 9*9的棋盘问能放多少互不攻击的国王。。 这种预处理状态间能否转移的做法还是第一次见(naive 不过用位运算判转移可能性在当状态大存不下没法预处理的时候也不算慢。。? 左右移位判重合挺巧妙的。。。 #include #include #include #include #include #include #include #include #include #includ...
阅读(18) 评论(0)

unique离散化用法

用法类似lower_bound,sort,不过下标从1开始的话和lower_bound减去的东西不一样 用来离散化很好用 pos就是在原数组a中的rank了,根据cnt建线段树啥的。。。 sort(a2+1, a2+1+n); cnt = unique(a2+1, a2+1+n) - (a2+1); FOR(n) { int pos = lower_bound(a2+...
阅读(14) 评论(0)

BZOJ1295 [SCOI2009]最长距离 智商

大体就是给一个01矩阵,1不可通行,可以破坏k[0,30]个1方格,问最长欧式距离 脑洞1小时没啥想法。。给正解跪。。居然是跑破坏方块的最短路,然后枚举点对更新答案,只要点对的最短路距离 naive! #include #include #include #include #include #include #include #include #include #include #inc...
阅读(12) 评论(0)

BZOJ4017 小Q的无敌异或 好题

给一个序列 询问这个序列 1:所有子区间的异或值的和 2:所有子区间的和的异或值 第一个操作,拆二进制位,枚举右端点r,记录这个位前r个数字0/1的个数,右端点转移O(1) 第二个操作比较复杂,对于每个右端点要询问sum[r]-sum[l-1]mod(2^(k+1))>=2^k的左端点个数(的奇偶性) 题解用了树状数组维护,参考skywalkert,题解里对于模不等式的解释很巧妙,复习...
阅读(17) 评论(0)

[HNOI2005]狡猾的商人 带权并查集

给定m个区间和,问是否有矛盾 复习一下,带权并查集保存着这个元素与祖先的关系 在合并的过程中就像向量合并一样,可以画出x->fa[x],y->fa[y],x->y这样的图方便理解 这篇文章解释得很清楚NOIAu //#include #include #include #include #include #include #include #include #include #incl...
阅读(17) 评论(0)

[HAOI2006]受欢迎的牛 scc分解(下标从1)

如果有x满足答案,x所在的scc也满足答案 合法scc个数不会超过1,因为这样的话2个scc是传递的,应该可以合并才对 这个板子做法是按照拓扑序排列缩点后的图的,所以可能成为答案的scc一定是最后那个 //#include #include #include #include #include #include #include #include #include #include #inc...
阅读(16) 评论(0)

BZOJ3039 最大01子矩阵 单调栈

//#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long #define ull unsigned long long #define pb push_back #defi...
阅读(22) 评论(0)

[HNOI2008]水平可见直线 半平面交

求向直线们的俯视视角中可见的直线,以为是选最大最小斜率然后往中间放。。其实就是半平面交 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #include #include #include #include #include #inc...
阅读(66) 评论(0)

Removed Interval HDU - 5489 类LIS/dp

问一个n元序列任删掉一段m长的子段后的LIS长度 n1e5,考虑枚举剩下的右端点参与答案贡献,我们需要右端点开始的LIS,以及删除段左边的,刚好比右端点小的点往前跑的LIS 前者可以去个负倒过来跑一下,后者双针边跑边更新就行 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #include ...
阅读(35) 评论(0)

Find a path HDU - 5492 DP

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl...
阅读(50) 评论(0)

The Next HDU - 5491 转二进制模板

存个板子~ ll tmp=d; int num_digit=0,cnt1=0,bri[35]; while(tmp){ if(tmp%2){ bri[num_digit++]=1; cnt1++; }else bri[num_digit++]=0; tmp/=2; }...
阅读(24) 评论(0)

Meeting HDU - 5521 最短路/虚拟点建图

给许多个组,每个组内点可以花相同时间互相抵达, 可以通过加虚拟点,入边t,出边0来完成建图 其他就是比较恶心的输出以及一个微妙的特判了,具体可以看代码最后的部分, debug良久猜了一个n=2的hack,加上这个就pe了,难以描述 //#include //#pragma comment(linker, "/STACK:1024000000,1024000000") #inclu...
阅读(25) 评论(0)
121条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:7465次
    • 积分:1169
    • 等级:
    • 排名:千里之外
    • 原创:113篇
    • 转载:5篇
    • 译文:3篇
    • 评论:0条
    友链%%%