UVALive_4318

与一般的在树上进行的选择往哪边走的游戏相比,这个题目不同之处在与每个点既可能成为自己的决策点,也可能成为对方的决策点,因此可以将每个点看成有两种状态,一种对应着博弈树中的max节点,另一种对应着博弈树中的min节点,然后从叶子节点开始向上dp,依次处理出每个节点在两种状态下的值。

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAXD 10010
#define MAXM 1000010
#define INF 0x3f3f3f3f
int N, M, F, first[MAXD], e, next[MAXM], v[MAXM], dgr[MAXD], a[MAXD];
int S, dp[MAXD][2], vis[MAXD];
void add(int x, int y)
{v[e] = y;next[e] = first[x], first[x] = e ++;
}
void init()
{int i, x, y;for(i = 1; i <= N; i ++) scanf("%d", &a[i]);memset(first, -1, sizeof(first[0]) * (N + 1)), e = 0;memset(dgr, 0, sizeof(dgr[0]) * (N + 1));for(i = 0; i < M; i ++){scanf("%d%d", &x, &y);add(x, y), ++ dgr[y];}for(S = 1; dgr[S]; S ++);
}
void dfs(int cur)
{int i;vis[cur] = 1;dp[cur][0] = INF, dp[cur][1] = -INF;for(i = first[cur]; i != -1; i = next[i]){if(!vis[v[i]]) dfs(v[i]);dp[cur][0] = std::min(dp[cur][0], dp[v[i]][1]);dp[cur][1] = std::max(dp[cur][1], dp[v[i]][0]);}if(dp[cur][0] == INF) dp[cur][0] = dp[cur][1] = 0;dp[cur][0] += a[cur], dp[cur][1] += a[cur];
}
void solve()
{memset(vis, 0, sizeof(vis[0]) * (N + 1));dfs(S);printf("%s\n", dp[S][1] >= F ? "Victory" : "Glory");
}
int main()
{while(scanf("%d%d%d", &N, &M, &F) == 3){init();solve();    }return 0;
}

UVALive 4318 Navy maneuvers相关推荐

  1. hdoj 2452 Navy maneuvers

    类型:有向无环图DP 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2452 来源:2008 Asia Regional Harbin 思路:题中给定一个有 ...

  2. Navy maneuvers(dfs)

    题目描述 In times of peace, various countries have held regular maneuvers to maintain military's vigilan ...

  3. HDU2452 Navy maneuvers 记忆化搜索

    这题目意思能忍?读了半年,乱七八糟的 记忆化搜索 拖拖的,dp[i][0]代表以获得最小值为目标的船以i为起点.dp[i][1]代表以获得最大值为目标的船以i为起点.接下来暴力枚举入度为0的点为起点, ...

  4. 博弈背景下的记忆化搜索/题意理解 (HDU 2452 Navy maneuvers)

    题目链接 龙门粗口** 当代大学生粗口** acmer粗口** 这个题意真的非常让人想爆粗口,一开始,我们队两个人一起读这个题,结果两个船又是turns to又是exchange的,把我们两个英语不是 ...

  5. HDU 2452 Navy maneuvers (记忆化搜索)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2452 题意:给出一个图,n个点,m条边,保证无环,每个点有一个权值.指定一个点作为起点,Victory和G ...

  6. 【DFS(记忆化)】hdu 2452 Navy maneuvers

    http://acm.hdu.edu.cn/showproblem.php?pid=2452 题意:在一个单向无环图中, 1)所有的岛都是相连的: 2)有一个特殊的岛1st(岛的编号不一定是1),可以 ...

  7. 【记忆化搜索】 hdu2452 Navy maneuvers

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2452 题意: 题解:dp[i][0]表示从i点出发可以取得的最小值,dp[i][1]则表示最大值,即dp[ ...

  8. 【记忆化搜索】Navy maneuvers

    [来源]: 2008年哈尔滨区域赛题目 [题目链接]: http://acm.hdu.edu.cn/showproblem.php?pid=2452 [参考博客]: https://blog.csdn ...

  9. apple pay集成_如何将Google Pay集成到您现有的Android应用中

    apple pay集成 You'll learn how to integrate one of the most used payment gateways, GPay, into your exi ...

最新文章

  1. SVN详解-linux+windows
  2. java无法获取套接字_无法从套接字获取更多数据
  3. html5引入外联样式的优先级,CSS的4种引入方式及优先级
  4. union all动态表_Excel VBA——动态显示图表
  5. MEncoder 使用实例
  6. 领域应用 | 推荐算法不够精准?让知识图谱来解决
  7. Conference Related to social network.
  8. 领域驱动设计战术模式--领域事件
  9. mysql主从中异步和半同步的区别
  10. 小米mix2s html,【小米MIX2s评测】2018需要加价买的旗舰 小米MIX 2S评测_小米 MIX 2s(6GB RAM/全网通)_手机评测-中关村在线...
  11. Hibernate中的3中状态
  12. 三星note3 android7.0,#原创新人#小白刷机三星NOTE III吃上安卓7.0重生记
  13. vue 动态显示实时时间
  14. 新广告法违规词、敏感词在线检测工具 淘宝违规词检测、查询
  15. 【安全攻防知识-4】CTF之MISC
  16. 安装部署 Kubernetes 仪表板(Dashboard)
  17. HTML+CSS面试技巧
  18. 频繁模式挖掘Frequent Pattern Mining
  19. watch | 监听器、computend
  20. 树莓派ASP.NET环境配置

热门文章

  1. linux下安装配置使用memcache,memcached,libevent(后有ubuntu的memcache安装)
  2. 使用NET USE将USB端口模拟为LPT1
  3. Android2.2 API 中文文档系列(6) —— ImageView
  4. 急招 Golang 熟手,来做 5G 事业。
  5. Nor 与Nand Flash 区别
  6. 德约科维奇横扫纳达尔夺冠 加冕澳网七冠王
  7. 部署 instance 到 OVS vlan100 - 每天5分钟玩转 OpenStack(138)
  8. Android Studio 多渠道打包
  9. java数据结构-HashMap
  10. sendmail(一)