首页 > 其他分享 >NOIp 考前适应题

NOIp 考前适应题

时间:2024-11-23 17:14:33浏览次数:5  
标签:NOIp 考前 int 路径 cin 适应 mp op define

A CF1494E A-Z Graph

题意

给一个有向图,边权是字母,有三种操作:

  • 添加边 \((u,v,c)\);
  • 删除边 \((u,v)\);
  • 询问是否存在一个长度为 \(k\) 的非简单路径满足 \(v_1 \leftarrow v_k\) 的路径与 \(v_k \leftarrow v_1\) 的路径边权序列相同。

分析

手玩题。顶点数量为偶数的情况容易发现只要有一个二元环就行了。

\[1 \overset{\texttt{a}}{\underset{\texttt{b}}{\rightleftarrows}} 2 \]

容易发现路径 \([1,2,1]\) 满足题设,同样 \([1,2,1,2,1],[1,2,1,2,1,2,1]\) 也都满足题设,这启示我们将所有奇数的询问归位一类。

必要性也很显然,任意满足题设的路径必然至少包含一个二元环。

顶点数量为奇数的情况是类似的,结论是存在一个二元环且环上的相反边字母相同。

判二元环存在性只需要 map 等容器维护所有边就行了。

#include<bits/stdc++.h>
using namespace std;
typedef double db;
typedef pair<int,int> pii;
typedef unsigned long long ull;
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
int n,m;
map<pii,char> mp;
int cnt1,cnt2;
signed main()
{
	IOS;
	cin>>n>>m;
	while(m--)
	{
		char op; cin>>op;
		if(op=='+')
		{
			int x,y; char c;
			cin>>x>>y>>c;
			mp[{x,y}]=c;
			if(mp[{y,x}]) cnt1++;
			if(mp[{y,x}]==c) cnt2++;
		}
		else if(op=='-')
		{
			int x,y; cin>>x>>y;
			if(mp[{x,y}]&&mp[{y,x}]) cnt1--;
			if(mp[{x,y}]==mp[{y,x}]) cnt2--;
			mp.erase({x,y});
		}
		else
		{
			int k; cin>>k;
			if(k&1) cout<<((cnt1!=0)?"YES":"NO")<<"\n";
			else cout<<((cnt2!=0)?"YES":"NO")<<"\n";
		}
	}
	return 0;
}

标签:NOIp,考前,int,路径,cin,适应,mp,op,define
From: https://www.cnblogs.com/tai-chi/p/18564798

相关文章

  • 打卡信奥刷题(290)用C++工具信奥P2347[普及组/提高] [NOIP1996 提高组] 砝码称重
    [NOIP1996提高组]砝码称重题目描述设有1g1\mathrm{g}1g、2g......
  • [2024.11.23]NOIP2024模拟赛
    又废了。没开T3,所以赛后需要重新写。赛时T1第一眼捕捉到字典序,同时还注意到了哈密顿路径。数据范围很小,所以考虑枚举填充次序,每次找到最优的填充。把以前已经填过的元素标记。对于当前的这次填充,它能填在这里需要满足后面最优的填充方式与之前填充代价的和需要满足条件。......
  • 洛谷 P1002 [NOIP2002 普及组] 过河卒
    你好,我是gwg725。洛谷账号:大号小号欢迎与我讨论。:)题目描述:棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1中的C点和P1,……,P8,卒不能通过......
  • 【C++-NOIP篇-4】 [NOIP2007 普及组] 纪念品分组
    文章目录[NOIP2007普及组]纪念品分组题目背景题目描述输入格式输出格式样例#1样例输入#1样例输出#1提示题目思路完整Code[NOIP2007普及组]纪念品分组题目背景NOIP2007普及组T2题目描述元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参......
  • 学生社会适应能力测试
    学生社会适应能力是指学生在校园内外,面对各种社会情境时,能够灵活应对、有效沟通、合理解决问题,以及积极融入社会的能力。这包括但不限于人际交往能力、情绪管理能力、团队合作精神、独立思考与解决问题的能力、对社会规范和价值观的认同感等。为了全面评估学生的社会适应能力,以......
  • 【教程4>第3章>第22节】基于双向链路的自适应调制解调通信链路FPGA实现1——理论分析研
      欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.基于双向链路的自适应调制解调通信链路理论分析3.双向链路自......
  • 洛谷 P1983 [NOIP2013 普及组] 车站分级(拓扑排序)
    题目传送门解题思路对于每一趟列车,我们可以知道其中没有经过的车站的级别肯定会比经过的车站的级别低。于是,我们可以根据这种关系来建一个图。将等级小的车站往等级大的车站建边。于是,我们可以发现这是一个DAG(有向无环图),所以我们可以拓扑排序。我们从等级最小的车站......
  • 论文精读:多源域自适应目标检测中的目标相关知识保存(CVPR2022)
    原文标题:Target-RelevantKnowledgePreservationforMulti-SourceDomainAdaptiveObjectDetection中文标题:多源域自适应目标检测中的目标相关知识保存论文地址:https://arxiv.org/pdf/2204.07964代码地址:无官方实现?我有点纳闷难道顶会不公布代码的吗这篇文章是由北......
  • 智能车摄像头开源—1.2核心算法:自适应八向迷宫(下)
    一、前言     本篇将详细讲述自适应八向迷宫的算法原理,优势以及弊端。     同样在此声明:此系列开源均由本人实践和经验得出,并不保证完全正确,仅供参考和入门学习。二、自适应八向迷宫优势具备极快的速度优势,在双核主频200MHz英飞凌TC264主控上,单核运算......
  • P1307 [NOIP2011 普及组] 数字反转
    P1307[NOIP2011普及组]数字反转提交483.96k通过196.21k时间限制1.00s内存限制128.00MB提交答案加入题单做题计划(首页)个人题单团队题单保存题目提供者CCF_NOI难度入门历史分数0 提交记录  查看题解标签NOIp普及组2011 查看算法标签进入讨论版相关讨论......