目录

题意

样例输入

样例输出

思路

AC代码


https://codeforces.com/contest/1549/problem/C

题意:

个贵族,编号为1~,编号i的贵族具有的能量值。存在个朋友关系,朋友关系是相互的。(如果贵族和贵族存在朋友关系的话,a是b的朋友,b也是a的朋友。)

一个贵族被定义为脆弱的,如果满足两个条件:

1.这个贵族至少有一个朋友

2.这个贵族的所有朋友的能量值都比他高

你需要处理以下三种类型的查询:

1.Add a friendship between nobles u and v.(添加朋友关系)

2.Remove a friendship between nobles u and v.(移除朋友关系)

3.计算剩余贵族的数量(规则:所有脆弱的贵族被杀死,同时他们的友谊也随之结束。那么,新贵族就有可能变得脆弱。这个过程会不断重复,直到没有贵族会受到伤害。)

样例输入

4 3//n个贵族,m个朋友关系
2 1//2和1是朋友
1 3
3 4
4//四次查询
3//过程3,计算剩余贵族数量
1 2 3//过程1,添加朋友关系
2 3 1
3

样例输出

//对每个过程3输出答案
2
1

思路

思维+简单模拟

1.观察:如果 a , b有朋友关系,且能量值 a < b ,那么 a就会被杀。只要存在一个朋友关系,那么这个关系中编号小的就会被杀。所以可以记录每个关系中小编号的出度,出度为 0 的就是 3 过程最后留下来的 ( 因为没有以它为小编号的关系,所以它留下来了 )。

 if(x>y) swap(x,y);deg[x]++;

2.用一个num维护贵族剩余人数。

AC代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<limits.h>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
const int N=1e6+10;
int deg[N];
int vis[N];
int main()
{int n,m,q;cin>>n>>m;int num=n;//nu维护剩余人数memset(vis,0,sizeof(vis));while(m--){int x,y;cin>>x>>y;if(x>y)swap(x,y);deg[x]++;//给小编号出度加1if(!vis[x]){vis[x]=1;num--;}}cin>>q;int op,x,y;while(q--){cin>>op;if(op==1){cin>>x>>y;if(x>y)swap(x,y);deg[x]++;if(!vis[x]){vis[x]=1;num--;}}else if(op==2){cin>>x>>y;if(x>y)swap(x,y);deg[x]--;if(deg[x]==0){vis[x]=0;num++;}}else{cout<<num<<endl;}}
}

#736Div2---C.Web of Lies相关推荐

  1. CF1548A Web of Lies

    CF1548A Web of Lies 题意: 题解: 第一感觉是先建边然后跑dfs,但是看数据范围肯定不对,现在我们开始考虑其中的性质 对于第三个操作,我们是要将所有>=2的连通块进行判断的, ...

  2. Web of Lies(CF 1548A)

    这是今天在打个人赛时碰见的一道题,是一道半图论半思维的题. Web of Lies 题目大意不难理解,在这里只需要注意一些细节.在加边时,只有当cnt[min]的值为1时答案才应该减1,而不是当cnt ...

  3. Codeforces Round #736 (Div. 2)_C. Web of Lies

    C. Web of Lies 题目传送门: 题目传送门 题目截图: 题目大意: 给你一张图,连边代表两个点是朋友.一个点如果它所有的朋友都比它大,那他就出局了.接下来做q个操作: 1 u v代表uv之 ...

  4. C. Web of Lies cf#736Div.2

    C. Web of Lies 链接: link. 题目: 题意: 在一个关系图中,如果某个点有相连的点且相连的点数值大于它,那么他就会面临出局,操作1为加边,操作2为删边,操作三则为输出此时未出局人数 ...

  5. 跟着大佬上大分-Web of Lies

    C.谎言之网 目录 题干 代码 补充 题干 时间限制每测试2秒 内存限制每test256兆字节 inputstandard输入 outputstandard输出 当你玩权力的游戏时,你要么赢,要么死. ...

  6. CodeForces - 1549C - Web of Lies( 思维 )

    题目链接:点击进入 题目 题意 n个人m对朋友关系( 双向 ),q次操作: 1 u v u与v成为朋友 2 u v u与v朋友关系破灭 3 计算以下过程的答案: 过程:所有易受伤害的贵族同时被杀害,他 ...

  7. Web of Lies(图论/入度)

    题目 题意:给定n个点,第i个点的点权为i.初始时有m个边.现在有q个操作. 1 u v,表示把节点u和v连接,保证之前他们没有连接. 2 u v,表示把节点u和v拆开连接,保证它们之前已连接. 3 ...

  8. Codeforces Round #736 (Div. 2) C. Web of Lies

    传送门 题意: n个人,m个朋友关系,在一个关系中,编号较小的那个人权力较小.q次操作:让两个人成为朋友:让两个人断绝关系:杀死所有有朋友的并且他的所有朋友的权力都比他大的人,重复该操作直到没有可以杀 ...

  9. C - Web of Lies

    题意 如果一个人的所有链链接的人等级都比自己高,那么他就会被消灭掉.死的人还能被link. 解析 根本不需要建图,傻乎乎的建图建了好一会儿.而且直接模拟的话明显会超时,就要去观察一下性质:如果一个被高 ...

最新文章

  1. 【bzoj3924】[Zjoi2015]幻想乡战略游戏 动态点分治
  2. 《Flex 3程序设计》——Adobe技术专家力作
  3. 网吧电源和网络布线经验谈(1)
  4. 【leetcode】3Sum
  5. Spring Bean的属性注入
  6. 校级选修课《软件开发实践》教学大纲(200807修订)
  7. python笔记之序列(tuple的基本使用和常用操作)
  8. python里的apply,applymap和map的区别
  9. 机器学习岗位太少_太多的东西要学习,很少的时间
  10. Python base64编码解码
  11. C++编译器与链接器工作原理
  12. 命运歌姬服务器停服维护中,命运歌姬3月4日更新什么?命运歌姬3月4日更新维护公告[多图]...
  13. 非递归的方法写快排java_快排的最差情况以及快排平均复杂度的计算
  14. 微软紧急修复 Windows codecs 库中的两个 RCE 漏洞
  15. sock 文件方式控制宿主机_基于嵌入式Linux系统实现YAFFS2文件系统存储方案的设计...
  16. SLAM学习笔记-------------(二)初识SLAM
  17. 利用Excel出库明细表批量生成送货单
  18. MPC的终结——二次规划求解约束极值问题
  19. pcs7服务器没有报警信息,PCS7操作员站体系结构
  20. SQL入门之第八讲——UPDATE更新语句

热门文章

  1. 关于Spring的69个面试问答和Top25个问答--终极列表,以及Spring相关知识
  2. 前端基础知识点总结CSS篇(问题实例)
  3. 双系统下卸载deepin
  4. Explainable deep learning models in medical image analysis【谷歌翻译】
  5. nginx提升网站访问速度
  6. 数学文化赏析学习笔记
  7. 基于OpenCV的水电表的刻度数读取及识别
  8. c#实现猜数游戏(do-while和for循环实现方法)
  9. 点菜系统使用场景01
  10. 掌握SEO关键词布局技巧:让您的网站在搜索引擎中翻云覆雨,提升排名和流量