1380 没有上司的舞会
来源:互联网 发布:select标签默认选中js 编辑:程序博客网 时间:2024/06/06 13:24
#include<iostream>#include<string.h>#include<cstdlib>#include<algorithm>using namespace std;int f[2][6010] , ch[6010][6010] , v[6010];int search(bool sel,int n){if(f[sel][n]) return f[sel][n]; if(!ch[n][0]) return sel ? v[n] : 0; //如果没有下属了,返回相应选或不选的快乐指数,(快1ms。。。(其实可能不必这么纠结于这1ms)) int i,j;int tmp = (sel == 1) ? v[n] : 0;if(sel){for(i = 1; i <= ch[n][0]; i++) {tmp += search(0,ch[n][i]); }}else{for(i = 1; i <= ch[n][0]; i++){tmp += max(search(0,ch[n][i]) , search(1,ch[n][i]));}}return f[sel][n] = tmp;}int main(){int *fa;fa = (int*)malloc(sizeof(int)*6010);memset(f,0,sizeof(f));int n,i,j,k = 1;cin>>n;for(i = 1; i <= n; i++){cin>>v[i];}for(i = 1; i < n; i++){int p,c;cin>>c>>p;fa[c] = p;ch[p][++ch[p][0]] = c;}while(fa[k] != 0) k = fa[k]; //从root开始free(fa);cout<<max(search(0,k) , search(1,k))<<endl;}
其他都还好,最主要是 注意是从root节点开始(即 最大上司 开始)
用了12mb左右。。待优化
***************************************************************************************可供吐槽
0 0
- 1380 没有上司的舞会
- 1380 没有上司的舞会
- 1380 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- 没有上司的舞会
- code vs 1380没有上司的舞会
- CODEVS 1380 没有上司的舞会
- CODEVS 1380没有上司的舞会
- 【codevs 1380】没有上司的舞会
- CODEVS 1380 没有上司的舞会
- Android应用经典主界面框架之二:仿网易新闻客户端、CSDN 客户端 (Fragment ViewPager)
- 欢迎使用CSDN-markdown编辑器
- Java基础——集合框架(二)
- SWIFT
- Android 仿余额宝数字动画实现
- 1380 没有上司的舞会
- C# SaveFileDialog的用法
- 常用数据结构STL实现(优先队列、队列、栈)
- 失控--阅读笔记群蜂思维
- NYOJ
- AES算法及它的CBC加密模式
- 深入理解JavaScript系列(33):设计模式之策略模式
- 为eclipse配置黑色背景
- 深入理解JavaScript系列(32):设计模式之观察者模式