分析,是一个dp的题目, 设f[i]表示以i为结尾的最大值,g[i]表示以i结尾的最小值,那么 f[i+1] = max{f[i]*arr[i+1], g[i]*arr[i+1],arr[i+1]} ,只有这三种情况. 考虑到f[i],g[i]只和i-1有关,那么可以用局部变量即可搞定,而不用使用数组. 1 import java.lang.Math; public class Solution { public double maxProduct(double[] arr) { double…
2021.08.09 P4868 Preprefix sum(树状数组) P4868 Preprefix sum - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 前缀和(prefix sum): \[S_i=\sum_{k=1}^i a_k \] 前前缀和(preprefix sum) 则把S_i作为原序列再进行前缀和.记再次求得前缀和第i个是SS_i 给一个长度n的序列a1,a2,⋯,a**n*,有两种操作: Modify i x:把a_i改成x: Query i:查…
2021.08.09 P6037 Ryoku的探索(基环树) P6037 Ryoku 的探索 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树的性质 2.基环树的性质 题意: Ryoku 所处的世界可以抽象成一个有 nn 个点, nn 条边的带权无向连通图 GG.每条边有美观度和长度. Ryoku 会使用这样一个策略探索世界:在每个点寻找一个端点她未走过的边中美观度最高的走,如果没有边走,就沿着她前往这个点的边返回,类似于图的深度优先遍历. 探索的一个方案的长度是…
2021.08.09 P6225 抑或橙子(树状数组) 重点: 1.异或用法 题意: Janez 喜欢橙子!他制造了一个橙子扫描仪,但是这个扫描仪对于扫描的每个橙子的图像只能输出一个 3232 位整数. 他一共扫描了 nn 个橙子,但有时他也会重新扫描一个橙子,导致这个橙子的 3232 位整数发生更新. Janez 想要分析这些橙子,他觉得异或操作非常有趣,他每次选取一个区间从 ll 至 uu,他想要得到这个区间内所有子区间的异或和的异或和. 例如 l=2,u=4l=2,u=4 的情况,记橙子序…
百度Elasticsearch-产品描述-介绍-百度云 https://cloud.baidu.com/doc/BES/FAQ.html#.51.46.57.73.73.7E.71.4C.6F.AA.87.63.3A.5D.30.30 PageCache 在查询中的作用很大 我们建议如果条件可以的话应该给ES留尽量多的pagecache,这能极大的优化我们的查询速度,如果pagecache不足够多,那么ES每次查询[fetch 文档,拿posting list]都会读取磁盘,此时系统就会变慢.…
2021.08.09 P5658 括号树(树形结构) [P5658 CSP-S2019] 括号树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 太长,在链接中. 分析及代码: //从一条链开始思考,得出num[x]=num[fa[x]]+1,sum[x]=sum[fa[x]]+num[x] //接下来思考是一棵树的情况:只是比一条链多了回溯 #include<cstdio> #include<algorithm> #include<iostream…
2021.08.09 P7238 迷失森林(树的直径) P7238 「DCOI」迷失森林 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树的直径两种求法:两次dfs.树形dp 题意: 首先给出一棵以 11 为根,nn 个结点的树,定义为「单位树」. 现有 nn 个结构与「单位树」完全相同的树,要将 nn 个树再用 n-1n−1 条边连接起来. 为方便叙述,用符号 (a,b)(a,b) 表示结点 aa 所代表树中,编号为 bb 的结点. 连接方式如下: 将 nn 棵…
2021.08.09 P5018 对称二叉树(树形结构) [P5018 NOIP2018 普及组] 对称二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求一棵子树,关于该子树根节点轴对称的节点数最大. 分析: 暴力. 代码如下: 40tps #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=1e6+10; in…
引用 前几天在网上看到一个淘宝的面试题:有一个很大的整数list,需要求这个list中所有整数的和,写一个可以充分利用多核CPU的代码,来计算结果.一:分析题目 从题中可以看到“很大的List”以及“充分利用多核CPU”,这就已经充分告诉我们要采用多线程(任务)进行编写.具体怎么做呢?大概的思路就是分割List,每一小块的List采用一个线程(任务)进行计算其和,最后等待所有的线程(任务)都执行完后就可得到这个“很大的List”中所有整数的和. 二:具体分析和技术方案 既然我们已经决定采用多线程…
这篇文章主要介绍了使用vue打包时vendor文件过大或者是app.js文件很大问题的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 第一次使用vue2.0开发,之前都是用的angular1.x.在使用vue-cli脚手架打包后(UI用的Element-ui),发现vendor文件很大,将近1M左右..后来翻阅资料才明白,原来webpack把所有的库都打包到了一起,导致文件很大. 我的解决办法: 1.把不常改变的库放到index.html中,通过cdn引入,比如下面这样: 然后…