首页 > TAG信息列表 > werewolf

【题解】【PAT甲】1148 Werewolf - Simple Version (20 分)

题目链接  PTA | 程序设计类实验辅助教学平台 题目描述 Werewolf(狼人杀) is a game in which the players are partitioned into two parties: the werewolves and the human beings. Suppose that in a game, player #1 said: "Player #2 is a werewolf.";player #2 said:

【luogu P4899】werewolf 狼人(最小生成树)(主席树)

werewolf 狼人 题目链接:luogu P4899 题目大意 给你一个无向图,然后每次要从一个地方走到另外一个地方。 然后你在走的过程中要在一个点转换形态,转换之前你只能走大于等于 L 的点,转换之后你只能走小于等于 R 的点。 然后问你对于每次询问,要你回答能不能走。 思路 首先我们考虑把要走

PAT甲级-1148 Werewolf - Simple Version (20 分)(枚举)

题目链接:点击进入 题目 题意 n 个人有 2 人是狼人,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在撒谎。 要求你找出扮演狼人的是哪几号玩家,如果有解,在一行中按递增顺序输出 2 个狼人的编号;如果解不唯一,则输出最小序列解;若无解则输出 No Solution 思路 暴力枚举狼人,判

【luogu P4899】werewolf 狼人(最小生成树)(主席树)

werewolf 狼人 题目链接:luogu P4899 题目大意 给你一个无向图,然后每次要从一个地方走到另外一个地方。 然后你在走的过程中要在一个点转换形态,转换之前你只能走大于等于 L 的点,转换之后你只能走小于等于 R 的点。 然后问你对于每次询问,要你回答能不能走。 思路 首先我们考虑

PAT 1148 Werewolf – Simple Version – 甲级

题目不再赘述,思路写在代码注释中了,借鉴了柳神的代码,但思路不是很好懂,因此添加了个人的理解 . #include<iostream> #include<vector> using namespace std; int main() { int n; cin >> n; vector<int> say(n + 1); for(int i = 1; i <= n; i++) scanf("%d",&say[i])

Werewolf

题目链接 思路:首先这是一个最大出度为1的有向图。有两种不同的边,狼边和村民边。假设都是狼,这显然是成立的,那么必为村民的个数就为0。那么必为狼的个数呢?这题的关键突破口是,形成一个村民环,只有一条狼边,那么狼边指向的那个节点必为狼,所有指向铁狼的村民边也比为狼(分析如下)。其他

2018 Multi-University Training Contest 6 - Werewolf

dfs + 并查集 因为题目不限制狼人的数量,所以无法确定村民有多少个。。因为每一局都有可能全是狼人。。 所以我们要计算的只有一定是狼的数量。 我们把每个玩家当成节点,在一个村民链中,如果该链与一条狼边形成一个环,那么可以推理出这条狼边指向的节点一定是狼。 因为村民不可能说谎,如

HDU 6370 Werewolf 【并查集】

任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6370 Werewolf Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 2680    Accepted Submission(s): 806 Problem Description "The Werewolves" is a p

[IOI2018] werewolf 狼人

[IOI2018] werewolf 狼人 LG传送门 kruskal重构树好题。 日常安利博客文章 这题需要搞两棵重构树出来,这两棵重构树和我们平时见过的重构树有点不同(据说叫做点权重构树?),根据经过我们简化的建树方法,这两棵树不再是二叉树,但是仍具有kruskal重构树的优秀性质,建议结合后面的描述理解。 看