上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 48 下一页
  2012年7月15日
摘要: http://poj.org/problem?id=1195二维树状数组就是比一维的多了一维而已 关键在理解代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<stack>using namespace std;const int N=1200;int c[N][N];int n;int lowbi 阅读全文
posted @ 2012-07-15 19:53 夜-> 阅读(159) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2892此代码在POJ上能过 在hdu上过不了题目大意:n个村庄相连 三种操作D 摧毁一个村庄Q 查询包括此村庄在内和此村庄直接和间接相连的村庄数R 修复上一个被摧毁的村庄Ttree 写的很烂呀思路:将摧毁的村庄插入二叉树中每次询问 就查找它左边和右边最近被摧毁的村庄 就可以知道答案了修复一个村庄 就把它在树中删除代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath& 阅读全文
posted @ 2012-07-15 15:35 夜-> 阅读(200) 评论(0) 推荐(0) 编辑
  2012年7月14日
摘要: http://poj.org/problem?id=2352题目大意:给出N个点 点的顺序是按y非递减给出的level是这个点左下方点的个数求各个level的数量思路:由于给的点有顺序 所以就简单了一般用树状数组或线段树就可以我用了平衡树 是为了练习啦 写的相当烂用平衡树 不断地插入更新就可以了#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorit 阅读全文
posted @ 2012-07-14 18:25 夜-> 阅读(216) 评论(0) 推荐(1) 编辑
  2012年7月13日
摘要: http://poj.org/problem?id=2482黑书的102~104有个十分类似的题,解法一样 推荐题目大意:刚开始的情书 ,十分的不错。给你个矩形去框星星 矩形能移不能转,边框上的星星不算,星星都是有亮度值的问可以得到的最大亮度值和思路:由于都是整数,比如说边框左边有星星 右边也有星星 只有左右移动一下就可以多框一些星星,所以我们默认 边框星星 取左不取右,取下不取上我们对y坐标排序,根据y建二叉树 左子树一定小于根节点 右子树一定大于根节点对x排序,我们用两个扫描线,使它们两者之间的星星x距离不超过w然后对其求最大矩形内亮度和。我们可以把一个点拆成两个 原来的点是x ,y,va 阅读全文
posted @ 2012-07-13 14:58 夜-> 阅读(174) 评论(0) 推荐(0) 编辑
  2012年6月14日
摘要: http://poj.org/problem?id=3468题目大意:给你n个整数,两种操作,求一段区间的和一段区间内全部加上某个整数简单线段树题区间内一部分是固定区间和另一个是此区间内每个数都需要加的量注意用64为整数详情见代码注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>using namespace std;cons 阅读全文
posted @ 2012-06-14 11:24 夜-> 阅读(125) 评论(0) 推荐(0) 编辑
  2012年6月13日
摘要: http://poj.org/problem?id=2750最近在poj上做的线段树题 c++提交要比g++提交快很多,我知道c++要快一些,不过快的有点离谱了吧,都左右是否超时了题目大意:n盆花围成圈 每盆花都有它的value要做一个弧形长椅 不能是一个圆,因为必须有缺口,使得长椅附近花的value值和最大m次替换 每替换一次问替换后的最佳答案本题的难点在于环,因为线段树的建立是线状的所以在求最终答案是要注意线段树要保存本段从左起最大值,最小值,从右起最大值,最小值,和总体最大值,最小值,总和最大值和最小值都必须至少包含一盆花这都是为求最后答案做准备。最后答案基本分两种1.最小值为正,此时用 阅读全文
posted @ 2012-06-13 18:15 夜-> 阅读(201) 评论(0) 推荐(0) 编辑
  2012年6月12日
摘要: http://poj.org/problem?id=2886这个题和插队买票那题一样 http://www.cnblogs.com/liulangye/archive/2012/06/11/2545529.html题目大意:一些人围成一圈第一个人跳出圈后会告诉你下一个谁跳出来跳出了的人所得到的糖果数量和他跳出的顺序有关线段树在这里只是一个二分搜索的作用思路:1.求第几个跳出者所得糖果数量2.根据输入范围,求的第几个人是得到糖果最多的 假设是J3.建立线段树,线段树区间表示区间内人的个数,搜索第几个人时所经过的路径区间人数的减一然后根据提示求的下一个跳出的人是谁 并记录第J个人是谁代码及其注释: 阅读全文
posted @ 2012-06-12 17:36 夜-> 阅读(343) 评论(0) 推荐(0) 编辑
  2012年6月11日
摘要: http://poj.org/problem?id=2777不多说了 和贴海报那题一样 http://www.cnblogs.com/liulangye/archive/2012/06/11/2545349.html代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<vector>using nam 阅读全文
posted @ 2012-06-11 21:39 夜-> 阅读(149) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2828坑爹呀你c++ 跑不到2000g++ 直接超时有这么夸张吗 无语了题目大意:买票 不过有插队的 n个人依次插队给你插队位置和value 问你最后value顺序其实就是最后人的顺序这题最好倒着插入因为 最后一个人如果插在第m个空的后面 那么他一定在m+1的位置倒着来的话 无路第几个人 他插在第m个空的后面 那么他的左面就需要m个空位在这里线段树只不过用来二分搜索代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<s 阅读全文
posted @ 2012-06-11 20:54 夜-> 阅读(270) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2528题目大意:贴海报 有先后顺序会发生覆盖 问你最后漏在外面的有几张海报思路:1.所给数据范围比较大,而且是以块为单位 所以首先要离散化排序+把块变成线2.建树3.按所给海报顺序进行贴海报 解决覆盖问题4.搜索一遍 看看有哪些海报是漏在外面的 统计数量代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#inclu 阅读全文
posted @ 2012-06-11 17:20 夜-> 阅读(205) 评论(0) 推荐(0) 编辑
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 48 下一页