HDU 6029(思维)

传送门
题面:

Graph Theory

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 1220    Accepted Submission(s): 553


Problem Description
Little Q loves playing with different kinds of graphs very much. One day he thought about an interesting category of graphs called ``Cool Graph'', which are generated in the following way:
Let the set of vertices be {1, 2, 3, ..., n}. You have to consider every vertice from left to right (i.e. from vertice 2 to n). At vertice i, you must make one of the following two decisions:
(1) Add edges between this vertex and all the previous vertices (i.e. from vertex 1 to i1).
(2) Not add any edge between this vertex and any of the previous vertices.
In the mathematical discipline of graph theory, a matching in a graph is a set of edges without common vertices. A perfect matching is a matching that each vertice is covered by an edge in the set.
Now Little Q is interested in checking whether a ''Cool Graph'' has perfect matching. Please write a program to help him.

Input
The first line of the input contains an integer T(1T50), denoting the number of test cases.
In each test case, there is an integer n(2n100000) in the first line, denoting the number of vertices of the graph.
The following line contains n1 integers a2,a3,...,an(1ai2), denoting the decision on each vertice.

Output
For each test case, output a string in the first line. If the graph has perfect matching, output ''Yes'', otherwise output ''No''.

Sample Input
3 2 1 2 2 4 1 1 2

Sample Output
Yes No No

Source
2017中国大学生程序设计竞赛 - 女生专场

题目描述:一种所有结点都有边与之相连的匹配叫做完美匹配。现在你有N个结点,对于n-1个结点,你有两种操作:

(1):将这个结点与之前的所有结点都连一条边
(2):不进行操作;

问你组成的这张图有没有可能是完美匹配。
题面分析:这是一道很有意思的思维题。首先要明确的一点是题目只要我们求是否可能是完美匹配,而不是让我们判断是否一定是完美匹配。对于每个结点,当我们要进行第一种操作时,即意味着我们这个结点可以与前面的任意一个结点进行匹配;而当我们进行第二种操作的时候,意味着这个结点是完全孤立的。因为每次操作1时,当前节点的匹配是任意的,考虑到这点,我们可以考虑使用队列去做,即当进行操作1的时候,队列深度减1,当操作为2时,将队列深度加1,最后判断队列是否非空即可。

而又考虑到这题中的结点对结果没有影响,故直接开一个数进行加一减一的模拟即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{int t;cin>>t;while(t--){int n,num;cin>>n;if(n%2==1){for(int i=1;i<n;i++){cin>>num;}puts("No");continue;}int que=1;for(int i=1;i<n;i++){cin>>num;if((num==1&&que==0)||num==2){que++;}else que--;}if(que==0){puts("Yes");}else puts("No");}return 0;
}

转载于:https://www.cnblogs.com/Chen-Jr/p/11007311.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/250456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018.10.18多校

T1&#xff1a;虽说大家都被cdq限制住了思维&#xff0c;我一个注意到了排列有问题的还是凉了&#xff0c;这个我没有一点办法了。 链接&#xff1a;cdq T2&#xff1a;留坑&#xff0c;太毒了 T3&#xff1a;考场上就不觉得能写&#xff0c;虽然心里想到一些做法&#xff0c;还…

Layui --- [Mar]给渲染后的表格加CSS样式

为什么要控制样式 使用layui生成后的表格的样式有时候,并不能满足我们的需求.因此在渲染完成后,需要自定义类对其操作 Layui表格渲染后一般会出现以下结构 分结构如下 我把使用layui的table渲染后的表格分为如下的几个dom 1.$rawTable: 初始table,即 2.$renderTable: 渲染之…

Python 杨辉三角形的简单实现

Python 杨辉三角形的简单实现 介绍&#xff1a; 杨辉三角 实现&#xff1a; # -*- coding: utf-8 -*-def triangles():L[1]while True:yield LL [1] [ L[i-1] L[i] for i in range(1,len(L)) ] [1]n 0 for t in triangles():print(t)n n1if n 10 :break 效果&#x…

Jackson序列化和反序列化

1&#xff0c;下载Jackson工具包(jackson-core-2.2.3.jar jackson-annotations-2.2.3.jar jackson-databind-2.2.3.jar ) jackson-core-2.2.3.jar 核心包 http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.2.3/jackson-core-2.2.3.jarjackson-annot…

Python 框架之Flask初步了解

Python 框架之Flask初步了解 前言 ​ 在了解python web 框架之前&#xff0c;我们需要先了解框架实现的基本原理。首先&#xff0c;需要了解WSGI&#xff08;Web Server Gateway Interface&#xff09;&#xff0c;借助WSGI我们就能实现用Python专注于生成HTML文档&#xff0…

AJAX异步交互

什么是AJAX AJAX&#xff08;Asynchronous Javascript And XML&#xff09;翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互&#xff0c;传输的数据为XML&#xff08;当然&#xff0c;传输的数据不只是XML&#xff09;。 AJAX还有一个最大的…

koa --- [MVC实现之三]换个角度重新开始-初始化

