随笔分类 -  数据结构

POJ2828 Buy Tickets 线段树
摘要:思路:查看了网上不少博客,感觉都写得很朦胧,都说从后往前插。这个倒好理解。但是很多都没说清楚为什么用线段树,用的思路。搞得我一头雾水。毕竟是刚接触线段树,对线段树理解也不够。今天晚上硬着头皮推敲。终于有点思路了。我的理解:就例子0 201 191 380 31从后往前插。首先是0 31.位置是精确的就是在第0位。然后是1 38.38想插在第1位。但是这是38一厢情愿,他能不能最终落在第1位,必须经过0 31的同意。即因为在1 38的操作后,0 31的操作会使1 38位置变动。怎么变动?很简单,就是往后退一位,使1 38的操作最终下场是38落在了位置1+1=2,第2位。说到这里是不是有点启发了。 阅读全文
posted @ 2011-12-04 13:20 不是我干的 阅读(208) 评论(0) 推荐(0)
POJ1979 Red and Black dfs基础题
摘要:#include<iostream> using namespace std; int n,m; const int N=22; char mat[N][N]; int sx,sy; int dx[4]={-1,0,0,1}; int dy[4]={0,1,-1,0}; int ans; bool visit[N][N]; void dfs(int x,int y) { for(int i=0;i<4;i++) { int xx=x+dx[i]; int yy=y+dy[i]; if(xx>=1&&xx<=m&&yy<=n&a 阅读全文
posted @ 2011-08-31 22:56 不是我干的 阅读(123) 评论(0) 推荐(0)