NOIP2023模拟12联测33 D. 滈葕

news2024/11/25 10:37:37

NOIP2023模拟12联测33 D. 滈葕

文章目录

  • NOIP2023模拟12联测33 D. 滈葕
    • 题目大意
    • 思路
    • code

题目大意

231101_5PtkSBXNaX.png (654×896) (hszxoj.com)

思路

放一段题解的材料

ABO 血型系统是血型系统的一种,把血液分为 A,B,AB,O 四种血型。血液由红细胞和血清等组成,红细胞表面 有凝集原,血清内有凝集素。根据红细胞表面有无凝集原 A 和 B 来划分血液类型。红细胞上只有凝集原 A 的 为 A 型血,其血清中有抗 B 凝集素;红细胞上只有凝集原 B 的为 B 型血,其血清中有抗 A 凝集素;红细胞上 两种凝集原都有的为 AB 型血,其血清中无凝集素;红细胞上两种凝集原皆无者为 O 型,其血清中两种凝集素 皆有。有凝集原 A 的红细胞可被抗 A 凝集素凝集;有凝集原 B 的红细胞可被抗 B 凝集素凝集。配血试验是两 个人分别提供红细胞和血清并将其混合,观察是否有凝集反应。

可以发现,ABCD 的属性分别表示 A,B,AB,O 型血,一条边表示一次配血试验

设一条边 ( u , v , w ) (u , v , w) (u,v,w)

w = 0 w = 0 w=0 则:KaTeX parse error: Undefined control sequence: \and at position 10: \neg(a_u \̲a̲n̲d̲ ̲a_v) \and \neg …

