首页 > 其他分享 >404 没有上司的舞会2

404 没有上司的舞会2

时间:2024-10-06 17:44:40浏览次数:1  
标签:舞会 上司 idx int dfs 404

// 404 没有上司的舞会2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
http://oj.daimayuan.top/course/5/problem/219

一家公司里有 n个员工,他们的编号分别是 1到 n,
其中 1号员工是公司 CEO,CEO 在公司里没有上司。除了 CEO 外,每个人都有一个直接上司。
 今天公司要办一个舞会,为了大家玩得尽兴,如果某个员工的直接上司来了,他/她就不想来了。
 i号员工来参加舞会会为大家带来 ai点快乐值。由于场地有大小限制,场地最多只能容纳 m个人。
 现在我们想要确定一组员工参加舞会的方案,使得快乐值总和最大。请求出快乐值总和最大是多少。

输入格式
第一行两个整数 n,m。

接下来一行 n−1个整数 f2,f3,…,fn
,其中 fi(1≤fi<i)表示 i号员工的上司的编号。

接下来一行 n个整数 a1,a2,…,an
 表示每个员工参加舞会带来的快乐值。

输出格式
一行一个整数表示答案。

样例输入
5 2
1 2 3 1
1 8 10 8 2
样例输出
16
数据规模
对于所有数据,保证 2≤n≤500,0≤m≤n,1≤ai≤100000。


2 1
1
1 2

2 1
1
3 2

2 2
1
1 2

2 2
1
3 2


3 2
1 1
1 2 3

3 1
1 1
1 2 3

3 2
1 2
1 2 3

3 1
1 2
1 2 3

*/


#include <iostream>
#include <memory.h>
#include <unordered_set>

using namespace std;

const int N = 510;
int dp[N][N][2];
int h[N], e[N], ne[N], idx;
int n, m;
int val[N];
int ans;

void add(int a, int b) {
	e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}

void dfs(int u) {
	dp[u][1][1] = val[u];
	for (int i = h[u]; i != -1; i = ne[i]) {
		int j = e[i];
		dfs(j);
		for (int k = m; k >=0 ; k--) {
			for (int h = 0; h <= k; h++) {
				dp[u][k][0] = max(dp[u][k][0], dp[u][k - h][0] + dp[j][h][0]);
				dp[u][k][0] = max(dp[u][k][0], dp[u][k - h][0] + dp[j][h][1]);
				dp[u][k][1] = max(dp[u][k][1], dp[u][k - h][1] + dp[j][h][0]);
			}

			if (u == 1) {
				ans = max(ans, dp[u][k][0]);
				ans = max(ans, dp[u][k][1]);
			}
		}
	}

}

int main()
{
	memset(h, -1, sizeof h);
	cin >> n >> m;

	for (int i = 2; i <= n; i++) {
		int t; cin >> t;
		add(t, i);
	}
	for (int i = 1; i <= n; i++) {
		cin >> val[i];
	}

	dfs(1);

	cout << ans << endl;
	return 0;
}

标签:舞会,上司,idx,int,dfs,404
From: https://www.cnblogs.com/itdef/p/18449230

相关文章

  • 解决Web部署 svg/woff/woff2字体 404错误
    如果你在IIS服务器上部署项目后发现字体文件(如 .woff, .woff2, .svg)无法正常加载,可以通过在IIS上添加MIME类型来解决这个问题。步骤说明打开IIS管理器。找到对应的网站或应用程序。添加MIME类型。具体操作步骤打开IIS管理器:在Windows搜索栏中输入“......
  • windows系统配置nginx环境运行pbootcms访问首页直接404的问题
    在PbootCMS安装过程中遇到访问首页和其他页面返回404错误的问题,特别是在Windows+Nginx+PHP的环境下,确实需要仔细排查。根据你的描述,填写授权码后问题得到了解决,但仍然需要了解具体原因和解决方案。问题分析伪静态规则未生效:伪静态规则未正确生效可能导致访问首页和其他......
  • PbootCMS伪静态怎么设置?(PbootCMS模板安装后内页打开404错误的解决方法)
    1.后台配置参数-URL规则选择伪静态模式登录PbootCMS后台。进入“系统设置”或相应的配置管理界面。在URL规则设置中选择“伪静态模式”。保存设置。2.根据服务器环境添加伪静态规则Apache环境:将网站根目录下的.htaccess文件复制到根目录。确认.htaccess文件内容正......
  • PBOOTCMS网站访问页面提示:您访问的页面不存在,请核对后重试!如何改成自动404跳转页面
    如果你希望在PbootCMS中将“页面不存在”的错误提示修改为1秒后自动跳转到另一个页面,可以通过修改error.html文件来实现这一功能。以下是详细的步骤和示例代码。步骤1:定位文件打开项目文件夹:打开你的PbootCMS项目文件夹。导航到文件路径:导航至/core/template/error.htm......
  • PbootCMS自定义前台404错误页面
    以下是一个简单的404错误页面示例代码:<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>......
  • 2024-2025-1 20241404《计算机基础与程序设计》第一周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里[2024-2025-1计算机基础与程序设计第一周作业]https://www.cnblogs.com/wangsiwen666/p/18439419这个作业的目标作业具体目标是让我们能够培养自主思考能力,以及对教材的更深一步的理解,还能......
  • PBOOTCMS网站访问页面提示:您访问的页面不存在,请核对后重试!如何改成自动404跳转页面
    如果你希望在访问PbootCMS网站时,对于死链提示“您访问的页面不存在”能够自动跳转到另一个页面,可以通过修改error.html文件来实现这一功能。具体步骤打开error.html文件打开根目录下的core/template/error.html文件。修改HTML内容将error.html文件的内容修改为以下内......
  • vue项目部署到nginx后一刷新页面就404
    在Vue项目部署到Nginx服务器上时,遇到刷新页面显示404的问题,通常是因为Nginx无法正确地处理Vue路由。Vue应用的路由是前端路由,依赖于JavaScript来动态解析URL,当直接访问除根路径外的URL时,Nginx默认会尝试在服务器上找到对应的文件或目录,如果找不到就会返回404错误。为了解决这个问......
  • 【笔记】微分几何(40420644)
    [40420644]微分几何(DifferentialGeometry)开课院系:数学系主讲教师:李海中课程学分:4课程学时:65上课时间:每周一15:20~16:55、每周四8:00~9:35。教材:《微分几何(第2版)》–彭家贵,陈卿(2021,高等教育出版社)。参考书:DifferentialGeometryofCurvesandSurfaces(2nde......
  • 小美的数组合并(美团20240427年暑期实习笔试真题)
    题目:小美的数组合并小美拿到了一个数组,她每次操作可以将两个相邻元素ai合并为一个元素,合并后的元素为原来两个元素之和。小美希望最终数组的最小值不小于k。她想知道有多少种不同的合并结果?输入描述第一行输入两个正整数n,k,代表数组大小和数组的最大值。第二行输入个正整数ai,......