hdu 6370Werewolf 并查集、思维

Sentinel--哨兵系列数据下载地址及流程更新【202310】 哨兵系列数据下载地址及流程更新。哨兵系列卫星作为哥白尼计划的一部分,主要目标便是对地球的观测任务。哥白尼计划由三部分组成:空间部分(哨兵系列太空任务与其他太空机构任务)、测量部分(提供海洋、大陆表面和大气信息的陆基和机载数据收集网络)、数据管理与全球共享。 阅读详情

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6370

因为狼人能说谎话也能说实话,所以所有人都有可能是狼人,能确定的村民数量为0

要判断一个人是不是狼人,先假设他是村民,然后看是否有矛盾(他认为的村民说他是狼人),若有矛盾说明他是狼人,然后说他是村民的人也一定是狼人。

县用并查集维护所有村民的边,然后对村民边反向建边。代码比较简单

#include<bits/stdc++.h>
#include<math.h>
#define mod 1000000007
#define For(i,m,n) for(int i=m;i<=n;i++)
#define LL long long
#define lan(a,b) memset(a,b,sizeof(a))
#define sqr(x) (x*x)
using namespace std;

vector<pair<int,int>> run;
vector<int> edge[100010];
int vis[100010];
int fa[100010];
int ans=0;
void init()
{
    For(x,1,100000)
        fa[x]=x;
}

int findset(int x)
{
    if(fa[x]==x)
        return x;
    else
        return fa[x]=findset(fa[x]);
}

void dfs(int x)
{
    for(int i=0;i<edge[x].size();i++)
    {
        int y=edge[x][i];
        if(!vis[y])
        {
            vis[y]=1;
            ans++;
            dfs(y);
        }
    }
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        run.clear();
        lan(vis,0);
        ans=0;
        init();
        int n;
        scanf("%d",&n);
        For(i,1,n)
        edge[i].clear();
        For(i,1,n)
        {
            int x;
            char s[20];
            scanf("%d%s",&x,s);
            if(s[0]=='v')
            {
                edge[x].push_back(i);
                int p=findset(i),q=findset(x);
                if(p!=q)
                    fa[p]=q;
            }
            else
                run.push_back(make_pair(i,x));
        }
        For(i,0,run.size()-1)
        {
            int x=run[i].first,y=run[i].second;
            if(findset(x)==findset(y)&&!vis[y])
            {
                vis[y]=1,ans++;
                dfs(y);
            }
        }
        printf("%d %d\n",0,ans);
    }
    return 0;
}

 

四旋翼无人机Matlab建模 本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,下一章将结合这个模型设计双环PID控制器并调节参数。 一、无人机建模过程 阅读详情

相关推荐

分析以太网帧结构_100G以太网接口调试初体验

是的,标题没有多敲一个“0”,明人不说暗话,就是在FPGA上实现100G以太网接口设计。正好参与了实验室某项目中的100G接口的调试,早想写个专栏文章了,由于调试过程中发现了一些硬件问题,导致迟迟没有往前推进,现在问题解决了之后可以简单分享一下100G以太网接口的调试初体验了~(好像DDR4读写测试系列文章还没搞完 )这篇初体验暂时不分多个章节了,基本设计流程与之前发布的“10G以太网接口”系列文...

weixin_39574050的博客 1602

hdu 6370 Werewolf 并查集

多校六第九题,当时玩了一下午的2-sat,一直玩到自闭.....赛后看了题解后,发现分析的就不对,首先可以假设所有人都是狼,显然没什么毛病,所以确定为村民的人肯定就是0,怎么找到铁狼的数量呢,首先从说话的人连接一条有向边到被说的人,假设存在以下的环,D说A是狼,其他边都是村民边,假设A是村民,得出D也是村民,然后根据D得出A是狼,自相矛盾,所以A必狼。且说铁狼是村民的也是铁狼。     那么再...

