线段树
王勤勤王
不骄不躁,如此甚好
展开
-
hdu 1166 敌兵布阵 线段树基础经典题
#include #include #include #include #include #include using namespace std; struct soldier{ int r,l,n; }T[150055]; void build(int l,int r,int k) { int mid; if(l==原创 2017-08-23 15:40:53 · 156 阅读 · 0 评论 -
hdu 1556 线段树区间更新 树状树状 基础题
#include #include #include using namespace std; struct Tree{ int l,r,n; }tree[1000000]; int ans[1000000]; void build(int l,int r,int n){ tree[n].l=l; tree[n].r原创 2017-08-23 15:36:55 · 173 阅读 · 0 评论 -
HDU 6112 今夕何夕 “2017百度之星 1005”
这道题主要是解决两个日期直接的日期差,如果两日期的差%7为0则代表是同一个星期日。而解决日期差最麻烦的就是解决2月29的问题。 2月29日的问题有以下几个点要考虑: 一、之后的第一年是不是要经过2月29这一天,如果经过了或者当年不是闰年,到下一年的今天则+365(下一年不是闰年的情况) 二、在之后的每一年如果是闰年则加上366,否则365 三、在判断时(也就是判断是否是最后一年),要判断这原创 2017-08-14 15:47:16 · 287 阅读 · 0 评论 -
HDU 1072 Nightmare BFS
#include #include #include #include using namespace std; struct node{ int x,y,step,time; }start; int n,m; int map[10][10]; int to[4][2]={{1,0},{-1,0},{0,1},{0,-1}}; //控制方向 void bfs(){ que原创 2017-08-07 16:46:38 · 196 阅读 · 0 评论 -
汉诺塔的初步学习与理解笔记 例 HDU1995
汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一回只能移动一个圆盘。 当只有一个盘子的时候,只需要从将A塔上的一个盘子移到C塔上。 当A塔上有两个盘子时,先将A塔上的1号盘子(编号从上到下)移动到B翻译 2017-07-24 16:41:47 · 307 阅读 · 0 评论