CF1548A Web of Lies 题解

news/2024/12/21 22:34:55/文章来源:https://www.cnblogs.com/Atserckcn/p/18621488

Web of Lies 题解

洛谷。

Codeforces。

题意比较直接,就不复述了。

思路

分析题意

首先根据操作 3,删人只是暂时的,可以分析出每次删的人对于后面都没有影响。

关注到这个词:

执行以下操作直至不可再执行为止。

显然,在整个图中所有该被删除的人都逃不掉,迟早被删除。

那么看看什么样的神犇才能从操作 3 中存活下来?

  • 没朋友的人可以。(这很显然)
  • 在所有朋友中,他是最强的一个。这样的话,他的所有朋友都会比他早归西,他也就没了朋友,可以当作第一种情况看待。

这么说来,这道题还挺富含哲理的……

当你最孤独,没朋友就能活下来。

当你在你朋友中是最强的,他们归西了,你还苟着。

当你的某个朋友比你强,你就得卒。

可以考虑用一个数组 e 来记录。\(e_i\) 表示第 \(i\) 个人有几个比他强的朋友

现在看看操作

加边

当你交了一个朋友,会怎么样呢?

分下情况:

若他比你弱,啥事也没发生。

若他比你强,交了这个朋友会把你害死。必死无疑。\(e_i+1\)。答案 +1。

删边

若他比你弱,也是什么事都没发生。

比你强:

如果你只有这一个比你强的朋友,即 \(e_i=1\),那么恭喜你,你跟他绝交,你活了下来。

如果你不止他一个,那你目前还得死。不过 \(e_i\) 可以减一。这样以后再绝交几个就可以活了。

询问

直接输出答案即可。

Code

//wrote by Atserckcn
#include<bits/stdc++.h>
using namespace std;
#define ljl long long
const ljl N=2e5+5,M=2e5+5;
ljl n,m,q,u,v,ans/*ans 即为答案*/,op,e[N];
struct EDGE{void solve1(ljl from,ljl to)//加边{ljl minn=(ljl)min(from,to);//选取主角:弱的那个if(!e[minn])//交了个比你强的朋友,很遗憾,你目前得死--ans;e[minn]++;return;}void solve2(ljl from,ljl to)//删边{ljl minn=(ljl)min(from,to);//找主角if(e[minn]==1)//你只有一个比你强的朋友,恭喜你,你能活着++ans;--e[minn];return;}
}edge;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m;ans=n;for(ljl i=1;i<=m;++i){cin>>u>>v;edge.solve1(u,v);
//		cout<<"----------"<<ans<<'\n';}cin>>q;while(q--){cin>>op;if(op==1){cin>>u>>v;edge.solve1(u,v);continue;}if(op==2){cin>>u>>v;edge.solve2(u,v);continue;}cout<<ans<<'\n';}return 0;
}

AC 记录。

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

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

相关文章

2024-2025-1 学号20241315《计算机基础与程序设计》第十三周学习总结

作业信息这个作业属于哪个课程 <班级的链接>2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13这个作业的目标 <写上具体方面>第12章并完成云班课测试作业正文 ... 本博客链接 h…

【解决方案】电商精细化运营方案

随着互联网技术的不断发展和普及,电商行业在过去几十年中取得了巨大的发展和变革。从供小于求的“以商品为主”阶段,到享受时代红利的“以流量为主”阶段,再到重视消费者体验的“精细化运营”阶段,电商市场正在进入以消费者为中心精细化运营时代,这要求电商企业从存量市场…

洛谷 P11411 兰奇的卡牌游戏——题解

洛谷P11411兰奇的卡牌游戏传送锚点摸鱼环节 兰奇的卡牌游戏 题目描述 作为制卡大师的兰奇,发明了一种自助型卡牌游戏。 给定 \(n\) 张卡牌,第 \(i\) 张卡牌编号为 \(i\),其权值为 \(a_i\),卡牌的权值互不相同。 这个卡牌游戏的规则需要自己生成。一开始,所有的牌都在备选区…

centos上redis的安装

官网教程 redis安装官网 https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/ 可以右下方看到安装到各个平台的连接 这里我安装的是centos系统,所以选择 install Redis on Linux centos系统选择red hat安装方式下方第一条命令需要输入【y】进行确认 s…

CHM助手 高效制作接口文档

1 CHM助手 >> 高效制作接口文档 1.1 概述用户如果书写代码的过程中使用了良好的注释,比如:doxygen规范, 则有可能生成比较规范的接口文档。很多工具软件都支持编程扩展,比如:宏/脚本接口,那么,完善的接口文档将会给用户带来极大的便利,否则,软件的使用和推广都会…

CHM文件搜索显示为乱码或结果不全问题处理方法

1 生成CHM文件后搜索显示为乱码或搜索结果不全的原因及解决办法 1.1 问题背景使用一些CHM帮助制作工具生成的帮助文件,在html编辑阶段都显示正常,但是生成chm后,可能会出现以下问题:页面显示为乱码 搜索时,搜索结果为乱码 搜索不到结果,但明明打开手册时可以看到相关文字…

CHM助手 使用说明 步骤2:图片宽度转换相对宽度

1 CHM助手使用说明 >> 步骤2:图片宽度转换相对宽度 1.1 概述在文档写作界,流传一句“字不如表、表不如图”的定律,所以,即使是chm联机帮助,良好的图文排版,会让手册的知识传播效果加倍,但不幸的是,微软对chm文档的更新已经停止好多年了, 随着硬件的发展,近些年…

CHM助手 使用说明 步骤3:文字编码转换

1 CHM助手使用说明 >> 步骤3:文字编码转换 1.1 概述很多新手在制作chm帮助文档时,会发现要么搜索不全,搜索结果为乱码,要么帮助页面显示主乱码,这种情况主要是因为html文档中包含了中文,或其他语言文字,对于包含中文的chm文档,所有的html页面都必须要使用GB2312编…

CHM助手 使用说明 步骤1:清理HTML文档

1 CHM助手使用说明 >> 步骤1:清理HTML文档 1.1 应用场景由于编译CHM文档时,html文档的目标文本编码方式是GB2312,而使用第三方工具编写的html文件可能是utf8编码或者其他编码方式,有些特殊字符如:©、🕮等,在GB2312文档中显示为乱码,需要使用html符号描述方…

深度学习(超分辨率)

简单训练了一个模型,可以实现超分辨率效果。模型在这里。 模型用了一些卷积层,最后接一个PixelShuffle算子。 训练数据是原始图像resize后的亮度通道。 标签是原始图像的亮度通道。 损失函数设为MSE。 代码如下:import torch import torch.nn as nn import torch.optim as o…

k8s阶段09 Velero备份恢复功能, 云原生的定义, k8s实践项目(Mall-MicroService)

4 基于Velero的备份和恢复Velero介绍Velero是用于备份和恢复 Kubernetes 集群资源和PV的开源项目,由VMWare-Tanzu维护◼ 基于Velero CRD创建备份(Backup)和恢复作业(Restore)◼ 可以备份或恢复集群中的所有对象,也可以按类型、名称空间或标签过滤对象◼ 可基于文件系统…