首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
树转专题
【树转数组】poj1195
/*二维的树状数组:更新某个元素时:NO.1:c[n1],c[n2],c[n3],....,c[nm];其中n1 = i,n(i+1) = ni+lowbit(ni);nm+lowbit(nm)的值应该大于元素个数N。NO.2:sum(k)=c[n1]+c[n2]+...+c[nm];其中nm=k,n(i-1)=ni-lowbit(ni);n1-lowbit(n1)的值应该小于0
阅读更多...
剑指offer-70-36 二叉搜索树转双向链表
https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tqId=11179&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 想明白过程就很简单,记录上一次访问的点。 /*struct
阅读更多...
hdu-1011- Starship Troopers-自由树转二叉树+树形DP
题目很水,但是有很多易错点。。。 注意: 1,题目输入的时候是自由树,无向边。 2,如果某个点的bugs是0,也必须有至少一个士兵经过此点。 做法:: 按照题意,把自由树转为二叉树。 然后树形dp dp[x][y]:在二叉树中的x节点为根的树中,使用了y个士兵获得的最大值。 dp[x][y]=dp[node[x].l][k]+nval[x]+dp[node[x].r][y-k];
阅读更多...