第一次BC
BestCoder Round #90
1001 Kblack loves flag
太弱只写了这一道水题。
首先这个题面就是,完全不知道它在说什么。开始5mins后我还完全不知道这个题想要表达什么。看了10分钟们终于看出来那个随机数的用意了。原来是就是用随机数来模式输入的数据,可能因为数据量太大,才采用这种方法的。我是第一次见,在这卡了半天。
之后是想用排序然后统计个数的方法,写了半天,发现写的不对,没有头绪。要统计数组中不重复元素的个数是多少,自然想到了map,然后写了一发,上去直接超时。果然STL慢。后来仔细想了一下,sort排好序,一个一个判断,如果和当前的相同则不动,否则计数器加一。分别对x和y做操作就好。然后AC。
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
const int _K=50268147,_B=6082187,_P=100000007;
int _X;
inline int get_rand(int _l,int _r){
_X=((long long)_K*_X+_B)%_P;
return _X%(_r-_l+1)+_l;
}
int n,m,k,seed;
int x[1000006],y[1000006];
void Init(){
scanf("%d%d%d%d",&n,&m,&k,&seed);
_X=seed;
for (int i=1;i<=k;++i){
x[i]=get_rand(1,n);
y[i]=get_rand(1,m);
}
}
bool cmp(int a,int b)
{
return a<b;
}
int main()
{
//freopen("in.txt","r",stdin);
int t;
scanf("%d",&t);
while(t--){
Init();
int i, cnt1 =1,cnt2 = 1,temp;
sort(x+1,x+k+1,cmp);
sort(y+1,y+k+1,cmp);
temp = x[1];
for(i = 1;i<=k;++i){
if(x[i]!=temp){
cnt1++;
temp = x[i];
}
}
temp = y[1];
for(i = 1;i<=k;++i){
if(y[i]!=temp){
cnt2++;
temp = y[i];
}
}
printf("%d %d\n",n-cnt1,m-cnt2);
}
return 0;
}
象征性的贴个代码。
还是刷题重要。
先啃DP。
第一次BC的更多相关文章
- [BC]BestCoder Round#86小结
1001 [题意] 给定一个长度为n(n<=100000)的正整数序列,给出m(m<=100000)个子集合和的记录,问哪些一定比正确的记录多了 [题解] 对正整数序列求和,记录比和大的一 ...
- HDU 4883 TIANKENG’s restaurant (贪心)
链接:pid=4883">带我学习.带我飞 第一次BC,稳挂,WA n多次.今天又一次做了一下 略挫 #include <iostream> #include <cs ...
- windbg-bp、 bm、 bu、 bl、 bc、 ba(断点、硬件断点)
bp bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction . 对于后者,WinDBG 会自动找到MyApp!SomeFunction 对 ...
- 20135208 20135212 LINUX第一次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级: 201352 姓名:池彬宁 贺邦 学号:2013521 ...
- 信息安全系统设计基础第一次实验报告 20135201&&20135306&&20135307
信息安全系统设计基础实验 班级: 201353 姓名:张忻 张嘉琪 黄韧 学号:20135301 20135307 20135306 实验日期:2015.11.10 实验名称: S3C2410的lin ...
- Python第三周第一次作业中关于工程目录各种导入的模拟学习
目录 Python工程目录 导入自定义模块, 包 记录的缘由 模块搜索路径 模块: 导入模块 导入函数 导入类 多个类 @(Python第三周第一次作业中工程目录,模拟学习) Python工程目录 导 ...
- Windbg命令学习15(bp bm bu bl bc ba断点)
以下以skinhgy为例,windbg附加运行 1. bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction . 对于后者,WinDBG 会 ...
- Linux-shell-算术运算{expr、bc、dc、(( ))和[ ]}
Linux-shell-算术运算{expr.bc.dc.(( ))和[ ]} 摘自: https://www.cnblogs.com/snowsolf/p/3325235.html 在Linux下做算 ...
- 2018天梯赛第一次训练题解和ac代码
随着评讲的进行代码和题解会逐步放上来 2018天梯赛第一次训练 1001 : 进制转换 Time Limit(Common/Java):1000MS/10000MS Memory Limit: ...
随机推荐
- uvaoj455Periodic Strings(枚举)
A character string is said to have period k if it can be formed by concatenating one or more repetit ...
- Qt-QML-C++交互实现文件IO系统-后继-读取XML文件和创建XML文件
在前面两篇中,大致完成了一个文件IO的读和写操作.前面两篇文章链接 http://blog.csdn.net/z609932088/article/details/71488250 http://bl ...
- Java开发工程师(Web方向) - 03.数据库开发 - 第5章.MyBatis
第5章--MyBatis MyBatis入门 Abstract: 数据库框架的工作原理和使用方法(以MyBatis为例) 面向对象的世界与关系型数据库的鸿沟: 面向对象世界中的数据是对象: 关系型数据 ...
- java实现遍历一个字符串的每一个字母(总结)
基础:牢记字符串操作的各种方法: String s = "aaaljlfeakdsflkjsadjaefdsafhaasdasd"; // 出现次数 int num = ...
- c# CLR无法从 COM 上下文 0x51cd20 转换为 COM 上下文 0x51ce90
调试菜单--->异常---->managed debugging assistants栏下ContextSwitchDeadlock 前面的√去掉
- UVALive - 6864 Strange Antennas 扫描线
题目链接: http://acm.hust.edu.cn/vjudge/problem/87213 Strange Antennas Time Limit: 3000MS 题意 一个雷达能够辐射到的范 ...
- 代替iframe的方法
$('#framecont').html('').load("pageURL"); 使用jQuery.
- 导弹拦截与Dilworth定理
这两天被Dilworth.链和反链搞到头昏脑胀,终于有点眉目,现在来总结一下. Dilworth定理说的是:对于一个偏序集,其最少链划分数等于其最长反链的长度. Dilworth定理的对偶定理说的是: ...
- 转 【.NET平台下使用MongoDB入门教程】
目录 一.了解MongoDB 二.MongoDB特点 三.安装及常用命令 3.1 下载安装 3.2 启动服务器 3.3 常用操作 3.4 其他命令 3.5 做成windows服务 四.批处理程序开启M ...
- C# #pragma warning disable/restore
#pragma warning 可以启用或禁用特定警告. 语法 #pragma warning disable warning-list #pragma warning restore warning ...