数据结构
文章平均质量分 85
james_cil
这个作者很懒,什么都没留下…
展开
-
线段树-hdu2795 Billboard(贴海报)
hdu2795 Billboard题意:h*w的木板,放进一些1*L的物品,求每次放空间能容纳且最上边的位子思路:每次找到最大值的位子,然后减去L线段树功能:query:区间求最大值的位子(直接把update的操作在query里做了)原创 2014-07-15 13:59:52 · 722 阅读 · 0 评论 -
线段树之单点更新,区域求和
今天在coreforces上做的一题E. DZY Loves Fibonacci Numberstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIn m原创 2014-07-14 00:06:14 · 652 阅读 · 0 评论 -
线段树---求逆序数
hdu1394 Minimum Inversion Number题意:求Inversion后的最小逆序数思路:用O(nlogn)复杂度求出最初逆序数后,就可以用O(1)的复杂度分别递推出其他解线段树功能:update:单点增减 query:区间求和逆序数原创 2014-07-15 12:34:54 · 995 阅读 · 0 评论 -
线段树---成段更新hdu1698 Just a Hook
hdu1698 Just a Hook题意:O(-1)思路:O(-1)线段树功能:update:成段替换 (由于只query一次总区间,所以可以直接输出1结点的信息)原创 2014-07-15 15:55:13 · 590 阅读 · 0 评论 -
POJ2528的另一种解法(线段切割)
POJ2528的另一种解法(线段切割)分类: 计算几何2013-04-09 07:17 205人阅读 评论(0) 收藏 举报题目:Mayor's posters 首先本题题意是:有一面墙,被等分为1QW份,一份的宽度为一个单位宽度。现在往墙上贴N张海报,每张海报的宽度是任意的,但是必定是单位宽度的整数倍,且报。现在给出每张海报所贴的位置(转载 2014-07-14 01:52:25 · 644 阅读 · 0 评论 -
字典树---2001 POJ Shortest Prefixes(找最短前缀)
做的第一道字典树的题,算比较水的;原创 2014-07-15 22:24:01 · 739 阅读 · 0 评论 -
线段树——单点替换区间最值
这也是很基本的-。-hdu1754 I Hate It题意:O(-1)思路:O(-1)线段树功能:update:单点替换 query:区间最值原创 2014-07-15 10:44:36 · 563 阅读 · 0 评论 -
Hash开散列 拉链法
#include#includeusing namespace std;const int maxn=1000007;struct node{ __int64 real; int sum; node *next;}myhash[maxn];int get_hash(__int64 real){ int hash; hash=real%maxn; if(hash<0)原创 2014-10-26 21:38:14 · 733 阅读 · 0 评论 -
图论 Kruskal算法 并查集
#include#include#include#include#includeusing namespace std;#define MAX 80000int father[MAX], son[MAX];int v,v2, l;struct Kruskal //存储边的信息{ int a; int b; int value;};bool cmp(const Kr原创 2014-11-16 13:07:07 · 533 阅读 · 0 评论 -
线段树入门(个人习惯模板)--士兵杀敌
单点更新:最最基础的线段树,只更新叶子节点,然后把信息用PushUP(int r)这个函数更新上来hdu1166 敌兵布阵题意:O(-1)思路:O(-1)线段树功能:update:单点增减 query:区间求和原创 2014-07-15 10:31:08 · 520 阅读 · 0 评论 -
线段树--Color the ball(多次染色问题)
K - Color the ballTime Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a Input原创 2014-07-30 21:09:14 · 618 阅读 · 0 评论 -
划分树---原理
网上看了实在太多讲这个的 但是讲的都不怎样,原创 2014-07-26 11:10:08 · 680 阅读 · 0 评论 -
线段树---poj3468 A Simple Problem with Integers:成段增减:区间求和
poj3468 A Simple Problem with Integers题意:O(-1)思路:O(-1)线段树功能:update:成段增减 query:区间求和题目大意原创 2014-07-15 18:41:07 · 573 阅读 · 0 评论 -
线段树---no end
额,还有一个区间合并原创 2014-07-15 22:15:29 · 463 阅读 · 0 评论 -
线段树---poj2528 Mayor’s posters【成段替换|离散化】
poj2528 Mayor’s posters题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012] 我们用不到[-∞,999][1001,1989][1991,1999][2001,2011][2013,+∞]这些值,所以原创 2014-07-15 22:06:28 · 601 阅读 · 0 评论 -
prim
A - Agri-NetTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uSubmit Status Practice POJ 1258DescriptionFarmer John has been elected mayor of his town原创 2014-08-02 12:33:36 · 653 阅读 · 0 评论 -
树状数组---原理代码实现
刚刚学了树状数组,有必要总结一下;参考了大牛的博客原创 2014-08-01 10:21:10 · 3000 阅读 · 1 评论 -
临时文档2
#include #include #include #include #define maxn 100010#define mid ((l+r)>>1)using namespace std;int tree[20][maxn];//表示每层每个位置的值int toleft[20][maxn];//20层每层maxn t用来放原序; toleft[p][i]表示第P层第i个放左节原创 2014-07-28 16:58:54 · 419 阅读 · 0 评论 -
划分树---hdu4417---区间查找(不)大于h的个数
#include #include #include #define maxn 100010#define mid ((L+R)>>1)using namespace std;int tree[20][maxn];//表示每层每个位置的值int toleft[20][maxn];//20层每层maxn t用来放原序; toleft[p][i]表示第P层第i个放左节点的元素个数int原创 2014-07-29 10:23:21 · 715 阅读 · 0 评论 -
并查集--(初学,入门)
并查集:这里只讲一下我的理解;原创 2014-08-03 20:54:17 · 541 阅读 · 0 评论 -
树、森林与二叉树的转换
原网站:http://student.zjzk.cn/course_ware/data_structure/web/shu/shu6.5.1.htm树、森林与二叉树的转换 树或森林与二叉树之间有一个自然的一一对应关系。任何一个森林或一棵树可惟一地对应到一棵二叉树;反之,任何一棵二叉树也能惟一地对应到一个森林或一棵树。1.树、森林到二叉树的转换(1)将树转换为转载 2014-12-28 16:02:44 · 708 阅读 · 0 评论