【BZOJ3671】【NOI2014】随机数据生成器(贪心)
【BZOJ3671】【NOI2014】随机数据生成器(贪心)
题面
题解
前面的模拟
真的就是语文阅读理解题目
理解清楚题目意思
然后就会发现要求的就是一个贪心
从小往大枚举,检查当前数能不能选
如果能选
就会限制其他行的左右能够到达的范围
暴力修改一下
然后就很愉快的\(AC\)了
这题别的不卡
卡空间,卡格式
我也是醉了
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<vector>
#include<queue>
using namespace std;
inline int read()
{
int x=0,t=1;char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')t=-1,ch=getchar();
while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();
return x*t;
}
int X[5000*5000+10],T[5000*5000+10];
int l[5001],r[5001];
int A,B,C,D,N,M,Q;
int main()
{
X[0]=read();A=read();B=read();C=read();D=read();
N=read();M=read();Q=read();
int tt=N*M;
for(int i=1;i<=tt;++i)X[i]=(1ll*A*X[i-1]%D*X[i-1]%D+1ll*B*X[i-1]%D+C)%D;
for(int i=1;i<=tt;++i)T[i]=i;
for(int i=1;i<=tt;++i)swap(T[i],T[X[i]%i+1]);
for(int i=1;i<=Q;++i)swap(T[read()],T[read()]);
for(int i=1;i<=tt;++i)X[T[i]]=i;
for(int i=1;i<=N;++i)l[i]=1,r[i]=M;
int tot;
for(int i=1,j,x,y;i<=tt;++i)
{
x=(X[i]+M-1)/M;y=X[i]%M;if(!y)y+=M;
if(l[x]<=y&&y<=r[x])
{
if(i!=1)putchar(' ');
printf("%d",i);++tot;
if(tot==N+M-1)break;
for(j=1;j<x;++j)r[j]=min(r[j],y);
for(j=x+1;j<=N;++j)l[j]=max(l[j],y);
}
}
return 0;
}
【BZOJ3671】【NOI2014】随机数据生成器(贪心)的更多相关文章
- Java-随机数据生成器(造数据)
概述 简单易用的随机数据生成器.一般用于开发和测试阶段的数据填充.模拟.仿真研究.演示等场景.可以集成到各种类型的java项目中使用. 优点 非常轻量级(不到1M),容易集成,无需过多第三方依赖 简单 ...
- BZOJ3671 [Noi2014]随机数生成器 【贪心】
题目链接 BZOJ3671 题解 模拟题意生成矩阵贪心从小选择即可 每选择一个,就标记其左下右上矩阵 由于每次都是标记一个到边界的矩阵,所以一旦遇到标记过就直接退出即可,可以保证复杂度 还有就是空间和 ...
- Mockjs,模拟数据生成器
(推荐使用)Mock.js是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试. 提供了以下模拟功能: 1. 根据数据模板生成模拟数据. 2. 模拟Ajax请求,生成并返回模拟 ...
- 一个比较全面的java随机数据生成工具包
最近,由于一个项目的原因需要使用一些随机数据做测试,于是写了一个随机数据生成工具,ExtraRanom.可以看成是Java官方Random类的扩展,主要用于主要用于测试程序.生成密码.设计抽奖程序等情 ...
- 数据生成器Bogus的使用以及基于声明的扩展
引言 最近在整理代码,发现以前写的一个数据填充器写了一半没实现,而偏偏这段时间就要用到类似的功能,所以正好实现下. 目标 这个工具的目标是能够在项目初期快速搭建一个"数据提供器", ...
- 【awesome-dotnet-core-learning】(3)-Bogus-假数据生成器
[awesome-dotnet-core-learning](3)-Bogus-假数据生成器 简介 Bogus一个简单而强大的假数据生成器,用于C#,F#和VB.NET.从著名的faker.js移植过 ...
- 如何从0到1的构建一款Java数据生成器-第一章
前提 某天晚上老夫在神游时,想起白天公司同事说起的问题,这老表抱怨使用mysql生成大批的随机测试数据太过麻烦,问大家有没有好的工具推荐,老夫对这种事情当然不关心,毕竟我也不知道. 秉承着不懂就要问, ...
- 洛谷 P2503 [HAOI2006]均分数据 随机化贪心
洛谷P2503 [HAOI2006]均分数据(随机化贪心) 现在来看这个题就是水题,但模拟赛时想了1个小时贪心,推了一堆结论,最后发现贪心做 不了, 又想了半个小时dp 发现dp好像也做不了,在随机化 ...
- [数据生成器]UVA10054 The Necklace
应吴老师之邀,写了个数据生成器. 目前这个数据生成器可以保证生成的数据都是合法的,且效率也还不错.只是在建立普通连通图的时候zyy偷懒了,直接把所有点串起来从而保证图的连通.如果有大神有更好的方法请不 ...
随机推荐
- php语言基础(一)
一.php标记风格 1.1xml风格(常用) <?php echo "xml风格": ?> 1.2脚本风格 <script language="php& ...
- ubuntu的网络配置
1,检查网络是否通畅 ping www.baidu.com 2,检查网线是否插好 3,使用ifconfig查看当前活跃网络接口 ifconfig 4,配置IP地址.子网掩码.网关地址 sudo vi ...
- php 数组变成树状型结构
<? php $stime = microtime(true); $nodes = [ ['id' = > 1, 'pid' = > 0, 'name' = > 'a'], [ ...
- ajax请求 readyState为0 可能原因之一
问题:同样的代码逻辑,PC端和iOS都能正常访问,但是Android系统请求都是报错: 上网查阅,关于ajax请求失败且状态码都是0的情况有很多,最后排查的原因是:域名证书问题:
- caffe中Makefile.config详解
## Refer to http://caffe.berkeleyvision.org/installation.html # Contributions simplifying and improv ...
- Oracle,Sql,procedure 感觉自己写的很棒的一个存储过程
感觉自己写的很棒的一个Oracle存储过程,(其实想说很叼^,^). 集成了一堆操作数据的功能(至少几十), 包括存储过程执行异常信息输出帮助诊断. 亮点很多, 比如`over(partition b ...
- hplus--H+ V2.3 (中文版)
一个高大上的后台模板 演示地址 http://www.zi-han.net/theme/hplus/?v=4.1 下载地址 http://download.csdn.net/detail/u01197 ...
- python并发编程之多进程(三):共享数据&进程池
一,共享数据 展望未来,基于消息传递的并发编程是大势所趋 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合 通过消息队列交换数据.这样极大地减少了对使用锁定和其他同步手段的需求, 还可以扩展 ...
- Effective Java 第三版——33. 优先考虑类型安全的异构容器
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- PHP 是一门弱类型语言
PHP 是一门弱类型语言 我们注意到,不必向 PHP 声明该变量的数据类型. PHP 会根据变量的值,自动把变量转换为正确的数据类型. 在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类 ...