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

网站注册页面怎么做数据验证做曖視頻网站

网站注册页面怎么做数据验证,做曖視頻网站,装饰公司名称大全简单大气,企业网络营销成功案例目录 题目算法标签: 动态规划, 树上 d p dp dp思路树形 d p dp dp解法代码树上背包问题解法代码 题目 P2014 [CTSC1997] 选课 算法标签: 动态规划, 树上 d p dp dp 思路 非常显而易见的树上 d p dp dp问题, 可以考虑状态表示 f [ u ] [ j ] f[u][j] f[u][j]代表以 u u u为根…

题目

P2014 [CTSC1997] 选课

算法标签: 动态规划, 树上 d p dp dp

思路

非常显而易见的树上 d p dp dp问题, 可以考虑状态表示 f [ u ] [ j ] f[u][j] f[u][j]代表以 u u u为根节点的子树 分配 j j j个节点的最大价值

树形 d p dp dp解法代码

在递归之前先使用父节点更新当前节点信息, 在递归之后使用子节点更新父节点信息, 这样统计的信息是全面的

#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;const int N = 310, M = N << 1;int n, m;
int head[N], ed[M], ne[M], idx;
int w[N];
int f[N][M];void add(int u, int v) {ed[idx] = v, ne[idx] = head[u], head[u] = idx++;
}void dfs(int u, int cnt) {if (cnt <= 0) return;for (int i = head[u]; ~i; i = ne[i]) {int v = ed[i];for (int k = 0; k < cnt; ++k) f[v][k] = f[u][k] + w[v];dfs(v, cnt - 1);for (int k = 1; k <= cnt; ++k) f[u][k] = max(f[u][k], f[v][k - 1]);}
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);memset(head, -1, sizeof head);cin >> n >> m;for (int i = 1; i <= n; ++i) {int fa;cin >> fa >> w[i];if (fa) add(fa, i);else add(0, i);}dfs(0, m);int ans = f[0][m];cout << ans << "\n";return 0;
}

树上背包问题解法代码

定义状态表示 f [ u ] [ i ] [ j ] f[u][i][j] f[u][i][j]表示以 u u u为根节点的子树中考虑 i i i个子节点并且总的体积不超过 j j j的所有方案中, 价值最大的方案, 因为是 d f s dfs dfs进行状态转移, 可以像 01 01 01背包问题一样优化掉一维, 但是第二维的体积需要反向枚举

#include <iostream>
#include <algorithm>
#include <cstring>using namespace std;const int N = 310, M = N << 1;int n, m;
int head[N], ed[M], ne[M], idx;
int f[N][M];void add(int u, int v) {ed[idx] = v, ne[idx] = head[u], head[u] = idx++;
}void dfs(int u) {for (int i = head[u]; ~i; i = ne[i]) {int v = ed[i];dfs(v);for (int j = m; j >= 0; --j) {for (int k = 0; k < j; ++k) {f[u][j] = max(f[u][j], f[u][j - k] + f[v][k]);}}}
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);memset(head, -1, sizeof head);cin >> n >> m;m++;for (int i = 1; i <= n; ++i) {int fa;cin >> fa >> f[i][1];add(fa, i);}dfs(0);int ans = f[0][m];cout << ans << "\n";return 0;
}
http://www.dtcms.com/wzjs/823168.html

相关文章:

  • 我的网站怎么做南充市房产信息网
  • 长沙网站开发智做网站什么用
  • 高网站建设杭州网络科技设计中心
  • 数据库查询网站模板徐州领航装饰工程有限公司
  • 外包建站公司视频投票网站怎么做
  • 建站模板企业网站升级
  • 微网站开发平台 开源wordpress获取文章所有标签
  • 国家有规定必须做可信网站验证深汕特别合作区人口
  • 制作网站用什么代码万网域名管理登录
  • 响应式网站建设方案外汇平台 网站开发
  • 一次性筷子网站建设网页美工设计教案网页元素设计
  • 质量好网站建设商家科技网站制作
  • 宁波三盛网络网站建设黄页网址大全
  • 汽车之家网站是谁做的网站建建设
  • 南昌做网站的公司哪里好wordpress个人展示
  • 网站建设图片怎么动win2003 做网站服务器
  • 网站建设 意识形态小黄猫传媒有限公司官方首页
  • 网站建设 百度百科关于做网站的调查问卷
  • 网站开发用python吗急招室内设计师
  • 如何用php做网站管理系统营销型网站设计的内容
  • 网络违法犯罪举报网站深圳制作网站建设的企业
  • 商城网站开发的完整流程如何做电商新手入门
  • 网站友链邢台网站制作平台
  • 内江建设局网站画册设计网站推荐
  • 网站 拉新西安网页设计培训班
  • 站长之家网站模板中国新闻社简介
  • 上海模板网站辽宁城乡建设部网站首页
  • 建行官方网站首页沈阳手机网站
  • 网站建设主要业务流程设定优秀的网站有哪些内容
  • 牡丹江百度推广百度seo优化方法