首页 > 其他分享 >做题记录整理数据结构2 541. 疯狂的馒头(2022/10/3)

做题记录整理数据结构2 541. 疯狂的馒头(2022/10/3)

时间:2022-10-04 20:22:49浏览次数:72  
标签:馒头 10 int 查集 541 ji 2022

541. 疯狂的馒头

非常妙的构造题(妙到甚至没想到)

首先就是发现肯定是需要O(n)的算法

我们会发现倒着找出来的那一次就是馒头最后染色的次数

然后难点就在于如何保证每个馒头只需要被访问一次

答案是并查集

并查集记录着这个数右边第一个没有被染色过的馒头

感觉和noip2021年的那个第一题有异曲同工之妙,但是这个要难想一些

#include<bits/stdc++.h>
#define for1(i,a,b) for(int i = a;i<=b;i++)
#define ll long long
#define mp(a,b) make_pair(a,b)
using namespace std;
int n,m,p,q,cnt;
int fa[1000005],vis[1000005];
int gf(int x)
{
    if(fa[x]==x) return x;
    return fa[x]=gf(fa[x]);
}
int main()
{
    scanf("%d%d%d%d",&n,&m,&p,&q);
    for1(i,1,n)fa[i]=i;
    fa[n+1]=n+1;
    for(int i=m;i&&cnt<n;i--)
	{
        int x=(i*p+q)%n+1,y=(i*q+p)%n+1;
        if(x>y)swap(x,y);
        int ji=gf(x);
        while(ji<=y&&cnt<n)
		{
            vis[ji]=i,++cnt;
            fa[ji]=ji+1;
            if(vis[ji])  ji=gf(ji);
        }
    }
    for1(i,1,n) printf("%d\n",vis[i]);
    return 0;
}

标签:馒头,10,int,查集,541,ji,2022
From: https://www.cnblogs.com/yyx525jia/p/16754377.html

相关文章

  • Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 106; 对
    给Properties注入值报错<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2......
  • 做题记录整理数论1 P6102 [EER2]谔运算(2022/10/3)
    P6102[EER2]谔运算位运算题,但是就算进数论里面吧之前说dp是我学得最烂的(其实都没好到哪里去),现在发现原来数论才是。。。由于是看题解的,而且数论题看题解和白嫖也差不多......
  • 做题记录整理数据结构1 P6033. [NOIP2004 提高组] 合并果子 加强版(2022/10/3)
    P6033.[NOIP2004提高组]合并果子加强版老题新做型里面最妙的就是用两个队列来代替一个堆,和蚯蚓那道题有异曲同工之妙#include<bits/stdc++.h>#definefor1(i,a,b)......
  • 做题记录整理图论2 P6591. [YsOI2020] 植树(2022/10/3)
    P6591.[YsOI2020]植树是一道相对比较简单的题,但是为什么还要对它进行总结呢?因为里面有一种先固定一个根来算子树大小,之后再进行计算的想法我之前似乎没有做过类似的题......
  • ElasticSearch-7.10版本最新万字长文教程【距离搞懂ELK核心你只差这一片文章】
    ES万字长文教程​​一、认识ELK、ES​​​​1.什么是ELK?​​​​2.什么是ElasticSearch​​​​3.ElasticSearch下载安装教程​​​​二、索引的CRUD​​​​1.创建索引​​......
  • 做题记录整理图论1 P3629 [APIO2010] 巡逻(2022/10/3)
    P3629[APIO2010]巡逻写一道题顶写三道题系列,为了写这道题专门去学习了树的直径的两种求法,可以说是血赚了https://www.luogu.com.cn/blog/lscsznmhw/solution-p3629......
  • 2022.10.4
    考试,大概7、8名,基本是按流程来的了。还是有些问题,感觉很多题莫名奇妙没转过弯,拿了很高的部分分但距离正解还有距离。CF做少了QaQTodo:考试,改题(至少前三道)。把CF的E题和......
  • 10.4 第三问
    (1)统计每天各个机场的销售数量和销售金额。要求的输出字段day_id,sale_nbr,,cnt,round日期编号,卖出方代码,数量,金额。命令:查询语句:selectday_id,sale_nbr,sum(cnt),sum......
  • 10.4训练
    输入schematool-initSchema-dbTypemysql-verbose初始化hive元数据库hive建表createtabletest0(day_idstring,sale_nbrstring,buy_nbrstring,cntint,roun......
  • 10.4
    bin/sqoopexport>--connectjdbc:mysql://master:3306/mysql>--usernameroot>--password000000>--tabletable3>--num-mappers1>--export-dir/user/hive/......