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






tim11

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 6 7 下一页

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)
 

2012年8月23日

poj 2481 Cows(树状数组)
摘要: http://poj.org/problem?id=2481(1)对树状数组不熟练,但本题是最基本的树状数组。(2)和星星那题本质一样,求比 x 大的其他已经入树的 x 的个数。只是多了一个排序处理 而已。(3)之前没有进行排序,工作量特别大,效率很低,而且变量特别多,理解起来也比较吃力。 所以,排序处理是十分必要的。这里附上超时的代码。具体代码:View Code #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn=101000;i 阅读全文
posted @ 2012-08-23 17:17 tim11 阅读(133) 评论(0) 推荐(0)
 

2012年8月22日

hdu 1394 Minimum Inversion Number (线段树求逆序数)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1394(1)先构造一棵线段树(初始化),然后按先后顺序依次处理每一个数。对每一个数需要两种操作: 1)查询已经入树的比该数大的数的个数; 2)将该数插入到线段树中。 (2)尝试过将1)和2)合并,只写一个函数,AC了。详细操作见代码2 。具体代码:View Code #include<stdio.h>#include<string.h>#include<algorithm>#define lson l, m, rt<<1#define rson m+1, r, 阅读全文
posted @ 2012-08-22 20:48 tim11 阅读(165) 评论(0) 推荐(0)
 
hdu 1166 敌兵布阵(线段树基本操作)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1166(1)纯属敲模版,没有什么特别的。错了两次:一次是TLE,原因是输出了不该输出的(测试用的,忘了删掉);另一次WA,原因是没有输出该输出的(cas)。具体代码:View Code #include<stdio.h>#include<string.h>#include<algorithm>#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1using namespace std;const in 阅读全文
posted @ 2012-08-22 15:20 tim11 阅读(228) 评论(0) 推荐(0)
 
uva 401(Palindromes)(回文字符串)
摘要: (1)镜面、回文字符串判定,简单的字符串问题,uva上的第一交,AC。(2)开数组记录较为凌乱的数据,常用的手段。具体代码:View Code #include<stdio.h>#include<string.h>char map1[]="ABCD EFG HIJK LMN PQR STUVWXYZ1234 567 89 ";char map2[]="A BCD3 FGHIL KJM N PQR2TUVWXY51SE 4Z 678 9" ;char str[100];int cmp1(int x, int y){ return s 阅读全文
posted @ 2012-08-22 14:37 tim11 阅读(212) 评论(0) 推荐(0)
 
poj 2352/zstu3106 Star(线段树基本题)
摘要: http://poj.org/problem?id=2352http://acm.zstu.edu.cn:8080/JudgeOnline/showproblem?problem_id=3106(1)解题时想用上线段树,题中数据已经排好序了,排序以 y 为主,以 x 为辅。而每颗星星的等级是两个坐标均不大于该星星的总数目(不包括自己), 所以 y 的值是“无用的数据”。只需要知道有多少个其他星星的 x 小于该星星自身的 x ,即为该星星的等级数。可以用线段树加速这个过程。(2)第一种方法用的不是线段树: 1)神奇的位运算:int lowbit(int x){ return x&(... 阅读全文
posted @ 2012-08-22 10:37 tim11 阅读(209) 评论(0) 推荐(0)
 
zstu 2585 骑士问题(简单的bfs)
摘要: http://acm.zstu.edu.cn:8080/JudgeOnline/showproblem?problem_id=2585(1)非常基本的类型。(2)写时把e, s 弄混了, 而且条件:if(s.x<=0||s.x>8||s.y<=0||s.y>8||map[s.x][s.y]) 写成了:if(s.x<0||s.x>8||s.y<0||s.y>8||map[s.x][s.y])具体代码:View Code #include<stdio.h>#include<string.h>#include<queue& 阅读全文
posted @ 2012-08-22 08:51 tim11 阅读(175) 评论(0) 推荐(0)
 

2012年8月21日

poj 2777/ zstu 3109 Count Color(线段树)
摘要: http://poj.org/problem?id=2777http://acm.zstu.edu.cn:8080/JudgeOnline/showproblem?problem_id=3109(1)给指定的区间重新染色、统计不同颜色数。难点在于如何有效地重新染色。这里用到了 pushdown() 函数,即不在本次全部更新,而是设置标志数组 (color[]),在下次要访问的时候加上 pushdown() 函数。(要更新,下次,而且用到了才更新。)(2)有一个细节,输入的 a, b 需要预处理 if(a>b) {int x=a;a=b;b=x;} (否则,必然会WA。。)具体代码:Vie 阅读全文
posted @ 2012-08-21 15:55 tim11 阅读(201) 评论(0) 推荐(0)
 
上一页 1 2 3 4 5 6 7 下一页