-
2009-03-02
poj 2991 Crane 线段树+极角旋转 - [武林秘籍]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://clover520.blogbus.com/logs/35921902.html
{x, y} *| cosa, sina | ={x',y'}
| -sina, cosa |x',y'是新坐标。a是逆时针旋转角。
这个题旋转到固定角度可以转化到旋转角度。
如果只是某一关节旋转,那么此结点以后的点之间的相对位置都是不变的。我们只传递标志就行了。那它前面的,显然也不变。所以我们只要在对结点标记以后,相应的更新一下浏览过的结点就好了。
也或者理解为插入区间为(k,n],插入运算是矩阵右乘。
不过发生了一个很灵异的事情。对于线段树,二叉,没有单度结点。如果有n个叶子结点,那么总点数应该是2n-1.但是实际应用中。。预留内存放到2n都会出错。。所以比较保险的方法是放到3n以上。。不明白为何呢。
收藏到:Del.icio.us








评论
*******************************************
这句话,如果是完全二叉树的话,是正确的;
确实静态线段树用的是完全二叉树原理来保存的;
而叶子节点并不是都在最后一层的;
底层,甚至一些上层都会是没有用到的;
所有,预留能存2n的话,往往是不够的;
应该是这样吧。。
我终于看得大概明白了- -|||