Anniversary party求助

2023-12-10 09:18
文章标签 party 求助 anniversary

本文主要是介绍Anniversary party求助,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



http://poj.org/problem?id=2342

///

为什么有错

#include<iostream>
#include<string>
#define max(x,y) (x>y?x:y)
using namespace std;
int vis[6010],dp[6010][2],n,father[6010];
void dfs(int node)
{
 int i;
 vis[node]=1;
 for(i=1;i<=n;i++)
  if(!vis[i] && father[i]==node && father[i]!=i)//用father[i]!=i判断不是树的根
  {
   dfs(i);
   dp[node][0]+=max(dp[i][1],dp[i][0]);
   dp[node][1]+=dp[i][0];
  }
}
int main()
{
 int i;
 while(cin>>n)
 {
  memset(dp,0,sizeof(dp));
  for(i=1;i<=n;i++)
   cin>>dp[i][1];
  int temp1,temp2,root=0;
  for(i=1;i<=n;i++)
   father[i]=i;
  //memset(father,0,sizeof(father));
  while(cin>>temp1>>temp2,temp1+temp2>0)
  {
   father[temp1]=temp2;
   if(root==temp1 || root==0)
    root=temp2;
  }
 
  memset(vis,0,sizeof(vis));
  dfs(root);
  int max1=max(dp[root][1],dp[root][0]);
  cout<<max1<<endl;
 }
 return 0;

}


#include<iostream>
#include<string>
#define max(x,y) (x>y?x:y)
using namespace std;
int vis[6010],dp[6010][2],n,father[6010];
void dfs(int node)
{
 int i;
 vis[node]=1;
 for(i=1;i<=n;i++)
  if(!vis[i] && father[i]==node)
  {
   dfs(i);
   dp[node][0]+=max(dp[i][1],dp[i][0]);
   dp[node][1]+=dp[i][0];
  }
}
int main()
{
 int i;
 while(cin>>n)
 {
  memset(dp,0,sizeof(dp));
  for(i=1;i<=n;i++)
   cin>>dp[i][1];
  int temp1,temp2,root=0;
  memset(father,0,sizeof(father));
  while(cin>>temp1>>temp2,temp1+temp2>0)
  {
   father[temp1]=temp2;
   if(root==temp1 || root==0)
    root=temp2;
  }
 
  memset(vis,0,sizeof(vis));
  dfs(root);
  int max1=max(dp[root][1],dp[root][0]);
  cout<<max1<<endl;
 }
 return 0;
}

这篇关于Anniversary party求助的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476689

相关文章

【Get深一度】Win10 Setup will now quit. 系统管理员失去安装和移除软件的权利(求助帖)

1.问题详述 笔者在安装软件的时候无意在任务管理器中叉掉了一个进程,然后 ,悲剧了。。莫名其妙就失去了权限。  2.以安装mathtype为例 没到最后都会弹出一个Setup :  问题手打一遍:You do not appear to have the rights required to install or remove s

【POJ3268】【Silver Cow Party】【反向dij】【sizeof失效】

Silver Cow Party Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 15522 Accepted: 7039 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going

【求助帖】用PyTorch搭建MLP网络时遇到奇怪的问题

求助:我在测试自己搭建的通用MLP网络时,发现它与等价的参数写死的MLP网络相比效果奇差无比,不知道是哪里出了问题,请大佬们帮忙看下。 我写的通用MLP网络: class MLP(nn.Module):def __init__(self, feature_num, class_num, *hidden_nums):super().__init__()self.feature_num = fea

校赛 SDUT OJ2860生日Party(BFS)

题目地址:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2860 唉。。校赛的时候把这题用搜索的时间复杂度2^15次方想成了15^15次方。。。。所以没写。。。后来用的最短路的floyd算法改成了最长路做的,但有一些细节不好处理,调了会没调出来。。赛后才想到用暴搜不会超时。。于是补完线代后怒敲暴搜代码

hdu 1520 poj2342 anniversary party树形DP

每个节点要么选要么不选,和大多数选不选动归一样,来个dp[i][2],0表示不选,1表示选,那我们只要从叶子节点往根结点不断更新dp[i][0]和dp[i][1]就可以了。 状态转移方程:dp[i[[1] += dp[j][0]                       (当前选了,子节点必定不能选,然后累加)                        dp[i][0] += max

求助汉字乱码问题

选的是 gb2312,可为什么还是有中文乱码,而且MySQL安装过程是参考教程的,求教哪里的问题? http://code.google.com/p/fengtli/,http://my.opera.com/fengtlr/blog/

求助:STL 算法为什么推不出所需要的重载的op函数

例如: print是重载的,find_if既然需要的是一元谓词,为什么不能推出需要的接受一个参数的print?  代码如下: #include <iostream>#include <algorithm>#include <vector>using namespace std;bool print(int a){cout << "para 1:" << a << endl;retur

[图解]《分析模式》漫谈03-Party是什么

1 00:00:00,790 --> 00:00:03,930 今天我们来看一下,Party是什么 2 00:00:05,710 --> 00:00:07,470 当然我们这里说的不是政治的 3 00:00:07,880 --> 00:00:08,350 Party 4 00:00:09,230 --> 00:00:11,110 是《分析模式》里面的一个用词 5 00:00:14,860

《鸟哥的私房菜基础篇》第四版学习笔记——第4章首次登陆与在线求助

文章目录 一、首次登陆系统1.首次登入系统2.GNOME 的操作与注销3.X window 与文本模式的切换4.在终端界面登入 linux 二、文本模式下指令的下达2.基础指令的操作3.重要的几个热键[Tab], [ctrl]-c, [ctrl]-d4.错误讯息的察看 三、 系统的在线求助 man page 与 info page1.指令的 --help 求助说明2.man page:有问题

POJ - 1020 Anniversary Cake

题意:有一块边长为BoxSize的正方形的大蛋糕,现在给出n块不同尺寸的正方形的小蛋糕的边长,问是否能把大蛋糕按恰好切割为这n块小蛋糕,要求每块小蛋糕必须为整块。 思路:有技巧性的DFS,这里有一篇写的很好的:点击打开链接 #include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using