【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划
【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划
题目


题解
题意
有\(n\)道题,编号为1~\(n\)
给出\(m\)次操作
每次操作有3种类型
1 \(x\) 表示交了\(AC\)的代码在编号为\(x\)的题
2 \(x\)表示交了没有\(AC\)的代码在编号为\(x\)的题
3 表示询问当前做过的题目中从来没有\(AC\)的题,晚交的先输出
对于每个3询问,输出前20个
分析
既然\(m\)只有100
那为什么不打暴力呢
对于每种操作
是1的话给题目打个\(AC\)标记
是2的话放入未\(AC\)数组,注意我们不在意之前是否\(AC\)
对于3,查找未\(AC\)数组中的没有打过\(AC\)标记的题目,并判断是否输出过,注意只输出前20个即可
(考试的时候没看见,30没了)
其实可以离散化也可以不离散化,看你的\(AC\)标记怎么打,像我的话就是给编号打标记
Code
#include<cstdio>
#include<cstring>
using namespace std;
int m,i,d,now,num,tot,p[105];
long long n,x,hash[10010];
bool b[10010],bj[10010];
int HASH(long long x)
{
int pos;
pos=x%10007;
while (hash[pos]!=0)
{
if (hash[pos]==x) return pos;
pos++;
if (pos==10007) pos=0;
}
hash[pos]=x;
return pos;
}
int main()
{
freopen("problem.in","r",stdin);
freopen("problem.out","w",stdout);
scanf("%lld%d",&n,&m);
while (m--)
{
scanf("%d",&d);
if (d==1)
{
scanf("%lld",&x);
now=HASH(x);
b[now]=true;
}
if (d==2)
{
scanf("%lld",&x);
now=HASH(x);
if (b[now]==false)
{
num++;
p[num]=now;
}
}
if (d==3)
{
memset(bj,false,sizeof(bj));
tot=0;
for (i=num;i;i--)
{
if (b[p[i]]==false&&bj[p[i]]==false)
{
printf("%lld ",hash[p[i]]);
bj[p[i]]=true;
tot++;
}
if (tot==20) break;
}
printf("\n");
}
}
fclose(stdin);
fclose(stdout);
return 0;
}
【NOIP2015模拟11.4】JZOJ8月6日提高组T1 刷题计划的更多相关文章
- 【NOIP2015模拟11.5】JZOJ8月5日提高组T1 俄罗斯套娃
[NOIP2015模拟11.5]JZOJ8月5日提高组T1 俄罗斯套娃 题目 题解 题意就是说 将1~\(n\)排列,问有多少种方案使得序列的逆序对个数小于\(k\) 很容易想到DP 设\(f[i][ ...
- 【NOIP2015模拟11.5】JZOJ8月5日提高组T2 Lucas的数列
[NOIP2015模拟11.5]JZOJ8月5日提高组T2 Lucas的数列 题目 PS:\(n*n*T*T<=10^{18}\)而不是\(10^1*8\) 题解 题意: 给出\(n\)个元素的 ...
- 【NOIP2015模拟11.2晚】JZOJ8月4日提高组T2 我的天
[NOIP2015模拟11.2晚]JZOJ8月4日提高组T2 我的天 题目 很久很以前,有一个古老的村庄--xiba村,村子里生活着n+1个村民,但由于历届村长恐怖而且黑暗的魔法统治下,村民们各自过着 ...
- 【NOIP2015模拟11.5】JZOJ8月5日提高组T3 旅行
[NOIP2015模拟11.5]JZOJ8月5日提高组T3 旅行 题目 若不存在第\(k\)短路径时,输出"Stupid Mike" 题解 题意 给出一个有\(n\)个点的树 问这 ...
- JZOJ8月4日提高组反思
JZOJ8月4日提高组反思 被一堆2018&2019&2020的巨佬暴打 又是愉快的爆0的一天呢 T1 看了看题 没想法 暴力走起 求个质因数呀,二分呀-- 然后就炸了 正解预处理加二 ...
- JZOJ8月10日提高组反思
JZOJ8月10日提高组反思 T1 没想到怎么打 就去打暴力了 本来想拿个30不错了 结果\(AC\)了 话说回来,数据也挺小的 T2 不AC便爆0 就一个数据点 给不给打暴力的人活了 正解是状压DP ...
- JZOJ8月15日提高组反思——2020年暑假终结篇
JZOJ8月15日提高组反思--2020年暑假终结篇 T1 仙人掌最短路 抱歉我只会最短路 仙人掌是啥? 听说是缩点+\(LCA\) 最短路30 T2 直接暴力计算 正解\(DP\) \(amazin ...
- JZOJ8月5日提高组反思
JZOJ8月5日提高组反思 再次炸了 虽然不是爆0 但也没差多少-- T1 想的DP 然后就打了 一开始是只能拿60的 后来想到了用前缀和优化 然后打完交了 最后一分钟测了一下空间 爆了 就赶紧把数组 ...
- JZOJ8月10日提高组T2 Fix
JZOJ8月10日提高组T2 Fix 题目 Description There are a few points on a plane, and some are fixed on the plane ...
随机推荐
- Centos7安 装python3+Selenium+chrome+chromedriver
Centos7安装python3+Selenium+chrome+chromedriver详细python2和python3共存,Selenium错误的处理更新Centos源 wget -O /etc ...
- HTML+CSS系列:CSS选择器(标签、ID、类、通配符、后代、子元素、并集、伪类)
一.标签选择器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- ps怎么抠图并和另一张图片合并?
1.首先打开PS.然后随便选取两张图片.比如下图我想把那个小花朵扣出来移动到另外一张图片上. 2.用套锁工具把那个小花朵扣出来.如图我标出了套锁工具的图标.以及扣出来的小花朵.这里也可以选择" ...
- 【阿里云-大数据】阿里云DataWorks学习视频汇总
阿里云DataWorks学习视频汇总 注意:本文档中引用的视频均来自阿里云官方的帮助文档,本文档仅仅是汇总整理,方便学习. 阿里云DataWorks帮助文档链接:https://help.aliyun ...
- 【Java】线程的创建方式
1.继承Thread类方式 这种方式适用于执行特定任务,并且需要获取处理后的数据的场景. 举例:一个用于累加数组内数据的和的线程. public class AdditionThread extend ...
- <摘自>飞:jxl简析2 [ http://www.emlog.net/fei ]
[<摘自>飞:jxl简析:http://www.emlog.net/fei] (二)应用 在进行实践前 , 我们需要对 excel 有一个大致的了解 ,excel 文件由一个工作簿 (Wo ...
- 使用Selenium爬取京东电商数据(以手机商品为例)
进入京东(https://www.jd.com)后,我如果搜索特定的手机产品,如oppo find x2,会先出现如下的商品列表页: 如果点击进入其中一个商品会进入到如下图所示的商品详情页,可以看到用 ...
- C++调用Go方法的字符串传递问题及解决方案
摘要:C++调用Go方法时,字符串参数的内存管理需要由Go侧进行深度值拷贝. 现象 在一个APP技术项目中,子进程按请求加载Go的ServiceModule,将需要拉起的ServiceModule信息 ...
- Linux程序开发中如何判断目录是否为根目录?
问题引入 判断某个目录字符串是否是根目录,咋一听很简单,只要判断字符串是否是"/"即可,但是,很多情况下使用的路径是相对路径,那么如何判断相对路径是根目录呢? 思路分析 熟悉Lin ...
- 关于mybatisPlus一些坑,当条件为null时
1.TStaffDepart 属性有值是才匹配条件,会报错,相当于mybatis if 判断 eg:TStaffDepart staffDepart = new TStaffDepart();staf ...