数据结构
文章平均质量分 82
hit_buxiaoyu
OIer && ACMer。博客网址:http://blog.csdn.net/hit_buxiaoyu 博客网址:http://blog.csdn.net/hit_buxiaoyu 博客网址:http://blog.csdn.net/hit_buxiaoyu 博客网址:http://blog.csdn.net/hit_buxiaoyu 博客网址:http://blog.csdn.net/hit_buxiaoyu
展开
-
Codeforces Round #323 (Div. 2) 解题报告
CodeforcesRound #323 (Div. 2)解题报告 Asphalting Roads 题目分类:朴素模拟 题目描述:一座城市被N(1 ≤ N ≤ 50)条水平路线和N条垂直路线分割出N*N个交叉口。有一个施工队将对城市路线进行施工N*N天。他们每天来到一个交叉口,如果这个交叉口对应的水平路线和垂直路线都没有原创 2015-10-06 20:38:04 · 876 阅读 · 0 评论 -
动态树分治
动态树分治 不得不说,树结构真是巧妙神奇。因为结构简单,所以变形剖多,在竞赛中玩出的花样也最多。 动态树分治,顾名思义,解决待修改的树分治问题。原本的树分治基于边或者重心的分治可以解决大多数静态树链问题,但是待修改怎么办?其实很简单,因为树结构是不变的,就是树分治的基础结构不变,对于修改和询问,只需要在第一次树分治的基础上用一些数据结构维护一些信息即可。 话虽这么说,但是实原创 2016-10-26 23:12:16 · 865 阅读 · 0 评论 -
Hdu5893树链剖分(2016沈阳网络赛B)
Hdu5893树链剖分(2016沈阳网络赛B) 在另一道题目的基础上的改编题目,只不过把点权改成了边权,因为在边上,所以在合并区间时候注意lca点处的答案不需要合并。写法很多,当时这个check一直没想明白,wa了9发,到最后算是绝杀了吧。树链剖分题目还是完全理解概念以后再碰吧,否则会wa的很惨的。不过这个算法算是很精髓的了,可以解决大部分树链问题。 //#includ原创 2016-09-19 17:55:25 · 781 阅读 · 0 评论 -
hdu5892Resident Evil(2016沈阳网络赛A)
hdu5892ResidentEvil(2016沈阳网络赛A) 裸的二维树状数组求和。实际上XOR运算等效于模2意义下的加减运算。这题唯一用到的技巧是将50个怪兽的状态压缩成250 统一处理以节省时间空间。至于二维树状数组区间求和和查询,可以通过推公式的方法先将问题转化成单点修改,区间查询,再用矩形加减即可。 最后注意一次修改统一怪兽可能出现多次,还有原创 2016-09-19 17:45:46 · 893 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2) B. Pasha and String 解题报告
Codeforces Round #297 (Div. 2) B. Pasha and String解题报告 题目分类:贪心策略 题目描述:给一个长度为N(2)的字符串,有M(0次操作。每次操作给一个数字ai保证2·ai ≤ |s|(|s|为所给字符串的长度),把字符串的第ai到|s| - ai + 1的那一段反转一下。输出M原创 2015-10-06 19:17:46 · 384 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2) C. Ilya and Sticks 解题报告
CodeforcesRound #297 (Div. 2) C. Ilya and Sticks结题报告 题目分类:贪心策略 题目描述:给n (1 ≤ n ≤ 105) 根筷子,梅根筷子都有一个长度li (2 ≤ li ≤ 106),求使用其中四根筷子首尾相接能组成的面积最大的矩形的面积是多少。每一根筷子最多可以被减低一个单位原创 2015-10-06 19:29:42 · 456 阅读 · 0 评论 -
Codeforces Round #297 (Div. 2) A - Vitaliy and Pie 解题报告
CodeforcesRound #297 (Div. 2) A - Vitaliy and Pie结题报告题目分类:普通模拟 题目描述:n-1个房间,依次编号为1到n-1,打开第i号房间门之前需要先打开前i-1号房间门。每个房间门前有一把特别的钥匙可以打开对应的门且只能使用一次。如果在开门之前没有钥匙需要借钥匙开门,问最少借几次钥匙。给2原创 2015-10-06 18:51:13 · 418 阅读 · 0 评论 -
HDU 4348 主席树(新的线段树区间查询方法)
HDU 4348 主席树(新的线段树区间查询方法) 今天涨姿势了,发现线段树可以不putdown就可以完成求和的区间查询,果然本渣渣太弱了。 //#include //#pragma comment(linker,"/STACK:102400000,102400000")#include #include #include #include #include #inc原创 2016-09-19 17:19:19 · 441 阅读 · 0 评论 -
线段树总结
线段树总结综述:线段树可谓解决区间问题的神兵利器,其稳定的O(n*log(n))的优秀时间复杂度适应了OI和ACM竞赛的一般需求,而且代码简介,功能丰富,使用灵活。经过一段时间对线段树由浅入深的了解,笔者越发感受到这个数据结构的强大魅力。虽然有关介绍线段树的文章很多,其中不乏优秀作品,但是毕竟再好看也是别人的东西,只有消化吸收了才能为己所用。所以,笔者还是决定自己写一份关于线段树的总结,可原创 2016-09-05 19:26:24 · 1320 阅读 · 0 评论 -
CodeforcesRound #322 (Div. 2) 解题报告
CodeforcesRound #322 (Div. 2) A. Vasya the Hipster 题目分类:水题 题目描述:a andb (1 ≤ a, b ≤ 100)代表a双红袜子,b双蓝袜子。Vasya喜欢让两只脚穿的袜子颜色不一样,而且每天穿过的袜子会扔掉。问最多几天两只脚上袜子不一样,然后剩下的袜子还能穿几天。 解题思路:能红蓝配对的尽量配对,剩下原创 2015-10-07 00:24:07 · 683 阅读 · 1 评论 -
2016年 中国大学生程序设计竞赛合肥赛区(ccpc)解题报告
合肥赛区:(现场四题,赛后补到七题)ProblemC:题意:给一棵nn个节点的树,边有权,为0或1。在树上进行游戏,游戏开始时会确定一个节点为根,两人交替进行操作。一方操作时,选一个非根节点uu满足uu和其父亲之间的边权为1,然后把uu到根路径上所有边权翻转。一方无法操作时,另一方胜利。有mm次修改:0\x0 x询问以xx为根开始游戏谁会赢;1\x\ y\ z1 x y z将xx和yy原创 2016-12-20 23:03:52 · 1167 阅读 · 0 评论