ccsu_cat 419

KUKA 虚拟调试实战——打通Simpro4.1与OfficeLite8.6的通信与实时控制链路

本文详细介绍了KUKA虚拟调试实战,重点解析如何打通Simpro4.1与OfficeLite8.6的通信与实时控制链路。通过环境搭建、权限配置、机器人型号匹配等关键步骤,帮助工程师高效完成机器人轨迹规划和PLC联锁逻辑验证,大幅降低真机调试风险。文章还提供了典型报错解决方案和实时控制优化技巧,适用于工业机器人仿真与培训场景。

weixin_30907935的博客 445

HDU 6370 Werewolf 题解(并查集+图论+DFS)

题意简述 一群人玩♂游♂戏。游戏中有两种人,村民和狼人,村民只会说真话,狼人随便(真或假均珂)。给定一些关系,表示第iii个玩家说第jjj个玩家是狼人/村民。请分别找出确定是村民/狼人的个数。 数据 输入 多组数据。第一行是一个TTT,表示有TTT组数据。每组数据中有一个n(n&lt;=105)n(n&lt;=10^5)n(n<=105),表示有多少人。接下来nnn行,第ii...

LightningUZ的博客 349

使用moveit控制机械臂

位置设置:`target_pose.position.x = 0.12`, `target_pose.position.y = 0.41`, 和 `target_pose.position.z = 0.44` 分别设置了机械臂末端执行器的X, Y, 和 Z坐标。设定目标位置:`group.set_pose_target(target_pose)` 这一命令将之前定义的目标位置和姿态设置为当前机械臂组的目标,为接下来的路径规划做准备。在机械臂控制的过程中,设定精确的目标位置和姿态是实现精确操作的关键步骤。

realman_Rop的博客 3687

AES-GCM加密认证模式:原理、优势与实战应用

在数据安全领域,加密与认证是保障信息机密性和完整性的两大基石。加密确保数据内容不被窃取,而认证则验证数据来源的真实性和传输过程中是否被篡改。传统的加密后认证方案如AES-CBC+HMAC需要串行处理,性能开销较大。GCM(伽罗瓦/计数器模式)作为一种认证加密(AEAD)方案,巧妙地将AES-CTR加密与基于伽罗瓦域的GHASH认证并行结合,实现了单次数据遍历即可同时完成加密和认证,大幅提升了处理效率。其核心价值在于高性能、支持附加认证数据(AAD)以及标准化程度高,广泛应用于TLS协议、无线网络安全和云存储

weixin_28622215的博客 312

HDU 6370 (并查集+bfs)

题意: 有n个人,狼人说假话或者真话,村民说真话。每个人说一句话,x是狼人或者x是村民,x不会是自己,问最后能确定的狼人和村民各有多少个。 思路: 首先注意到,没有办法肯定一个人是村民,因为狼人也可能说真话,所以确认村民的个数一定为0。 根据村民边建出一棵树,如果这颗树中的子节点有一条狼人边指向自己所在的树,那么那个祖先一定是狼人,再根据这个铁狼,找出说这只铁狼是村民的人,也是狼人。 所以用并...

陋室 463

车载以太网:PHY(物理层)介绍

本文以TJA1101芯片为实例介绍了车载以太网PHY(物理层)组成。

kevin1499的博客 6231

