首页 > 其他分享 >洛谷题解-P2712 摄像头

洛谷题解-P2712 摄像头

时间:2024-01-26 19:11:26浏览次数:27  
标签:洛谷 P2712 int 题解 坑点 摄像头

https://www.luogu.com.cn/problem/P2712

可以看出是拓扑排序,因为是有前后关系的,但是坑点在于点并不连续,值得记录一下(刚开始70分,后来才AC)

注意坑点:拓扑排序,遍历的点不连续

 

#include <bits/stdc++.h>
using namespace std;

const int N=1e5+5;
int n, x, m, y, d[N], cnt=0, vis[N], Max=0;
vector<int> a[N];
queue<int> q;
int main()
{
	scanf("%d", &n);
	for (int i=1; i<=n; i++)
	{
		scanf("%d%d", &x, &m);
		vis[x]=1; //有这个点
		for (int j=1; j<=m; j++)
		{
			scanf("%d", &y);
			a[x].push_back(y);
			d[y]++;
		}
		Max=max(x, Max); //最大点数
	}
	
	for (int i=1; i<=Max; i++) //因为不连续,所以要用Max记录最大点数
		if (d[i]==0 && vis[i]) q.push(i); //有这个点,才可以用
	while (!q.empty())
	{
		int u=q.front();
		q.pop();
	//	cout<<u<<endl;
		if (vis[u]) cnt++; //有这个点
		
		for (int i=0; i<a[u].size(); i++)
		{
			int v=a[u][i];
			d[v]--;
			if (d[v]==0) q.push(v);
		}
	}
	
	if (cnt<n) printf("%d", n-cnt); //求的是还没砸掉的摄像头的数量
	else printf("YES");
	return 0;
}

 

标签:洛谷,P2712,int,题解,坑点,摄像头
From: https://www.cnblogs.com/didiao233/p/17990512

相关文章

  • markdown图床问题解决
    写博客不仅要以文字形式记录,更重要的是把自己曾经的截图记录下来,更方便下次使用。所以有必要搞一个稳定的图床生成图片链接。一开始我是用的Github,新建一个仓库上传图片,优点是方便,缺点是网络不用魔法图片经常加载不出来。后来看到网上一些博主推荐使用七牛云图片存储,为此我购买......
  • CF1654G Snowy Mountain 题解
    题目链接点击打开链接题目解法很牛的题显然可以\(O(n)\)多源\(bfs\)求出\(h_i\)考虑从\(st\)开始最优的操作是什么?先延最短路径到\(p\),然后找到\(p\)的相邻点\(q\),满足\(h_p=h_q\),在\(p,q\)之间横跳,耗完所有动能,然后直接滑下去(不经过高度相同的点)为什么到\(p......
  • [西湖论剑 2022]web部分题解(更新中ing
    [西湖论剑2022]NodeMagicalLogin环境!启动!(ノへ ̄、)这么一看好像弱口令啊,(不过西湖论剑题目怎么会这么简单,当时真的傻),那就bp抓包试一下(这里就不展示了,因为是展示自己思路,这里就写了一下当时的NC思路,其实是不对的┭┮﹏┭┮)不是BP弱口令?那好吧,我们先看一下源码,比赛的时候是给了源......
  • Altair SimSolid常见问题解答 衡祖仿真
    Q:SimSolid究竟有什么特别之处?A:AltairSimSolid是专为设计工程师开发的结构分析软件且非常有创新性。它消除了传统FEA中特别耗时和非常专业的两项庞大任务——几何结构简化和网格划分,是一场仿真变革。简而言之,就是不用做几何简化,不用画网格,复杂装配体数量没有上限,真实三维模型直......
  • 蓝牙BQB认证申请过程常见问题解答
    BQB全名:BluetoothQualificationBody,我们一般称之为蓝牙资格认证,产品具有蓝牙功能并且在产品外观上标明蓝牙标志(Bluetoothlogo),必须通过蓝牙BQB的认证。1、为什么要过BQB?蓝牙技术联盟(BluetoothSpecialInterestGroup,简称SIG),蓝牙技术是它发明的。我们要使用它的专利,必须拿......
  • 洛谷题单指南-排序-P1271 【深基9.例1】选举学生会
    原题链接:https://www.luogu.com.cn/problem/P1271题意解读:最直接的计数排序问题,借助一个桶h[N],对被投票的候选人x执行h[x]++,再按顺序遍历输出即可。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1005;inth[N];intmain(){intn,m;......
  • CF1515F Phoenix and Earthquake 题解
    题目链接:CF或者洛谷首先基于一个事实,答案一定是生成树,显然,每次我们都需要连边,每次都会\(-x\),那么一共会减少\((n-1)\timesx\),很显然的一个必要条件为:\[\sum_{i=1}^{n}a_i\ge(n-1)\timesx\显然一定成立。\]现在我们用来证明它同时也是一个充分条件,不妨设:\[a_1\lea......
  • latex常见问题解决
    1.Fileendedwhilescanninguseof\@writefile解决方法:删除编译文件夹内.aux扩展名结尾的文件,重新用Latex命令进行编译,自动生成正确的aux文件,完成错误的修复。注:如果还不好使,就把除.tex以外的文件均删除掉,如:.bbl,.blg,.dvi,.log等2.多行缩进ctrl+a全选后,shift+tab向前退......
  • [Bzoj 3252] 攻略 题解
    攻略题面\(n(\le2\cdot10^5)\)个点的有根树,\(k(\len)\)次从根走到叶子,每个点有权值,求经过的点的权值和的最大值.(同一个点只能算一次)Sol1我们设想一个叶子一个叶子加进去的过程。如果有两个从某个点到叶子的路径,我们可以如图把他分成两条路径。那么他满足贪心,也就是每次......
  • P4159 [SCOI2009] 迷路 题解
    P4159[SCOI2009]迷路搬运工题目链接首先我们先考虑这道题的弱化版如何处理。假如所有的边权都是零和一。这时他们的边权可以看做这两个点走一步到达之间的方案数。而对于走t步,我们可以推出下列式子,\(f_{i,j}\)表示从节点\(i\)到节点\(j\)的方案数。\[f_{i,j}=\su......