bzoj 3671 随机数生成器 —— 暴力
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3671
原来256M是可以开两个3e7的数组的;
因为答案只有 n+m-1 个数,所以暴力判断能否放即可,不用线段树;
然而 O(n) 判断 O(1) 修改和 O(1) 判断 O(n) 修改是不同的。呵呵。
代码如下:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int const xn=,xxn=,xm=5e4+;
int n,m,t[xxn],ps[xxn],mn[xn],mx[xn];
int rd()
{
int ret=,f=; char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=; ch=getchar();}
while(ch>=''&&ch<='')ret=ret*+ch-'',ch=getchar();
return f?ret:-ret;
}
int mnn(int x,int y){return x<y?x:y;}
int mxx(int x,int y){return x<y?y:x;}
int main()
{
int xx=rd(),a=rd(),b=rd(),c=rd(),d=rd();
n=rd(); m=rd(); int Q=rd();
for(int i=;i<=n*m;i++)t[i]=i;
for(int i=;i<=n*m;i++)
{
xx=((ll)a*xx*xx+(ll)b*xx+c)%d;//!%d
swap(t[i],t[xx%i+]);
}
for(int i=,u,v;i<=Q;i++)u=rd(),v=rd(),swap(t[u],t[v]);
for(int i=;i<=n*m;i++)ps[t[i]]=i;
for(int i=;i<=m;i++)mn[i]=,mx[i]=n;
int num=;
for(int i=,x,y;i<=n*m;i++)
{
x=(ps[i]-)/m+; y=(ps[i]-)%m+;
if(mn[y]>x||mx[y]<x)continue;
printf("%d ",i); num++;
if(num==n+m-)break;
for(int i=;i<y;i++)mx[i]=mnn(mx[i],x);
for(int i=y+;i<=m;i++)mn[i]=mxx(mn[i],x);
}
puts("");
return ;
}
bzoj 3671 随机数生成器 —— 暴力的更多相关文章
- [BZOJ]3671 随机数生成器(Noi2014)
洛谷上卡不过去的朋友们可以来看看小C的程序(小C才不是标题党呢!) Description Input 第1行包含5个整数,依次为 x_0,a,b,c,d ,描述小H采用的随机数生成算法所需的随机种子 ...
- 【BZOJ3671】[Noi2014]随机数生成器 暴力
[BZOJ3535][Noi2014]随机数生成器 Description Input 第1行包含5个整数,依次为 x_0,a,b,c,d ,描述小H采用的随机数生成算法所需的随机种子.第2行包含三个 ...
- bzoj 3122 随机数生成器 - BSGS
Description Input 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数. 接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据.保证X1和t都是合法的页码. ...
- BZOJ 3122 随机数生成器
http://www.lydsy.com/JudgeOnline/problem.php?id=3122 题意:给出p,a,b,x1,t 已知xn=a*xn-1+b%p,求最小的n令xn=t 首先,若 ...
- BZOJ 2875 随机数生成器
http://www.lydsy.com/JudgeOnline/problem.php?id=2875 题意:给出mod,a,c,g,x0,n,xn=(a*xn-1+c)%mod,求xn%g 求A* ...
- 【BZOJ】【3671】【NOI2014】随机数生成器
贪心 嗯……其实生成这个矩阵就是一个$O(n^2)$的模拟 = = 然后?字典序最小?贪心呗= =能选1就选1,然后能选2就选2…… 我们发现,对于矩阵(1,1)~(n,m),假设1的位置是(x,y) ...
- 【BZOJ 3122】 [Sdoi2013]随机数生成器 (BSGS)
3122: [Sdoi2013]随机数生成器 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1442 Solved: 552 Description ...
- luogu P2354 [NOI2014]随机数生成器 贪心 卡空间 暴力
LINK:随机数生成器 观察数据范围还是可以把矩阵给生成出来的. 考虑如何求出答案.题目要求把选出的数字从小到大排序后字典序尽可能的小 实际上这个类似于Mex的问题. 所以要从大到小选数字 考虑选择一 ...
- BZOJ 2875: [Noi2012]随机数生成器( 矩阵快速幂 )
矩阵快速幂...+快速乘就OK了 ----------------------------------------------------------------------------------- ...
随机推荐
- EasyPlayer.js H5播放器帮助我这种不会前端的普通用户也能轻松实现直播接入
说到EasyPlayer.js,先得说一下EasyPlayer到底是啥, An elegant, simple, fast android RTSP/RTMP/HLS/HTTP Player.Easy ...
- What happens when we continue stacking deeper layers on a “plain” convolutional neural network?
http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture9.pdf The deeper model performs worse, but ...
- [ACM] FZU 2087 统计数边 (有多少边至少存在一个最小生成树里面)
Problem Description 在图论中,树:随意两个顶点间有且仅仅有一条路径的图. 生成树:包括了图中全部顶点的一种树. 最小生成树:对于连通的带权图(连通网)G,其生成树也是带权的. 生成 ...
- Django自定义对象转成json字符串
1.定义转换函数:def convert_to_builtin_type(obj): print 'default(', repr(obj), ')' # 把MyObj对象转换成dict类型的对象 d ...
- linux系统环境下搭建coreseek(+mmseg3) (good)
1.下载并解压coreseek软件,操作命令如下: wget http://www.coreseek.cn/uploads/csft/3.2/coreseek-3.2.14.tar.gz 说明:文件下 ...
- ALV行 列颜色设置
ALV的颜色设置分为3种:行.列.单元格. 1.列颜色的设置 在 slis_t_fieldcat_alv-emphasize 中,写入需要的颜色代码. Eg: DATA: fc TYP ...
- Bootstrap学习3--栅格系统
备注:最新Bootstrap手册:http://www.jqhtml.com/bootstraps-syntaxhigh/index.html 目录1.简介2.栅格选项3.列偏移4.嵌套列5.列排序 ...
- gulp 打包报错:ReferenceError: internalBinding is not defined
> gulp build internal/util/inspect.js:31 const types = internalBinding('types'); ^ ReferenceError ...
- [原创]java WEB学习笔记03:使用eclipes开发javaWEB项目
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- zabbix实现mysql数据库的监控(二)
上章我们把zabbix的服务端和客户端都部署完成了,本章接着进行两部分的设置: 1 添加对mysql数据库主机的监控 2 添加对mysql数据库的监控 一.对数据库服务器主机监控 1 创建主机 步 ...