HDU6370(思维+搜索

题意: 现在有N个人,每个人要么是第一类:说的全是真话;要么是第二类:说的可能是假话。 每一个人x都指认另一个人y是第一类或第二类人。 请问在所有合法的情况下,有多少人必定是第一类人、有多少人必定是第二类人? 思路:(首先题解送上 当然其实没怎么懂。。我也不是这么写的 主要点: 然后再xjb补充一下吧,以防以后看不懂(反正都是别的博客上截来的   反正我的写法就是找出...

老街# 467

【38】OpenCV C++实战篇——基于多项式插值的亚像素边缘定位算法

亚像素边缘定位算法实现 本文介绍了一种基于多项式插值的亚像素边缘定位算法,用于提高图像边缘检测的精度。文章首先分析了传统像素级边缘检测方法(如Canny、Sobel)的局限性,指出其在测量应用中的精度不足问题。 算法核心 梯度计算:使用8个方向模板进行卷积运算生成梯度图像 亚像素定位:采用多项式插值方法改进边缘定位精度 实现步骤: 生成8个方向的卷积模板(0°、45°、90°等) 利用filter2D函数计算各方向梯度 通过归一化处理显示梯度图像 代码特点 提供完整的C++实现代码 包含模板生成、梯度计算和

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1099

基于深度学习 YOLOv11 的快递包裹检测系统(Python + PySide6 界面 + 训练代码)

成为亟需优化的重要环节。随着电子商务的快速发展,物流行业面临着越来越大的压力,为了解决这些问题,我们提出了一种。目标检测算法,实现快递包裹的。的界面,供用户进行实时监控。本项目的主要目标是利用。

斌擎科技 762

HDU 6370(并查集)

传送门 题面: Werewolf Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 559    Accepted Submission(s): 123   Problem Description "The Werewolve...

Chen.Jr的博客 1663

进阶06:C#连接TwinCAT 3使用ADS通讯

本文介绍了使用C#通过ADS协议与倍福TwinCAT3 PLC通讯的实现方法。主要内容包括:1)在两台电脑上安装TwinCAT3开发环境并建立网络连接;2)在TwinCAT中定义变量和结构体;3)使用C# Winform开发界面,通过TwinCAT.Ads.dll实现读写功能;4)实现主动读取和通知两种数据获取方式。详细说明了连接建立、变量定义、读写操作及事件通知的实现代码。该方案实现了对PLC寄存器数据的实时监控和操作,为工业控制系统的开发提供了参考。

weixin_38637405的博客 3688

hdu 6370 Werewolf (思维+找环)

http://acm.hdu.edu.cn/showproblem.php?pid=6370 题意: 有n个人玩狼人杀。每个人都会发言 内容是 x是werewolf(狼) 或者 x是villager(村民)。村民不会说谎,狼可说谎也可不说谎。每个人都不能说自己。求最终可以确定多少个村民和多少只狼。 思路: 因为狼可以说真话说假话,那么肯定无法确定是否为村民,所以可以确定的村民的数量为0 ...

Oops的博客 337

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HDU 6370 Werewolf(思维+瞎搞)

Werewolf Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 770    Accepted Submission(s): 187   Problem Description "The Werewolves" is a po...

LSD20164388的博客 413

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 6370 Werewolf 思维,基环树.

题意:村民只会说真话,狼可能说假话. (i,j,k)表示第i个人说第j个人是k(k=村民或者狼)[i=1..n].i!=j. n&lt;=1e5.总共有2^n种情景(有些可能非法.).  问有多少人一定为村民,以及有多少人一定为狼? 因为狼可以将真话也可以讲假话. 假如n个人全部为狼,不会产生任何矛盾, 第i人说其他人为村民就当做假话,说别人为狼就当做真话.所以一定为村民的人数为0. 先不考虑...

noone0的博客 235

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HDU6370-2018Multi-UniversityTrainingContest6-Werewolf-思维题

(有任何问题欢迎留言或私聊 &amp;amp;&amp;amp; 欢迎交流讨论哦 目录 目录 题意:传送门 思路: AC代码: 原题目描述: 题意:传送门  原题目描述在最下面。  一个以狼人杀为背景的游戏(hhh)。题目保证村民一定说真话,狼人可能说真话也可能说假话。  n个人,每个人人指认另一个人的身份,狼或村民。问你一定能确定多少个人一定是村民,多少个...

打过ICPC/CCPC,学习ACM算法,Linux内核,Openharmony,加油努力开心珍惜 321

HDU 6370(思维)

传送门 思路:因为狼说什么都是可以的,所以全是狼是可以,村民为0。 那问题就是转化成求铁狼的数量。我们对村民边建图,我们发现,一个连通分量要么是个基环树,要么是个树。对于基环树全是村民的话显然成立。所以不存在铁狼。对于树,必然有且仅有一个点连出去的是狼边,①如果这条边指向其他连通分量,其他联通分量完全可以都是狼,那这个人就可能是个人,所以他不是铁狼。②如果指向自己的连通分量,如果他是狼,那么这...

du_lun的博客 418

Werewolf HDU - 6370 (找规律+并查集+bfs)

"The Werewolves" is a popular card game among young people.In the basic game, there are 2 different groups: the werewolves and the villagers.  Each player will debate a player they think is a werewolf...

untilyouydc 505

HDU 6370 Werewolf (骚)

题目链接 有一群人,每个人可能是村民也可能是狼。村民必然说真话,狼有可能说假话。每一个人都指认了另外一个人是村民/狼,问一定是村民、一定是狼的人有多少个。 考虑狼是随机说真话或者假话,那么令每个人都为狼,一定存在一个解。因此一定是村民的数目为0。 考虑只连村民边,这样会产生若干个联通分量。可以得出这些联通分量要么是基环树,要么是树。加入狼边以后,这些联通分量必然也只可能是基环树或树。加入狼边的...

NPU_SXY的博客 277

hdu 6370 ( 推理 )

  Werewolf Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1707    Accepted Submission(s): 481   Problem Description "The Werewolves" is ...

yjt9299的博客 455

HDU 6370 Werewolf(dfs)

Description nnn个人在玩儿狼人杀,给出每人的发言,即uuu说vvv是狼人或村民,已知村民只能说真话,而狼人可以说真话可以说假话,问一定可以确认身份的村民数量和狼人数量 Input 第一行一整数TTT表示用例组数,每组用例首先输入一整数nnn表示人数,之后nnn行分别表示每个人的发言 (1≤T≤10,1≤n≤105)(1≤T≤10,1≤n≤105)(1\le T\le 10,1...

ZSQ 407

HDU 6370 Werewolf

题目:HDU 6370 Werewolf 题意: 一群人玩狼杀,但是只有两种身份,村和狼,然后分别指认别人的身份 村一定说真话,而狼可以说真话说假话,最后问有几个人一定是村,有几个人一定是铁狼 思路: 先是铁村的个数,假设所有人都是狼,显然这个情况是合法的,所以铁村的个数是0,重点就是铁狼的个数 把评价当成边,先忽略狼边,建立一条有向的村边,用村边建图就会有很多个联通块...

weixin_38287798的博客 296

HDU 6370 Werewolf 狼人杀(dfs)

题面 "The Werewolves" is a popular card game among young people.In the basic game, there are 2 different groups: the werewolves and the villagers. Each player will debate a player they think is a werew...

Yi_Qing_Z的博客 339

2018 Multi-University Training Contest 6 1009 Werewolf(hdu 6370)(缩点)

题目链接:hdu 6370 Werewolf   Sample Input 1 2 2 werewolf 1 werewolf Sample Output 0 0 题意:n个人,每个人会说x 是狼或者村民,x是除自己以外的任何人,村民不说谎,狼可能说谎,问一定是村民的人的人数和一定是狼的人的人数。 思路:如果所有人都是狼,显然成立,所以,一定是村民的人的人数一定是0,然后看图一...

yz467796454的博客 532

hdu6370 Werewolf

Werewolf Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 2021 Accepted Submission(s): 577 Problem Description “The Werewolves” is a po...

AC即性感 309
上一篇: hdu 6373 Pinball
下一篇: bzoj 2154 Crash的数字表格 反演+数学
Dale_zero
博客等级 码龄9年 10粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值