tclh123 - 悲剧的泳裤王子

ps.从前有一个人说,迎接大浪来临,最好的办法是穿两条泳裤。...

排序:
默认
按更新时间
按访问量

[专辑]树状数组[updating]

一般树状数组能做的线段树都能做,除非卡你空间。。。 1、单点更新+区间查询 #define MAXN 100002 int a[MAXN]; int n; //线段 1~n inline lowbit(int x) { return x&(-x); } int gets...

2012-09-08 20:59:40

阅读数:524

评论数:0

[专辑]线段树总结[updating]

去年半途而废了,今年打算好好把hh大牛的专题好好做一遍....债好像越累越多了... 预备: 1/ 结点数为4*MAXN. 为什么不是2*MAXN? 因为MAXN不一定正好是2^x, 也就是说最底下那层最多可以有约2*MAXN个数. 所以总结点就是 2*2*MAXN. 2/ 一般来说, 结点...

2012-08-12 00:54:41

阅读数:503

评论数:0

HDU 3415 Max Sum of Max-K-sub-sequence[单调队列优化dp]

这题是有下界的最大子段和, 无上下界的最大子段和请看 hh大牛把这个归为单纯的单调队列题, 因为这个状态间不用转移, 其实无所谓啦, 思路都是一样的 思路: 单调队列优化dp 以i结尾的最大子段和 d[i] = max{ sum[i]-sum[k] | k=[i-K , i-1] }. ...

2012-08-22 00:25:43

阅读数:1073

评论数:0

HDU 1003 Max Sum + 单调队列优化dp解法

首先贴上经典dp解法,  以i结尾的最大子段和 d[i] = max(d[i-1]+a[i], a[i]). 但这不是本文的主要目的. 代码 O(n) : #include #include #include #include #include #include #include #incl...

2012-08-21 23:19:15

阅读数:690

评论数:0

POJ 2823 Sliding Window

http://poj.org/problem?id=2823 裸的单调队列. 注意: 队列里存的是下标, 就不要把他当做值用- - 代码: #include #include #include #include #include #include #include #include usi...

2012-08-21 20:04:54

阅读数:343

评论数:0

Vijos 1243 生产产品[单调队列优化dp]

好吧...作为我A掉的第一道单调队列优化dp....在高中生的OJ上....而且我调了一个半小时样例....然后很神奇的1A = =... 诶 这题果断比多校8的1005难啊...min里面的东西这么奇葩的...又 k 又 p 又 j 地...开始我以为只要一个队列, 搞了半天发现应该要N个队列...

2012-08-20 03:03:28

阅读数:1046

评论数:0

FZU 1894 志愿者选拔[双端队列/单调队列]

写这篇题解前重复一句被很多人说过的话...."一直以为单调队列就是优先队列, 2了....." 然后这题开始用priority_queue, 悲催地TLE了... 科普: 1/ 优先队列, 一般用堆实现, 就是STL里priority_queue那玩意...也就是优化di...

2012-08-19 23:32:09

阅读数:819

评论数:0

HDU 4302 Holedox Eating

多校的时候这题写了一个多小时....调了半个多小时过完样例, 然后一直wa..... 当时何其悲惨....其实也是很傻逼的一道, 就是模拟动物走的部分要写得仔细一点....尽量分模块写... 线段树: 单点更新, 区间查询, 维护区间离端点最近的有食物位置. 注意题目线段是0~n. ...

2012-08-13 16:09:58

阅读数:385

评论数:0

POJ-3667 Hotel[线段树]

题意: 有连续的N间房间, 两种操作, 一是Check in, 要找D间连续的空房间出来(房号尽可能小), 输出第一个的位置, 如果没有就输出0;  二是Check out, 从x号房开始连续的D个房间, 重新变成空房间. 思路: 1/ 先说我开始的想法: N个房间当成1~N的线段, 我们肯...

2012-08-12 20:47:46

阅读数:408

评论数:0

5798 - Jupiter Atacks!

http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3809 单点更新+区间查询+维护区间公式和 这题算是昨天开始刷...

2012-08-12 11:56:29

阅读数:364

评论数:0

HDOJ 1698 Just a Hook [区间替换+区间查询]

这题我知道我做过. 但是现在做还是搞了半天. 因为还是对 pushdown 这个没搞清楚. 这个函数不是维护e的 , 而是维护e的 子节点的. 由于这题只要查询一次整段的值, 返回a[1]即可. 代码1 (标准写法, pushdown维护到子节点): #include #inclu...

2012-08-12 03:05:41

阅读数:354

评论数:0

HDOJ-2795 Billboard [线段树][单点更新+单点查询+维护区间最值]

8s时限 单点更新+单点查询(要用区间信息来找到那个点) 注意:对于维护区间最值的, 附加域直接当主域用, 因为叶节点的最值就是那个点的值 思路: 1/ 维护区间最左的还未满w的点, 若整个区间满了, 用-1表示 这样不行的, 试想若最左未满点若剩余量还是 2/ 蒟蒻啊, 看了...

2012-08-12 01:00:02

阅读数:459

评论数:0

UvaOJ 112 - Tree Summing

题目 就是给你一个所谓的二叉树的S-expression 让你判断是否存在指定的 根到叶子的路径和。 我在这里用到cin.putback() (C里有 int ungetcA(int ch, FILE *stream) 在cstdio中),方便把下一个字符拿出来判断后再塞回缓冲区,最后用格式化...

2012-04-12 12:01:57

阅读数:676

评论数:0

UvaOJ 127 - "Accordian" Patience

题目 题意规则挺多的,但是读懂了还是清晰的,这里就不写了。 模拟题。我开了个双向链表,用struct 的 oop写的,没access control 看着挺乱但是写着还是挺爽的。130行...1Y。 代码: #include #include #include using ...

2012-04-11 21:46:51

阅读数:579

评论数:0

POJ 3468 A Simple Problem with Integers

分析:这题wa了好多次(看了下discuss好多人也是这样,好题~)。一处是sum值会超int32,要用int64。还有一处是toadd要累加,我不知道是受上一题影响还是怎的..pushdown的时候直接替换了...还有,据说北大oj要用%lld读.. 类型:成段更新。容易错.

2011-09-19 22:37:32

阅读数:380

评论数:0

HDOJ 1698 Just a Hook

分析: 只查询一次(总和)。toadd 表示以下全部替换为此值(而不是累加)。初始每个结点为1。 类型:成段更新(lazy标记)。线段树......(ps. 据说树状数组能做成段的?怎么做?再说~... 代码: //颜色:1 2 3 //You may consider t

2011-09-19 22:31:30

阅读数:398

评论数:0

HDOJ 1394 Minimum Inversion Number

分析:前段时间做的,大概是先求逆序数,再根据这个O(m)推出可能的最大逆序数。 类型:单点更新, 树状数组 / 线段树 代码(树状数组): #include #include using namespace std; #define MAXN 5002 #define I

2011-09-19 22:24:35

阅读数:497

评论数:0

HDOJ 1166 敌兵布阵

全裸的单点更新.... 代码: #include #include #include using namespace std; #define MAXN 50002 struct node { int mid, l, r; int v; }a[MAXN*4];

2011-09-19 22:20:50

阅读数:480

评论数:0

HDOJ 1754 I Hate It

类型:单点更新,线段树 / 树状数组 代码: #include #include #include using namespace std; inline int Rint() {int x; scanf("%d", &x); return x;} #de...

2011-09-19 22:18:38

阅读数:355

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