Bzoj 2054: 疯狂的馒头
题目
我们先想一想暴力模拟,算出l,r,染色,最后输出,很明显会超时。想一下每个点的最终颜色仅与它最后一次被染色的情况决定,这就是NOIP2011D1T1铺地毯复杂版。
我们可以用倒序将并查集将从左向右将点连起来。
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=1000100;
int n,m,p,q,fa[maxn],ans[maxn];
int find(int x)
{if(x!=fa[x]) return fa[x]=find(fa[x]);return x;
}
int main()
{cin>>n>>m>>p>>q;for(int i=1;i<=n+1;++i)fa[i]=i;while(m){int l=(m*p+q)%n+1,r=(m*q+p)%n+1;if(l>r)swap(l,r);for(int i=find(l);i<=r;i=find(i+1))ans[i]=m,fa[i]=find(i+1);--m;}for(int i=1;i<=n;++i)printf("%d\n",ans[i]);return 0;
}
Bzoj 2054: 疯狂的馒头相关推荐
- [BZOJ 2054]疯狂的馒头(并查集)
Description CQF十分喜欢吃馒头.兴奋之下他一下子买了N 个馒头请所有认识他的人吃. 但是CQF不喜欢白色,喜欢红色.黄色.绿色等鲜艳的颜色.于是他把所有白色的馒头排成一列.然后进行M 次 ...
- [BZOJ 2054]疯狂的馒头
这题一看是区间染色,直接上线段树.数据范围N<= 106,M <= 107,如果跑线段树复杂度为O(MlogN),但是时间限制10s,所以复杂度能过. 具体操作就是倒着算区间,因为每个馒头 ...
- bzoj 2054: 疯狂的馒头(线段树||并查集)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2054 线段树写法: 点的颜色只取决于最后一次染的颜色,所以我们可以倒着维护,如果当前区间之前 ...
- [BZOJ] 2054 疯狂的馒头
只有最后一次染色有效,时光倒流,用并查集保证每个点只被染一次,染够n次及时退出,复杂度O(n) #include<iostream> #include<cstdio>using ...
- BZOJ 2054 疯狂的馒头
[Description] n个点,m次操作,每次把(i*p+q)%n+1与(i*q+p)%n+1之间的点染上颜色i,被染过色的会被新颜色覆盖,求最后每个点的颜色. [题解] 因为被染过的颜色会被新的 ...
- Codevs 2054疯狂的馒头
AC通道: http://www.lydsy.com/JudgeOnline/problem.php?id=2054 [分析] 对于任何一个馒头,只有最后一次刷才有意义.无论之前刷过多少次,它的颜色都 ...
- Bzoj P2054 疯狂的馒头 | 并查集
题目链接 思路:因为每次染色都会将某些馒头的颜色彻底更改,所以每个馒头的最终的颜色其实是由最后一次染色决定的,那么我们只考虑最后一次染色即可.对此,我们可以从后往前倒着染色,当目前的染色区间中存在白色 ...
- 2054:疯狂的馒头/2375:疯狂的染色
题目链接 题目大意:给定染色的顺序,每次染一个区间,每次染色会覆盖之前颜色,输出m次涂色后的每个点的颜色 题解:只有最后一次有用,所以倒着做 用f[i]=x来表示i到x-1这段区间已经被染过色了.当染 ...
- 【BZOJ 2054】 疯狂的馒头
2054: 疯狂的馒头 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 449 Solved: 175 [ Submit][ Status] D ...
最新文章
- Python实现有道翻译
- Java动态代理详解(Proxy+InvocationHandler)
- Zookeeper内部的简单细节(一)
- 网站安全狗V3.0—— .NET安全设置及保护实战教程
- 面向对象之多态,魔法函数
- Qt5学习笔记之计时器
- It#39;s about trust
- PPT幻灯片母版在制作时的应用
- 【3】Kali破解家用WI-FI密码 - 建立伪装热点
- html5 画猫全过程svg入门
- 深度学习基础知识(八):神经网络基础之导数
- awl多线程SYN***
- MC0101 冰雪大冒险
- 电容笔和触控笔有哪些区别?双十一好用不贵电容笔推荐
- 4.124.13天梯赛补题
- 电脑连接多台Andro设备使用adb命令进行无线调试
- 面试官:Vue3.0 性能提升主要是通过哪几方面体现的?
- 网友:国产FPGA,长点心吧
- java实现微信公众号内容推送系统
- 蛋白激酶/磷酸酶 调控信号通路、细胞机制