2014年8月9日
摘要: 迷宫问题通常是采用bfs方法去做,而且利用队列保存所访问过的但还未进行操作的点,从一个点出发将整个图遍历一遍,遍历过程中通过事先保存的用二维数组代表的方向,每次遍历每个方向在迷宫问题中往往判断能否到达一个点,就是从你所要出发的点开始遍历,bfs完成后,去找那个点对应的visit值来进行判断而在bfs... 阅读全文
posted @ 2014-08-09 23:58 Love风吟 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 首先还是要清楚一下堆操作的代码,毕竟线段树打多了,打堆的时候总会往线段树方向靠近首先是建堆:D=1;for(;D>=1,j>>=1){ if(~i&1) ans+=sum[i^1]; if(j&1) ans+=sum[j^1]; } return ans;}更新操作:void update(int ... 阅读全文
posted @ 2014-08-09 16:56 Love风吟 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目大意:就是给定一段区间令其中的数增加一个递增序列(也就是说第一个+1,第二个+2.。。。。)询问操作是区间的和这里的查询很简单,但是对于添加递增序列入区间就比较搞脑子了我们需要一个add[]作为区间的首个数字增加的值,del[]表示等差数列的公差,因为你每次添加进入一个等差数列,是可以叠加的但公... 阅读全文
posted @ 2014-08-09 16:18 Love风吟 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 4 char en[11],fr[11]; 5 int st; 6 struct Tire{ 7 int next[26]; 8 char eng[11]; 9 }node[200005];10 void insert(char... 阅读全文
posted @ 2014-08-09 00:09 Love风吟 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目大意:不断将放进来的数字插入要求位置,最后将他们的值按在其所在顺序排序简单的线段树问题,单点查询,从反向点一个个插入,线段树表示区间内还有多少空位,像找第几小的数那样自顶向下递归知道x==y代码: 1 #include 2 #include 3 #include 4 using names... 阅读全文
posted @ 2014-08-09 00:01 Love风吟 阅读(266) 评论(0) 推荐(0) 编辑