把左边=null, 把最左边遍历到null 保证已经flatten 然后再弄右边 然后把root.right跟左边连接,再把右边连接到root.right的最下面 https://leetcode.com/problems/flatten-binary-tree-to-linked-list/dis ...
分类:
其他好文 时间:
2018-09-22 01:05:14
阅读次数:
144
一开始还真没想到。 发现从所有有宝藏的点出发绕一圈只要不刻意绕路答案都是一样的,即我们呢要求的最后答案$ans = dis(x_1, x_2) + dis(x_2, x_3) +... + dis(x_{k - 1}, x_k) + dis(x_k, x_1)$。 不刻意绕远路怎么办呢,我们把有宝藏 ...
分类:
其他好文 时间:
2018-09-20 19:53:16
阅读次数:
160
前期准备: 1. Linux环境,安装配置node.js ① 下载地址:http://nodejs.cn/download/ ,下载linux 64位 ② 已编译好的压缩包,解压到指定目录 ③ 设置软连接 2. 打包 ① 通过jenkins 将svn中代码发布到服务器中【未执行打包命令,不会有dis ...
分类:
Web程序 时间:
2018-09-20 11:10:26
阅读次数:
738
一道可以用各种各样的办法做的~~(水)~~题 在这里就介绍两种做法 题意: 自己看看吧,很明显的意思,就是求前i个人最少有多少个话筒。 解法1:差分约束 设$dis[i]$表示前$i$个人最少有多少个话筒 根据题目意思每个人都只能有一个话筒 所以 $dis[i[+1 =dis[i+1] dis[i+ ...
分类:
其他好文 时间:
2018-09-17 17:40:16
阅读次数:
135
最短路和最小生成树应该是很早学的,大家一般都打得烂熟,总结一下几个问题 一 dijkstra O((V+E)lgV) //V节点数 E边数 1.算法实现 dijkstra就是建立一个已知单源最短路的点集A,然后不断扩张这个点集。扩张的方法就是在未知最短路径的点集B中维护一个以目前的dis[x]排名( ...
分类:
其他好文 时间:
2018-09-16 18:02:18
阅读次数:
191
int handler::sample_next(uchar *buf) { // Temporary set inited to RND, since we are calling rnd_next(). int res = rnd_next(buf); std::uniform_real_dis... ...
分类:
数据库 时间:
2018-09-15 16:36:41
阅读次数:
213
题目链接 https://www.luogu.org/problemnew/show/SP338 分析 联想到不久前做过的一道题$Full$ $Tank$,感觉可以用优先队列做,于是写了$dijsktra$(非负权图不敢用$SPFA$了) 然后发现错了,想了挺久,发现它实际上是可以找$dis$更大的 ...
分类:
其他好文 时间:
2018-09-14 20:01:11
阅读次数:
229
题意自己看。。。 思路 没想到今(昨)天刷着刷着点分治的水题,就刷出来了一个点分树。。。 然后就疯狂地找题解,代码,最后终于把它给弄懂了。 点分树——动态点分治,对于此题来说,我们发现设u为当前的补给站位置,v是它的一个儿子。同时设dis(i,j)为树上i点到j点的距离。sumi为以i为跟的子树中d ...
分类:
其他好文 时间:
2018-09-11 22:00:19
阅读次数:
217
题意:原题在这 快递小哥从city 0出发去(n+1)*(n+1)城市矩阵中送快递,求来回最短时间 做法: TSP问题,这里选用dp做法 Floyd初始化城市间的距离; 令dp[1<<i][i]=dis[0][i]; 表示先走一格,好转移 dp[s][j]表示走了j个城市,状态为s时的最小时间 注意 ...
分类:
其他好文 时间:
2018-09-09 20:34:01
阅读次数:
187
枚举起点做spfa,然后一条边在最短路上的条件是dis[e[i].to]==dis[u]+e[i].va,所以每次spfa完之后,dfs出a[i]表示经过i点的最短路的起点数,b[i]表示经过i点的最短路的终点数,一条边(u,v)在当前起点下的答案就是a[u] b[v],最终答案是总和 因为最短路构 ...
分类:
其他好文 时间:
2018-09-08 16:00:23
阅读次数:
166