Description

定义一个图的变换:对于一个有向图\(G=(V, E)\),建立一个新的有向图:

\(V'=\{v_e|e \in E\}\),\(E'=\{(v_b, v_e)|b=(u,v), e=(v,w)\}\),\(G'=(V', E')\)。

也就是说每个边变成一个点,如果边b的终点和边e的起点相同则b到e连一条边。

现在给定\(G'\),问是否存在\(G\)。\(G'\)的点数不超过\(300\)。

Solution

如果\(G'\)中有\((u,w), (v,w)\)两条边,那么说明\(G\)中\(u,v\)的终点相同;那么\(G'\)中\(u,v\)连到的点应该是一样的。

也就是说,如果我在\(G'\)中令\(S_i\)表示\(i\)连到的点集,那么\(S_i=S_j\)和\(S_i\cap S_j\)必有一成立。

反之,如果上述条件成立,我可以把所有点按照\(S\)划分,即可得到\(G\)中每个点的出边集合;然后容易找出\(G\)中每个点的入边集合,易证这个\(G\)是合法的。

于是bitset求出\(S\)之后枚举\(i,j\)判断即可。

Code

#include <bitset>
#include <cstdio>
const int N = 305;
std::bitset<N> out[N], zero;
int main() {
int T;
scanf("%d", &T);
while (T--) {
int n, m;
scanf("%d%d", &n, &m);
zero.reset();
for (int i = 0; i < n; ++i) out[i].reset();
for (int x, y; m; --m) {
scanf("%d%d", &x, &y);
out[x].set(y);
}
bool ok = true;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
ok = ok && ((out[i] & out[j]) == zero || out[i] == out[j]);
puts(ok ? "Yes" : "No");
}
return 0;
}

BZOJ3108 [cqoi2013]图的逆变换的更多相关文章

  1. BZOJ 3108: [cqoi2013]图的逆变换

    3108: [cqoi2013]图的逆变换 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 627  Solved: 415[Submit][Statu ...

  2. P4575 [CQOI2013]图的逆变换

    传送门 如果新的图里存在边\((u,v)\),那么说明原图中\(u\)的终点和\(v\)的起点是同一个点 于是可以对新图中的每个点维护它的起点和终点,如果有一条边就把对应两个应该相等的点用并查集连起来 ...

  3. [BZOJ 3108] 图的逆变换

    Link: BZOJ 3108 传送门 Solution: 样例教你做题系列 观察第三个输出为No的样例,发现只要存在$edge(i,k),edge(j,k)$,那么$i,j$的出边一定要全部相同 于 ...

  4. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  5. 论文解读GCN 1st《 Deep Embedding for CUnsupervisedlustering Analysis》

    论文信息 Tittle:<Spectral Networks and Locally Connected Networks on Graphs> Authors:Joan Bruna.Wo ...

  6. shader复杂与深入:Normal Map(法线贴图)1

    转自:http://www.zwqxin.com/archives/shaderglsl/review-normal-map-bump-map.htmlNormal Map法线贴图,想必每个学习计算机 ...

  7. [离散时间信号处理学习笔记] 8. z逆变换

    z逆变换的计算为下面的复数闭合曲线积分: $x[n] = \displaystyle{\frac{1}{2\pi j}}\oint_{C}X(z)z^{n-1}dz$ 式中$C$表示的是收敛域内的一条 ...

  8. NormalMap 贴图 【转】

    转载: http://www.zwqxin.com/archives/shaderglsl/review-normal-map-bump-map.html   说起Normal Map(法线贴图),就 ...

  9. 译:Local Spectral Graph Convolution for Point Set Feature Learning-用于点集特征学习的局部谱图卷积

    标题:Local Spectral Graph Convolution for Point Set Feature Learning 作者:Chu Wang, Babak Samari, Kaleem ...

随机推荐

  1. 【ElasticSearch】:Mapping相关

    Mapping 类似数据库中的表结构定义,主要作用如下: 定义Index下的字段名(Field Name). 定义字段类型,例如数值型.字符串型.布尔型等. 定义倒排索引相关配置,比如是否索引.记录p ...

  2. JS实现网页背景旋转缩放轮播效果

    实现效果:效果预览 css代码: .switch_images { display: inline-block; margin:; padding:; width: 100%; height: 100 ...

  3. Shell - 简明Shell入门02 - 变量(Variable)

    示例脚本及注释 #!/bin/bash v1=test-variable_123 # 全局变量 v2=12345 v3='This is a test!' # 赋值语句使用单引号或双引号可以包含空格 ...

  4. Matlab中常见的神经网络训练函数和学习函数

    一.训练函数 1.traingd Name:Gradient descent backpropagation (梯度下降反向传播算法 ) Description:triangd is a networ ...

  5. Hadoop环境搭建及wordcount程序

    目的: 前期学习了一些机器学习基本算法,实际企业应用中算法是核心,运行的环境和数据处理的平台是基础. 手段: 搭建简易hadoop集群(由于机器限制在自己的笔记本上通过虚拟机搭建) 一.基础环境介绍 ...

  6. RabbitMQ AMQP (高级消息队列协议)

    目录 RabbitMQ AMQP (高级消息队列协议) Message Queue 简介 概念 基本组成 场景及作用 AMQP简介 模型架构 基础组件 AMQP-RabbitMQ 简介 模型 特性 参 ...

  7. Java之装饰模式

    1.装饰模式的理解 在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 2.装饰模式由4种角色组成 (1)抽象构件(Componen ...

  8. mycat ER 分片表

    <table name="order" dataNode="dn$1-32" rule="mod-long"> <chil ...

  9. centos7.0安装docker-18.06.1-ce不能启动问题

    最近用centos7.0 yum安装了一个docker-ce18.06.1  但是发现安装好不能启动,于是上官网看了一下,说是docker-ce18.06.1是从centos7.2开始支持的,但是7. ...

  10. 深度学习在CTR预估中的应用

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 一.前言 二.深度学习模型 1. Factorization-machine(FM) FM = LR+ e ...