题意

题目链接

Sol

直接倒着并查集一波就行了

#include<bits/stdc++.h>
// #define int long long
using namespace std;
const int MAXN = 1e6 + 10;
inline int read() {char c = getchar(); int x = 0, f = 1;while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}
int N, M, p, q, ans[MAXN], fa[MAXN];
int find(int x) {return fa[x] == x ? fa[x] : fa[x] = find(fa[x]);
}
main() {
//  freopen("a.in", "r", stdin);N = read(); M = read(); p = read(); q = read();for(int i = 1; i <= N + 1; i++) fa[i] = i;for(int i = M; i >= 1; i--) {int l = (i * p + q) % N + 1, r = (i * q + p) % N + 1;if(l > r) swap(l, r);for(int j = find(l); j <= r; j = (fa[j] = find(j + 1))) ans[j] = i;}for(int i = 1; i <= N; i++) printf("%d\n", ans[i]);return 0;
}

转载于:https://www.cnblogs.com/zwfymqz/p/9719164.html

BZOJ2054: 疯狂的馒头(并查集)相关推荐

  1. BZOJ2054 疯狂的馒头 并查集

    2054: 疯狂的馒头 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 974 Solved: 423 [Submit][Status][Discuss ...

  2. Bzoj P2054 疯狂的馒头 | 并查集

    题目链接 思路:因为每次染色都会将某些馒头的颜色彻底更改,所以每个馒头的最终的颜色其实是由最后一次染色决定的,那么我们只考虑最后一次染色即可.对此,我们可以从后往前倒着染色,当目前的染色区间中存在白色 ...

  3. bzoj2054疯狂的馒头(巧用非递归并查集)

    www.cnblogs.com/shaokele/ bzoj2054:疯狂的馒头 Time Limit: 10 Sec Memory Limit: 162 MB Description Input 第 ...

  4. bzoj2054 疯狂的馒头

    bzoj上现在找不到这题,所以目前只是过了样例,没有测 2054: 疯狂的馒头 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 715  Solved ...

  5. BZOJ2054疯狂的馒头

    2054: 疯狂的馒头 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 634 Solved: 250 Description Input 第一行四个正 ...

  6. acwing 3115 bzoj2054 疯狂的馒头

    https://www.acwing.com/problem/content/3118/ 做法:并查集 逆序枚举,因为最后染色的就是最后的颜色. find(f[i])表示为右边第一个没有被染色的点,通 ...

  7. 【BZOJ2054】疯狂的馒头(并查集)

    /* 经典思路, 倒序并查集处理即可*/#include<cstdio> #include<algorithm> #include<cstring> #includ ...

  8. bzoj 2054: 疯狂的馒头(线段树||并查集)

    链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2054 线段树写法: 点的颜色只取决于最后一次染的颜色,所以我们可以倒着维护,如果当前区间之前 ...

  9. 疯狂的馒头(bzoj2054)

    问题 G: 疯狂的馒头(bzoj2054) 时间限制: 1 Sec 内存限制: 128 MB 提交: 93 解决: 26 [提交][状态] 题目描述 输入 第一行四个正整数N,M,p,q 输出 一共输 ...

最新文章

  1. 标定板标定和九点标定的区别_射频导纳物位计的标定方法
  2. 三步搭建Spring Cloud 服务注册
  3. C语言的指针*和引用
  4. 2018年数据中心行业三大发展趋势
  5. NGUI UIRoot原理分析
  6. python基础教程:数值与字符串类型
  7. 音频处理八:(MFCC 的计算)
  8. docker mysql 日志_docker中将MySQL运行在容器中失败提示“ InnoDB : Error 22 with aio_write”的解决办法...
  9. spring依赖注入_Spring3:类型安全依赖项注入
  10. UITableViewStyleGrouped顶部留白问题
  11. 品牌logo在EDM数据营销中的运用
  12. 浮点数例外 (核心已转储)_年仅21岁出场过百重新定义边后卫,克洛普把阿诺德打造成进攻核心...
  13. 计算机网络配置——静态路由的配置
  14. oracle数据库连接时报12514_Oracle数据库之Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务...
  15. JavaEE Spring框架学习笔记(AOP Introductions介绍)
  16. 5G丨美国运营商Verizon年底在美国20座城市开通5G服务
  17. 胖虎技术群Java后端的良师
  18. rtcp 的jitter buffer
  19. 外包三年准备跳槽了!
  20. 金行健:夺冠要送房? 起底EDG背后的朱一航

热门文章

  1. python pip install virtualenv时注意事项:需使用root权限 否则报virtualenv命令找不到
  2. Ubuntu21.04下安装Jupyter notebook
  3. Hive架构及安装部署(远程数据库模式MySQL)
  4. hdfs oiv命令查看FsImage镜像文件内容
  5. jQuery easyUI--选项卡右键菜单
  6. 威纶通触摸屏与仪表通讯_西门子S7-200PLC与威纶通HMI的通信案例
  7. mysql修改主键为自增长碰到的错误
  8. 在eclipse中查看Android源代码
  9. malloc和free的深层次分析
  10. 信息论4—无失真信源编码(非延长码,霍夫曼编码)