首页 > 其他分享 >[ABC238E]Rcange Sums

[ABC238E]Rcange Sums

时间:2023-08-22 16:59:24浏览次数:48  
标签:pre 图论 ABC238E int 查集 Sums Rcange 区间

前言

一道水得不能再水的题,虽说在图论的题单里,但我真的没有用图,用了并查集就轻松\(AC\)。

大意

输入\(q\)个\(l,r\),表示知道\(l\)到\(r\)的区间,最后问能不能知道\(0\)到\(n\),能就输出Yes,不能就输出No

思路

  1. 图论做法:可以把知道\(l\)到\(r\)的区间抽象为从\(l-1\)向\(r\)连一条边,把从\(x\)到\(y\)有一条边理解为知道\(x+1\)到\(y\)的区间,最后从\(0\)开始,遍历整个图,看看能否到\(n\)就可以了。
  2. 并查集做法:可以把知道\(l\)到\(r\)的区间抽象为\(l-1\)是\(r\)的祖先,最后看看\(0\)和\(n\)是否拥有公共祖先就可以了。

Code

图论:

不放了,网上到处都是(其实是我懒得写)

并查集:

#include<bits/stdc++.h>
int n,q,l,r,pre[2000005];
inline int find(int x){
	return pre[x]==x?x:pre[x]=find(pre[x]);//查询
}
int main(){
	scanf("%d%d",&n,&q);
	for (int i=1;i<=n;++i)pre[i]=i;//初始化
	while (q--){
		scanf("%d%d",&l,&r);
		pre[find(l-1)]=find(r);//合并
	}
	if (find(0)==find(n))puts("Yes");
	else puts("No");
}

标签:pre,图论,ABC238E,int,查集,Sums,Rcange,区间
From: https://www.cnblogs.com/z10h09x11/p/17648985.html

相关文章

  • 【题解】[ARC158C] All Pair Digit Sums
    传送门题目分析我们可以先从简单一点的情况开始分析,如果现在\(a_{[i]},a_{[j]}\)都不会进位,那么最后的\(f(a_{[i]}+a_{[j]})=f(a_{[i]})+f(a_{[j]})\)。证明如下:有两个数\(x=\overline{x_nx_{n-1}....x_1}\)和\(y=\overline{y_my_{m-1}...y_1}\)。令\(n\lem\),由于不会......
  • [刷题笔记] Luogu P1466 [USACO2.2] 集合 Subset Sums
    ProblemDescription有一个长度为\(n\)的数组为\(1-n\),求有多少种选择方案使得选择数之和等于序列和的一半Solution题面翻译成这样是不是就好做了?首先,序列和的一半我们可以计算出\(n\times(n+1)\div2\div2\),显然序列和的一半只有是整数才有解,如果不是整数直接输出0即可。......
  • nvm安装node报错Get "https://nodejs.org/dist/latest/SHASUMS256.txt": dial tcp 104
    windows上通过nvm管理node版本,在本地安装了nvm后,通过nvm安装node,报错了,信息:Couldnotretrievehttps://nodejs.org/dist/latest/SHASUMS256.txt.Gethttps://nodejs.org/dist/latest/SHASUMS256.txt:dialtcp104.20.23.46:443:i/otimeout 有了这样的信息,我......
  • 「解题报告」ARC103D Distance Sums
    给Kaguya看了一眼,Kaguya用了一分钟切了。我看了一个小时。这就是神吗。考虑一个点往叶子走答案的贡献,显然距离和会变化\(-siz_u+(n-siz_u)=n-2siz_u\)。如果我们以重心为根,那么所有的\(n-2siz_u>0\),那么这实际上是一个小根堆。那么我们考虑从大往小枚举叶子,然......
  • [ABC151E] Max-Min Sums
    2023-03-11题目题目传送门翻译翻译难度&重要性(1~10):5题目来源AtCoder题目算法数学解题思路对于一个正数\(x,x\inA\)一定会有\(C_{n}^{i}\)次是作为集合中最大的元素,其中\(i\)表示比\(x\)小的数的个数,也一定会有\(C_{n}^{j}\)次是作为集合中最小的元素,其中......
  • Sumsets UVA - 10125
     一个集合中需要找到a,b,c,d,使得a+b+c=d 枚举a,b,计算a+b,存在map里再枚举d,c,计算d-c是否存在d-c==a+b #include<iostream>#include<map>#include<algorithm>#include<vector>usingnamespacestd;constintN=1e3+2;//a+b==d-c#definepiipair<......
  • Docker yum install的时候报错:Rpmdb checksum is invalid: dCDPT(pkg checksums): ...
    闲话就不说了,直接上Dockerfile:FROMhub.c.163.com/library/centos:7.2.1511MAINTAINERbyzsk_johnRUNyum-yinstallvimnet-tools&&yumcleanallEXPOSE22CMD["/bin/bash","-D"]注意一点,如果拆开写RUN,也就是yuminstallvim-y&&yuminst......
  • POJ--3187 Backward Digit Sums(暴搜/减枝)
    记录5:302023-3-25http://poj.org/problem?id=3178reference:《挑战程序设计竞赛(第2版)》第二章练习题索引p135DescriptionFJandhiscowsenjoyplayingamenta......
  • ARC158C All Pair Digit Sums 题解
    题目链接题意设\(f(x)\)表示\(x\)的各位之和。例如\(f(158)=1+5+8=14,f(2023)=2+0+2+3=7,f(1)=1\)等。给定一个正整数序列\(A=(A_1,...,A_N)\),求\(\sum_{i=1}^N......
  • [ABC273G] Row Column Sums 2 题解
    [ABC273G]RowColumnSums2Solution目录[ABC273G]RowColumnSums2Solution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体验戳此进入题面给定$n$,给......