• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






tim11

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2012年8月24日

hdu 2795 Billboard (线段树)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2795(1)用到了线段树求最大值。线段树求最值、求和是两种重要工具,很多题目要以此为基石(很多时候第一眼看不出来要用上他们)。 本题的本质为求一段区间的最大值,每读入一个新的数据,都要递归地与该最大值判定,最底层时更新信息,得到结果。(2)线段树输入数据较多,不宜使用C++输入输出数据流(会超时的)。(3)多开了一个数组,没有赋初值,直接运算,但并没有对结果产生影响(独立的变量,不影响其他数的值),结果判定为WA。。。(4)注意到一个优化:h=min(h, n);否则要开一个1亿的数组,显然是不现实的。具.. 阅读全文
posted @ 2012-08-24 19:46 tim11 阅读(128) 评论(0) 推荐(0)
 
poj 3468 A Simple Problem with Integers (线段树)(*****)
摘要: http://poj.org/problem?id=3468(1)求和的线段树,注意某些数据用__int64 类型,这里用到了延迟操作(事先打标记,时候用到时处理),即 pushdown 和 mark数组 的使用。(2)为什么我的代码吃吃未能通过。。。通过的代码:View Code #include <stdio.h>#include <string.h>#include <algorithm>using namespace std;typedef struct{ int l,r,lazy; long long num,tag;}Tree;Tree tree 阅读全文
posted @ 2012-08-24 17:01 tim11 阅读(136) 评论(0) 推荐(0)
 
hdu 4000 (Fruit Ninja )(树状数组+数学知识)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4000(1)核心算法:插入一个数 x ,求已插入的比 x 小的数的个数。(2)核心数学知识:要求的满足 i<j<k && x<z<y 的(x, y, z)的组数。下面简写数学小知识:x<z<y = x<y?z - x<y<z; 其中,y?z 表示 y, z 的大小没有确定。更多的数学处理详见代码。(3)考虑过更新时是update(a-1),还是update(a),这取决于更新和调用的顺序,顺序变了,代码自然变了一点点。这里附上代码2,一边比 阅读全文
posted @ 2012-08-24 09:21 tim11 阅读(210) 评论(0) 推荐(0)