w = 1 w = 1 w=1 则:KaTeX parse error: Undefined control sequence: \and at position 6: (a_u \̲a̲n̲d̲ ̲\neg a_v) \or (…

可以用 2 − S A T 2-SAT 2SAT 来处理

编号为:
a i , i ¬ a i i + n b i , i + n ∗ 2 ¬ b i , i + n ∗ 3 a_i , i \newline \neg a_i i +n \newline b_i , i +n *2 \newline \neg b_i , i +n *3 ai,i¬aii+nbi,i+n2¬bi,i+n3

数组开大点

code

#include <bits/stdc++.h>
#define fu(x , y , z) for(int x = y ; x <= z ; x ++)
using namespace std;
const int N = 1e5 + 5;
int a[N << 2] , a1 , n , m , hd[N << 2] , low[N << 2] , dfn[N << 2] , cnt , p1 , p2 , num[N << 2];
stack<int> stk;
struct E {
    int to , nt;
} e[N << 6];
void add (int x , int y) { e[++cnt].to = y , e[cnt].nt = hd[x] , hd[x] = cnt; }
void dfs (int x , int fa) {
    stk.push(x);
    int y;
    dfn[x] = low[x] = ++p1;
    for (int i = hd[x] ; i ; i = e[i].nt) {
        y = e[i].to;
        if (!dfn[y]) {
            dfs (y , x);
            low[x] = min (low[x] , low[y]);
        }
        else if (!num[y]) {
            low[x] = min (low[x] , dfn[y]);         
        }
    }
    if (dfn[x] == low[x]) {
        p2 ++;
        y = 0;
        while (y != x && !stk.empty()) {
            y = stk.top();
            stk.pop();
            num[y] = p2;
        }
    }
}
int main () {
    freopen ("dopetobly.in" , "r" , stdin);
    freopen ("dopetobly.out" , "w" , stdout);
    int u , v , w;
    scanf ("%d%d" , &n , &m);
    fu (i , 1 , m) {
        scanf ("%d%d%d" , &u , &v , &w);
        if (!w) {
            add (u , v);
            add (v + n , u + n);
            add (u + n * 2 , v + n * 2);
            add (v + n * 3 , u + n * 3);
        }
        else {
            add (u + n , u + n * 2);
            add (u + n , v + n * 3);
            add (u + n * 3 , u);
            add (u + n * 3 , v + n);
            add (v , u + n * 2);
            add (v , v + n * 3);
            add (v + n * 2 , u);
            add (v + n * 2 , v + n);
        }
    }
    fu (i , 1 , n * 4) {
        if (!dfn[i]) {
            dfs (i , 0);
        }
    }
    fu (i , 1 , n) {
        if (num[i] == num[i + n] || num[i + n * 2] == num[i + n * 3]) {
            puts ("NO");
            exit (0);
        }
    }
    puts ("YES");
    fu (i , 1 , n) {
        bool x = num[i] < num[i + n] , y = num[i + n * 2] < num[i + n * 3];
        if (x && !y) printf ("A");
        else if (!x && y) printf ("B");
        else if (x && y) printf ("C");
        else printf ("D");
    }
    return 0;
}

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

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

相关文章

ChatGPT新功能曝光!OpenAI首届开发者大会抢先看

OpenAI将于太平洋时间11月6日早上10点举办首届全球开发者大会&#xff08;大约北京时间11月7日凌晨2点&#xff09;&#xff0c;与来自世界各地的开发者、企业、技术合作伙伴&#xff0c;分享OpenAI最新产品和技术趋势。 由于OpenAI的金字招牌太响&#xff0c;已经有不少人迫不…

2023(第四届)江西开放数据创新应用大赛等你来挑战!

邀请函 这是一个友好的邀请。无论你是数据领域的专家、学生还是爱好者&#xff0c;我们都欢迎你加入这个平台。这不仅仅是一场比赛&#xff0c;更是一个交流、学习和展示自己的机会。 丰厚奖金&#xff1a;我们为参赛者准备了总计15W的奖金池&#xff0c;期待你的才华在这里得…

linux环境下LSI RAID卡在线扩盘和系统分区扩容简易操作

重要提醒 --- 数据安全--- 备份 备份 备份&#xff01;&#xff01;&#xff01; 一、RAID工具Storcli Storcli管理工具下载 https://download.lenovo.com/servers/mig/2022/06/01/55714/lnvgy\_utl\_raid\_mr3.storcli-007.2008.0000.0000-0\_linux\_x86-64.tgz Storcli工…

Python类继承(单继承)

自定义“鸟”类&#xff0c;“鸣禽”、“猛禽”继承自“鸟”类&#xff0c;“画眉”、“百灵”继承自“鸣禽”&#xff0c;“鹰”、“雕”继承自“猛禽”。 (笔记模板由python脚本于2023年11月06日 19:08:56创建&#xff0c;本篇笔记适合初通Python类的coder翻阅) 【学习的细节…

基于ssm+jsp背单词系统的设计与实现

ssm背单词系统&#xff0c;java记单词系统&#xff0c;背单词系统 运行环境&#xff1a; JAVA版本&#xff1a;JDK1.8 IDE类型&#xff1a;IDEA、Eclipse都可运行 数据库类型&#xff1a;MySql&#xff08;8.x版本都可&#xff09; 硬件环境&#xff1a;Windows 角色&#xff…

力扣 138. 随机链表的复制

题目描述&#xff1a; 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的…

NOIP2023模拟12联测33 总结

NOIP2023模拟12联测33 总结 文章目录 NOIP2023模拟12联测33 总结比赛过程正解A. 构造题目大意思路 思路B.游戏题目大意思路 C. 数数题目大意 D. 滈葕题目大意思路 总结 比赛过程 先看了一眼 T 1 T1 T1 &#xff0c;发现又是恶心构造题&#xff0c;果断跳过。 T 2 T2 T2 期望题…

Luckysheet 实现excel多人在线协同编辑

前言 前些天看到Luckysheet支持协同编辑Excel&#xff0c;正符合我们协同项目的一部分&#xff0c;故而想进一步完善协同文章&#xff0c;但是遇到了一下困难&#xff0c;特此做声明哈&#xff0c;若侵权&#xff0c;请联系我删除文章&#xff01; 若侵犯版权、个人隐私&#x…

Flink的API分层、架构与组件原理、并行度、任务执行计划

Flink的API分层 Apache Flink的API分为四个层次&#xff0c;每个层次都提供不同的抽象和功能&#xff0c;以满足不同场景下的数据处理需求。下面是这四个层次的具体介绍&#xff1a; CEP API&#xff1a;Flink API 最底层的抽象为有状态实时流处理。其抽象实现是Process Functi…

MySQL -- 索引

MySQL – 索引 文章目录 MySQL -- 索引一、索引简介1.简介2.索引效率的案例 二、认识磁盘1.磁盘2.结论3.磁盘随机访问(Random Access)与连续访问(Sequential Access) 三、MySQL 与磁盘交互基本单位1.基本单位2.MySQL中的数据管理 五、索引的理解1.索引案例2.单页mysql page3.管…

“七人拼团模式:创新玩法助力平台快速裂变引流“

七人拼团模式是一种结合了社交电商和拼购玩法的快速裂变引流模式。这种模式通过抽取平台营业所得作为奖励补贴用户&#xff0c;以更人性化的奖励机制吸引用户&#xff0c;服务用户&#xff0c;以此加快用户向粉丝的转变&#xff0c;为平台拉取有效流量。本文将介绍七人拼团模式…

二十、泛型(2)

本章概要 泛型接口泛型方法 变长参数和泛型方法一个泛型的 Supplier简化元组的使用一个 Set 工具 泛型接口 泛型也可以应用于接口。例如 生成器&#xff0c;这是一种专门负责创建对象的类。实际上&#xff0c;这是 工厂方法 设计模式的一种应用。不过&#xff0c;当使用生成…

基础课23——设计客服机器人

根据调查数据显示&#xff0c;使用纯机器人完全替代客服的情况并不常见&#xff0c;人机结合模式的使用更为普遍。在这两种模式中&#xff0c;不满意用户的占比都非常低&#xff0c;不到1%。然而&#xff0c;在满意用户方面&#xff0c;人机结合模式的用户满意度明显高于其他模…

freertos简单串口

先来完善一下FreeRTOSConfig.h这个配置文件 /*FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.All rights reservedVISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.This file is part of the FreeRTOS distribution.FreeRTOS is …

无代码平台哪家好,盘点最新国内十大无代码零代码平台排名

无代码&#xff08;No Code&#xff09;是一种通过使用可视化界面和预构建的模块来创建应用程序、网站或其他数字化解决方案的方法&#xff0c;不需要编写大量的手动代码。 无代码平台通常包括一些基本的构建块&#xff0c;如表单、按钮、文本框等&#xff0c;用户可以通过拖拽…

用小程序打造品牌网站的效果如何

网站是企业线上门户&#xff0c;很多企业或商家在成立之初就会选择搭建企业官网展示品牌、承载信息及服务相关预约咨询等&#xff0c;当然除了搭建网页外&#xff0c;还可以通过小程序实现官网效果。 除了浏览器流量外&#xff0c;如微信、百度、头条抖音、支付宝、快手等平台…

ACWing.第 128 场周赛 (B、C题解)

B、5286. 翻倍&#xff08;思维推导&#xff09; 一、题目要求 给定两个正整数&#xff0c;初始时两数均为 1。 你可以进行任意次&#xff08;也可以不进行&#xff09;翻倍操作&#xff0c;每次操作任选一个非负整数 k&#xff0c;令两数中的一个数乘以 k&#xff0c;另一个…

MySQL数据库之表操作

目录 表的操作1.创建表创建表案例 2.查看表结构3.修改表4.删除表 表的操作 1.创建表 语法&#xff1a; CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明&#xff1a; field 表示列…

Python异步编程--获取girlypic写真集

前言 在日常生活中&#xff0c;无论是网络配置、文件整理、web开发还是工具&#xff0c;时常用到Python写些脚本。 这次主要是分享下异步编程的经验&#xff0c;就拿获取girlypic的图片举例吧&#xff0c;也希望能给一些同学带来思考。 使用argparse而不是os.args&#xff0…

pytorch直线拟合

目录 1、数据分析 2、pytorch直线拟合 1、数据分析 直线拟合的前提条件通常包括以下几点&#xff1a; 存在线性关系&#xff1a;这是进行直线拟合的基础&#xff0c;数据点之间应该存在一种线性关系&#xff0c;即数据的分布可以用直线来近似描述。这种线性关系可以是数据点…