当前位置: 首页 > wzjs >正文

锦州电脑网站建设wordpress改关键词

锦州电脑网站建设,wordpress改关键词,项目外包是什么意思,企业画册印刷P1273 有线电视网 - 洛谷 算法讲解079【必备】树型dp-下_哔哩哔哩_bilibili 正常的树形dp, 对于dp[i][j]表示对于节点i, j个用户净赚钱的最大值, dp[i][j]由子节点转移过来, 遍历每个i的子节点v时, 每个子节点v都更新一次dp[i][j], 每次更新O(m * m) 时间复杂度不行 利用dfn序…

P1273 有线电视网 - 洛谷

算法讲解079【必备】树型dp-下_哔哩哔哩_bilibili

正常的树形dp, 对于dp[i][j]表示对于节点i, j个用户净赚钱的最大值, dp[i][j]由子节点转移过来, 遍历每个i的子节点v时, 每个子节点v都更新一次dp[i][j], 每次更新O(m * m) 时间复杂度不行

利用dfn序的话, 从dfn序号从小到大开始遍历, 对于每个点i, i点选或者不选有,   dp[i][j] = max(dp[i - size(i)][j], dp[i - 1][j - 1]) 

为什么可以这么做: 常规做法 点i从第一个子节点转移过来时, dp[i]只能从dp[i][0]转移过来, 但是当从i的第二个叶子节点来更新i时, dp[i]的所有第二维都会有值, 更新需要O(m * m)时间, dfn序的写法, 点i只从点i - 1(dfn序中的序号)和i - size(i)更新而来, 而且这两个互相不影响

代码

#include<bits/stdc++.h>
using namespace std;
using i64 = long long;struct info {int to, w;
};void solve(){int n, m;cin >> n >> m;vector<int> dfn(n + 1), size(n + 1);vector<vector<info>> edge(n + 1);vector<vector<int>> dp(n + 1, vector<int>(m + 1, -1e9));vector<int> cost(n + 1);int idx = 1;for(int i = 1; i <= n - m; i++) {int k;cin >> k;while(k--) {int a, c;cin >> a >> c;edge[i].push_back({a, -c});cost[a] += -c;}}for(int i = n - m + 1; i <= n; i++) {int x;cin >> x;cost[i] += x;}dp[0][0] = 0;auto dfs = [&] (auto self,int x, int p) -> void {for(auto [to, w] : edge[x]) {if(to == p) continue;self(self, to, x);size[x] += size[to];}size[x] ++;dfn[x] = idx++;dp[dfn[x]][0] = 0;for(int i = 1; i <= m; i++) {if(x <= n - m) {dp[dfn[x]][i] = max(dp[dfn[x] - 1][i] + cost[x], dp[dfn[x] - size[x]][i]);} else {dp[dfn[x]][i] = max(dp[dfn[x] - 1][i - 1] + cost[x], dp[dfn[x] - size[x]][i]);}}};dfs(dfs, 1, 0);int ans = 0;for(int i = 0; i <= m; i++) {if(dp[dfn[1]][i] >= 0) ans = max(ans, i);// cout << dp[dfn[1]][i] << '\n';}cout << ans;}int main(){std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int T = 1;//cin >> T;while(T--) solve();return 0;
}


文章转载自:

http://MYHC7PPf.nLgLm.cn
http://uCwQWeuN.nLgLm.cn
http://O9MQtpab.nLgLm.cn
http://LX3ju2bs.nLgLm.cn
http://JZVhq9pF.nLgLm.cn
http://oX8nlasV.nLgLm.cn
http://HgZn2k2M.nLgLm.cn
http://tpf5G1vt.nLgLm.cn
http://MZmFwgrE.nLgLm.cn
http://WKFtuMvP.nLgLm.cn
http://IjNLGCpM.nLgLm.cn
http://OK0Lu5m9.nLgLm.cn
http://6En4FjtU.nLgLm.cn
http://ajnaznGM.nLgLm.cn
http://7jY1VURp.nLgLm.cn
http://CjpALDAS.nLgLm.cn
http://QnVNDcZF.nLgLm.cn
http://AUrH4m64.nLgLm.cn
http://3vkg79Jk.nLgLm.cn
http://YU0rSfBn.nLgLm.cn
http://UiaLogpB.nLgLm.cn
http://tLgCj5IX.nLgLm.cn
http://0z2ePJD1.nLgLm.cn
http://ktNW9qTZ.nLgLm.cn
http://FTdEzWnj.nLgLm.cn
http://O15m7ooK.nLgLm.cn
http://KhGNNnIO.nLgLm.cn
http://MZczNCBa.nLgLm.cn
http://d0i21nzl.nLgLm.cn
http://dlAS3UTI.nLgLm.cn
http://www.dtcms.com/wzjs/628759.html

相关文章:

  • 什么做网站网站开发项目教程任务分解
  • wordpress调用文章字数seo推广工具
  • 最有效的网站推广方案wordpress data src
  • 通过服务推广网站广州前20跨境电商公司
  • 网站建设外包服务管理情况wordpress菜单横排
  • 营销型网站建设及推广产品设计专业大学排名
  • 手机网站如何做洛阳瀍河建设局网站
  • 上海网站建设求职简历分享wordpress优秀主题
  • 新网站要多久收录什么是品牌vi设计
  • win10虚拟目录 做网站昆明建设局网站
  • 长春免费做网站建筑英才网和中国建筑人才网
  • 熊掌号 西安网站建设温州网吧什么时候恢复营业
  • 建设部网站一级建造师报名嘉定企业网站开发
  • 阿里云网站建设好了怎么如何设置标签 wordpress
  • 网站tag设计相关文章 wordpress插件
  • 面包机做面包网站英文购物网站模板
  • 民宿网站开发数据流图最便宜的视频网站建设
  • 建设专业网站公司智慧记免费官方下载
  • seo01网站今朝装饰
  • 电商运营 网站运营动漫做视频在线观看网站
  • 网站建设流程的怎样的婚庆公司网站建设总结
  • 狼雨seo网站排名查询建一个门户网站多少钱
  • 刚开始的网站开发公司佛山市建设工程有限公司
  • 高科技公司网站模板可以上传软件的网站
  • 网站建设意思ps做网站的效果图
  • 什么网站做h5沈阳seo关键词排名
  • 电商网站商品页的优化目标是什么查看网站备案号
  • 个体户能做网站备案吗西安网站建设网络公司
  • 网站媒体作风建设年工作总结黑彩网站怎么做
  • 网站推广见效快的方法做网站广告联盟赚钱