说明 下面文章是对该系列前面2篇及项目中经验的总结,重新开始写的实现了Mar类,贯穿Router层、Controller层、Service层基本骨架的搭建 初始 使用Koa创建一个简单的服务器,一般会使用如下 const koa require(koa); const app new koa(); const Router require(koa-router…

MySQL索引设计原则

一、MySQL常用的索引类型 1.1主键索引 primary key 1.2唯一索引 unique 1.3普通索引 index 1.4全文索引 1.5组合索引 二、MySQL常用的数据结构 2.1B-tree 2.2哈希索引 三、索引的设计原则 3.1选择唯一性索引 被设为唯一性的值可以设置为索引&#xff0c;这样能快速定位到某条记…

Flask-admin 学习及一些笔记

Flask-admin 学习及一些笔记 基本认识&#xff1a;flask-admin是flask的扩张&#xff0c;主要用于对flask应用程序增加管理界面。 some notes&#xff1a; 在 BaseView 的子类中可以定义若干个视图函数, 使用 Flask-Admin 的 expose 装饰器来注册函数为视图, 这与一般的视图…

java web 服务器环境搭建之jdk安装

Java 部署环境搭建 一 安装centos系统,安装完成后用root用户登录 二 Java 环境安装 下载jdk安装包,使用以下命令下载安装包,也可以在windows环境现在,在上传到linux机器上curl -O -L http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/…

koa --- [MVC实现之四]Router、Controller、Service的实现

说明 上一篇: [MVC实现之三]上一篇实现了,Router层、Controller层、Service层的基本原则,并且成功的通过Mar类来传递这些层级之间需要的参数.这一篇主要是通过业务层面来具体实现: Router层:监听页面的路由,并调用Controller层的路由处理函数Controller层:给Router层提供服务,…

2017-2018-2 20179317 《网络攻防技术》第七周学习心得体会

教材学习内容总结 课本第七章主要围绕windows操作系统安全攻防技术进行讲述&#xff0c;教材中主要涉及的攻击内容如下&#xff1a; Windows操作系统的基本结构 运行于处理器特权模式的操作系统内核运行在处理器非特权模式的用户空间代码采用宏内核模式来进行构架 Windows操作系…

Jinja的基础知识

Jinja的基础知识 介绍&#xff1a;Jinja2 是一个现代的&#xff0c;设计者友好的&#xff0c;仿照 Django 模板的 Python 模板语言。 它速度快&#xff0c;被广泛使用&#xff0c;并且提供了可选的沙箱模板执行环境保证安全 基本操作 变量&#xff1a;使用{{}}包围 <a>…

PE文件格式详解(二)

0x00 前言 上一篇讲到了PE文件头的中IMAGE_FILE_HEADER结构的第二个结构&#xff0c;今天从IMAGE_FILE_HEADER中第三个结构sizeOfOptionalHeader讲起。这个字段的结构名也叫做IMAGE_OPTIONAL_HEDAER讲起。 0x01 IMAGE_OPTIONAL_HEADER概述 其实这个结构是IMAGE_FILE_HEADER结构…

javascript --- [代码优化]将复杂的函数分解写异步请求数据的同步写法

说明 今天优化项目结构,发现有如下一个函数 const drawMqiPie async (index) > {// 请求的参数let params {lineNo: lineNo,direct: 1,driveway: 1,pageNum: 0,pageSize: 0,computeRange: 3,detectDate: $(#detectYear).val() -01-01}// 请求的urllet url conf.URL s…

20165223《Java程序设计》第八周Java学习总结

教材学习内容总结 第12章-JAVA多线程机制 要点 Java中的线程Thread类与线程的创建线程的常用方法线程同步协调同步的线程线程联合GUI线程计时器线程教材学习中的问题和解决过程 1. 进程与线程 程序&#xff1a;静态的代码&#xff0c;应用执行的蓝本进程&#xff1a;程序的一次…

各种平台的表达芯片跟mRNA-seq数据比较

各种平台的表达芯片跟mRNA-seq数据比较 RNA-Seq 表达谱 芯片数据分析文章见&#xff1a;http://journals.plos.org/plosone ... ournal.pone.0078644指定的细胞系是&#xff1a;Human CCR6 CD4 memory T cell &#xff0c;测了6个时间点&#xff0c;共12个样本表达芯片用的…

SQLAlchemy 一些基本操作

SQLAlchemy 一些基本操作 建表&#xff1a;db.create_all() 一次性创建全部的表 插入数据&#xff1a; ​ 1、创建变量user User(username “hjj2”,password “1234”) ​ 2、使用db.session.add(user)&#xff0c;添加到会话对象中 ​ 3、使用db.session.commit()&am…

koa --- [MVC实现之五]Model层的实现

说明 上一篇: MVC实现之四这一篇主要介绍: 项目中用到的Sequelize库中的一些方法,参考使用Sequelize连接mysql将Model层加入Mar类中 Service层 还是从业务出发,Service层是调用方,调用方式和Controller层调用Service层一样 class Service {constructor(app) {const { model…

关于字符串 --java

这是在杭电上做一道水题时发现的&#xff0c;挺不错&#xff0c;写下了分享一下 http://acm.hdu.edu.cn/showproblem.php?pid2072 这里我用了两种方法&#xff0c;参考大佬的&#xff0c;一个是list实现类&#xff0c;一个是用set框架 import java.util.*;public class Main {…