当前位置: 首页 > news >正文

【题解】Educational Codeforces Round 105E

题目链接

Educational Codeforces Round 105E

题目大意

给定一张图,有三种操作:

  1. \(u\) \(v\) 之间连一条标号为 \(c\) 的边。
  2. 去掉 \(u\) \(v\) 之间的边。
  3. 询问是否有经过 \(k\) 个点的路径,使得可以从 \(v_1\) 走到 \(v_k\),还可以走回来,而且来去经过的边的标号连接形成的字符串相同,允许点重复。

思路

一开始看到连边删边,肌肉反应 LCT ,但是思考了一会,这题显然不是这么做的,然后又想一种类似于双向宽搜的方法,即显然第一条边和最后一条边的标号相同,那么我选两个标号相同的边开始宽搜,轮流迭代,直到访问的点相遇,然后一想又不对,复杂度爆炸了。

又过了好一会,觉得自己想复杂了,疑似有一点找规律的味道,因为发现,当 \(k\) 为偶数,如果图上存在一个相同标号的二元环 \(u\) \(v\),那么一定有 \(u v u v ... u v\) 这样重复若干次的解,进一步思考,如果 \(k\) 是奇数,那么实际上甚至不需要二元环标号相同, \(u v u ... v u\) 显然也是一个解。

实际编码时,只要维护 \(u\) \(v\) 之间是否有边以及边的颜色,每次询问,根据 \(k\) 的奇偶性,判断答案即可。

AC代码

#include <iostream>
#include <map>
using namespace std;class Edge{
public:int u, v;bool operator<(const Edge &o) const{if(u!=o.u) {return u<o.u;} else {return v<o.v;}}
};map<Edge, char > edge;
int even, odd;int main() {int n, m;cin>>n>>m;char op, c;int u, v, k;while(m--) {cin>>op;if(op == '+') {cin>>u>>v>>c;if(edge[{v, u}] != 0) {odd++;if(edge[{v, u}] == c) {even++;}}edge[{u, v}]=c;} else if(op == '-') {cin>>u>>v;if(edge[{v, u}] != 0) {odd--;if(edge[{v, u}]==edge[{u, v}]) {even--;}}edge[{u, v}]=0;} else if(op == '?') {cin>>k;if(k&1) {if(odd) {cout<<"YES"<<endl;} else {cout<<"NO"<<endl;}} else {if(even) {cout<<"YES"<<endl;} else {cout<<"NO"<<endl;}}}}
}
http://www.hskmm.com/?act=detail&tid=40742

相关文章:

  • anaconda常用命令
  • 业务人员能学低代码吗
  • 低代码只能做简单表单?复杂业务场景的适配方案
  • 2025青科会启幕,网易伏羲携游戏AI前沿实践共话未来
  • Python电力负荷预测:LSTM、GRU、DeepAR、XGBoost、Stacking、ARIMA结合多源数据融合与SHAP可解释性的研究
  • P4427 [BJOI2018] 求和
  • 白忙活这么多年!早知道有这9款软件,我少熬好几个通宵!
  • 专题:2025年医疗健康行业状况报告:投融资、脑机接口、AI担忧|附130+份报告PDF合集、图表下载
  • SQL Server创建指定数据库的账号且看不到其他任何用户创建的数据库
  • 第二十九篇
  • 专题:2025年制造业数智化发展白皮书:数字化转型与智能制造|附130+份报告PDF、数据、绘图模板汇总下载
  • Paper Reading: Symbolic Regression Enhanced Decision Trees for Classification Tasks
  • 思源笔记多端同步方案:Docker MinIO + Siyuan-unlock
  • AI辅助渗透测试小试牛刀
  • VisionPro学习笔记- CogCreateGraphicLabelTool
  • Linux内核6.15.4性能调优、网络优化与稳定性增强详解
  • [SKILL] 常用语句
  • 团队博客 1plus:团队项目NABCD方案
  • 程序员修炼之道:从小工到专家读后感(2025_10_29)
  • 软件工程学习日志2025.10.29
  • 2025年三聚氰胺饰面板源头厂家推荐榜前十强分析
  • 2025年国内冷弯型钢工厂/冷弯型钢厂家综合评测与选择指南
  • 从零开始编写一个办公软件(一、自定义窗口)
  • 团队博客2:描述团队的每个人如何使用 AI 来高效完成团队任务的
  • 2025年国型钢厂家/工厂排名前十:江苏华力冷弯型钢领跑行业
  • Optuna AutoSampler 更新:让多目标和约束优化不再需要手动选算法
  • 洛谷 P11104 [ROI 2023] 监控 (Day 1) 题解
  • 回答博客一的提问,与收获
  • 算空间时间 - Slayer
  • 异常处理总结