leetcode146周赛-1130-叶值的最小代价生成树*
题目描述:


class Solution(object):
def mctFromLeafValues(self, arr):
"""
:type arr: List[int]
:rtype: int
"""
n = len(arr)
f = {: [] * n}
for l in range(, n + ):
f[l] = [] * n
for i in range(n + - l):
f[l][i] = <<
for k in range(, l):
a = max(arr[i:i+k])
b = max(arr[i+k:i+l])
v = a * b + f[k][i] + f[l - k][i + k]
if v < f[l][i]:
f[l][i] = v
return f[n][]
class Solution(object):
def mctFromLeafValues(self, arr):
"""
:type arr: List[int]
:rtype: int
"""
n = len(arr)
f = {1: [0] * n}
for l in range(2, n + 1):
f[l] = [0] * n
for i in range(n + 1 - l):
f[l][i] = 1 << 31
for k in range(1, l):
a = max(arr[i:i+k])
b = max(arr[i+k:i+l])
v = a * b + f[k][i] + f[l - k][i + k]
if v < f[l][i]:
f[l][i] = v
return f[n][0]
leetcode146周赛-1130-叶值的最小代价生成树*的更多相关文章
- 图论相关知识(DFS、BFS、拓扑排序、最小代价生成树、最短路径)
图的存储 假设是n点m边的图: 邻接矩阵:很简单,但是遍历图的时间复杂度和空间复杂度都为n^2,不适合数据量大的情况 邻接表:略微复杂一丢丢,空间复杂度n+m,遍历图的时间复杂度为m,适用情况更广 前 ...
- leetcode146周赛-1131-绝对值表达式的最大值
题目描述: class Solution: def maxAbsValExpr(self, arr1, arr2) -> int: def function(s1,s2): result1=[] ...
- [Swust OJ 404]--最小代价树(动态规划)
题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535 Des ...
- SPH算法(求最小代价树)
一.sph算法简介 1.最小代价树算法 SPH算法也叫做MPH( minimum path heuristic)算法, 用于构造时延约束最算法小代价组播树. 该算法中每 个目的结点通过与当前组播树有最 ...
- POJ 3666 Making the Grade(数列变成非降序/非升序数组的最小代价,dp)
传送门: http://poj.org/problem?id=3666 Making the Grade Time Limit: 1000MS Memory Limit: 65536K Total ...
- [NOIP2015模拟10.22] 最小代价 解题报告 (最小生成树)
Description 给出一幅由n个点m条边构成的无向带权图.其中有些点是黑点,其他点是白点.现在每个白点都要与他距离最近的黑点通过最短路连接(如果有很多个黑点,可以选取其中任意一个),我们想要使得 ...
- [LeetCode] 1123. Lowest Common Ancestor of Deepest Leaves 最深叶结点的最小公共父节点
Given a rooted binary tree, return the lowest common ancestor of its deepest leaves. Recall that: Th ...
- B: 最小代价
B: 最小代价 题解:先用最小生成树求联通所有点的最小代价ans 在求度为1的时候权值最大的点mx ans-mx就是答案 #include<iostream> #include<al ...
- 51nod1476 括号序列的最小代价
这题应该可以用费用流写吧?不过我想不出贪心来TAT.其实还是单调队列乱搞啊T_T //ÍøÉϵÄ̰ÐÄËã·¨ºÃÉñ°¡¡£¡£¡£ÎÒÖ»»áÓÃ×îС·ÑÓÃ×î´óÁ÷ÅÜTAT #in ...
随机推荐
- C++的new和delete
#include <iostream> using namespace std; int main(int argc, char *argv[]) { int *p = NULL; //定 ...
- String类的substring()方法
截取字符串,在java语言中的用法 1. public String substring(int beginIndex) 返回一个新字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符 ...
- tensorflow run()和 eval()
eval()只能用于tf.Tensor类对象,也就是有输出的Operation.对于没有输出的Operation, 可以用.run()或者Session.run() 所以我们训练的时候,对于优化器只能 ...
- solr 如何实现精确查询
第一条和第三条不应该出现的. 解决办法
- React:styled-components
``是es6的Template Literals(模版字符串),许多人对这个一知半解,今天在这边总结下: `${expression}`(表达式插补) var x; var y; sth.innerH ...
- 《转》python基础下
转自http://www.cnblogs.com/BeginMan/archive/2013/04/12/3016323.html 一.数字 在看<Python 核心编程>的时候,我就有点 ...
- 5-Python操作MySQL步骤
1.引入模块 在py文件中引入pymysql模块 from pymysql import *(connect) 2.创建connection连接对象 conn=connect(参数列表) 参数host ...
- 【csp】2017-12
第一题:游戏 题目: 题意:啊,不多赘述.看的懂. 题解:sort一下直接暴力比较大小. 代码: #include<iostream> #include<cstdio> #in ...
- docker集群管理之kubernetes
一.简介 kubernetes又叫做k8s,是Google开发的一款开源的docker集群管理工具,在这里对它的“发家史”,我不做过多的阐述,有时间大家可以自己去百度一下: 下面我要讲的就是容易混淆的 ...
- java_函数式编程
创建函数式接口: //定义了一个函数式接口 @FunctionalInterface public interface BlogTest { /* 函数式接口: 概念:有且仅有一个抽象方法的接口 接口 ...