Problem A:NEFU743 明明的随机数

模板题。

#include<bits/stdc++.h>
using namespace std;
int n, t;
set<int> s;
int main()
{ios::sync_with_stdio(false);while(cin>>n){//int cnt=0;s.clear();for(int i=1; i<=n; i++){cin>>t;s.insert(t);}cout<<s.size()<<endl;set<int>::iterator it;for(it=s.begin(); it!=s.end(); it++){if(it==s.begin())cout<<*it;else cout<<" "<<*it;}cout<<endl;}return 0;
}

Problem B:NEFU1684 第K小整数

去重并排序。

//#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int n, k;
bool flag=0;
set<int> num;
int main()
{ios::sync_with_stdio(false);cin>>n>>k;while(n--){int tmp;cin>>tmp;num.insert(tmp);}for(set<int>::iterator it=num.begin(); it!=num.end(); it++){k--;if(!k){cout<<*it<<endl;flag = 1;break;}}if(!flag) cout<<"NO RESULT"<<endl;return 0;
}

也可以不使用set,改使用unique函数,注意要先排序后去重(unique去重比较相邻)。

#include<bits/stdc++.h>
using namespace std;
int n, k, a[10010];
int main()
{ios::sync_with_stdio(false);cin>>n>>k;for(int i=0; i<n; i++)cin>>a[i];sort(a, a+n);int t=unique(a, a+n)-a;if(k<=t) cout<<a[k-1]<<endl;else cout<<"NO RESULT"<<endl;return 0;
}

Problem C:NEFU2117 单词记忆

模板题。

#include<bits/stdc++.h>
using namespace std;
set<string> words;
int main()
{ios::sync_with_stdio(false);int n, flag;string str;cin>>n;while(n--){cin>>flag;if(!flag){cin>>str;words.insert(str);}else{cin>>str;if(words.count(str)) cout<<"YES"<<endl;else cout<<"NO"<<endl;}}return 0;
}

Problem D:NEFU1680 列车调度

#include<bits/stdc++.h>
using namespace std;
int n, m;
int main()
{ios::sync_with_stdio(false);set<int> train;cin>>n;while(n--){cin>>m;if(train.empty() || m>*train.rbegin())train.insert(m);else{train.erase(train.upper_bound(m));train.insert(m);}}cout<<train.size()<<endl;return 0;
}

Problem E:NEFU2119 相似的数集简单版

//#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int main()
{ios::sync_with_stdio(false);set<int> sj[55];set<int>::iterator it;int n, m, num, k, num1, num2;cin>>n;for(int i=1; i<=n; i++){cin>>m;while(m--){cin>>num;sj[i].insert(num);}}cin>>k;while(k--){int cnt=0;cin>>num1>>num2;for(it=sj[num1].begin(); it!=sj[num1].end(); it++)if(sj[num2].find(*it)!=sj[num2].end()) cnt++;int ans = sj[num1].size()+sj[num2].size();printf("%.2lf%%\n", 1.0*cnt/(ans-cnt)*100);}return 0;
}

Problem F:NEFU1679 NOIP 题海战

由于数据问题卡在for和while循环上了,将while(p--)改为for(int i=1; i<=p; i++)即从TLE变为AC。

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int n, m, p, pi;
int k, typee, q, qi;
set<int> stu[1010], tiku, usetiku;
set<int>::iterator it;
int main()
{ios::sync_with_stdio(false);cin>>n>>m;//freopen("tmpdata.out","r",stdin);//freopen("data.out","w",stdout);//scanf("%d%d", &n, &m);for(int i=1; i<=m; i++) tiku.insert(i); // 录入题库for(int i=1; i<=n; i++){//stu[i].clear();cin>>p;//scanf("%d", &p);//while(p--)for(int j=1;j<=p;j++){cin>>pi;//scanf("%d", &pi);stu[i].insert(pi);}}cin>>k;//scanf("%d", &k);while(k--){usetiku = tiku; // 维护题库cin>>typee>>q;///scanf("%d%d", &typee, &q);if(typee) // Train{//while(q--)for(int i=1;i<=q;i++){cin>>qi;//scanf("%d", &qi);for(it=usetiku.begin(); it!=usetiku.end(); )// 在题库中找训练题{ //if(!stu[qi].count(*it)) // 有学生没做过这道题if(!stu[qi].count(*it))usetiku.erase(it++); // 不会作为训练用题else it++;}}}else // Contest{//while(q--)for(int i=1;i<=q;i++){cin>>qi;//scanf("%d", &qi);for(it=usetiku.begin(); it!=usetiku.end(); )// 在题库中找比赛题{ if(stu[qi].count(*it)) // 有学生做过这道题usetiku.erase(it++); // 不会作为比赛用题else it++;}}}for(it=usetiku.begin(); it!=usetiku.end(); it++)//printf("%d ", *it);cout<<*it<<" ";cout<<endl;//printf("\n");}return 0;
}

Problem G:NEFU1677 指数序列

//#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
int n, x, maxn;
set<int> vis;
map<int, int> num;
int main()
{ios::sync_with_stdio(false);cin>>n;while(n--){cin>>x;vis.insert(x);maxn = max(maxn, x);num[x]++;}int cnt=0;for(set<int>::iterator it=vis.begin(); it!=vis.end(); it++){int tmp = num[*it];num[*it] = tmp%2;if(!num[*it]) cnt++;int k=tmp/2;if(!num[*it+1] && k!=0){vis.insert(*it+1);maxn = max(maxn, *it+1);}num[*it+1] += k;}cout<<maxn+1-vis.size()+cnt<<endl;return 0;
}

2020.2.18 大一寒假训练十一(set)相关推荐

  1. NEFU 大一寒假训练十二(set)2020.02.18

    Summary 可能是昨天的题少了一些,今天的题多了一堆,还疯狂TLE /(ㄒoㄒ)\~~ Information No. Title AC/Submit A 明明的随机数-set 60/101 B ...

  2. 大一寒假训练:暴力枚举

    一.暴力枚举思想: 其实就是直接循环遍历,利用计算机强大的计算性能,也就是俗称的"一个个试". 二.部分练习&题解: *2/5/6题较难: 1.NEFU OJ:大乐透 这题 ...

  3. NEFU 大一寒假训练四(二进制枚举)2020.01.03

    Summary 一大波兴安熊

  4. NEFU 大一寒假训练六(二分查找)题目预测

    说明 预测原理还是基于这篇文章:NEFU OJ 比赛试题预测 (Python) 为防止格式更正导致文章进入待审核状态,所以今天晚上就不修正格式了 如果有格式问题请自行理解,问题产生主要与Markdow ...

  5. 大一寒假训练九(map,set,vector)【更新完成】

    一.map的应用 洛谷 P1918 保龄球 #include <bits/stdc++.h> using namespace std; map<int,int>a;//实际上就 ...

  6. 大一寒假训练:集训内容考试(二)【未完待续】

    一.前情提要 在经过三天的摸鱼 学习写bug队列.优先队列和素数筛相关内容之后,参加集训的同学们终于迎来了第二场考试,在这场考试中,我会有哪些脑残操作进步呢? 总结: 1.用scanf多组输入再一次忘 ...

  7. 十一、“由专入分易,由分入专难。”(2020.12.18)

    十一."由专入分易,由分入专难."(2020.12.18)

  8. 一起开心2020蓝桥寒假训练(二)7-6 彩虹瓶 (25分)用到栈,队列

    一起开心2020蓝桥寒假训练(二)7-6 彩虹瓶 (25分) 彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里. 假设彩虹瓶里要按 ...

  9. [XUPT]2020寒假训练---比赛专题

    比赛链接:https://vjudge.net/contest/357216 说明: 比赛难度正好符合寒假训练的同学.(有一两道可能一些同学做过,我们出题没考虑到sorry) 下面对题目进行解答一下. ...

最新文章

  1. 使用metablog迁移博客园的文章
  2. 千万级在线推送系统架构解析
  3. bitcoin全节点部署及bitcoind bitcoin-cli命令使用解释
  4. python websocket server 解决中文乱码
  5. python封装类在当前文件中使用_name_下调用不了_python提示这个是什么原因!
  6. ARM/THUMB汇编(补丁开发类)基础教程
  7. 后端:SpringBoot集成Swagger-Bootstrap-UI,界面美观!
  8. android studio button位置_免费的Android开发环境
  9. MySQL行锁 表锁理解
  10. java多线程【线程常用方法】
  11. 无法完成验证,可能QQ文件已损坏,您需要重新安装QQ
  12. python如何执行代码漏洞_在漏洞利用Python代码真的很爽
  13. Docker入门学习
  14. C语言编程学习必备的一些网站,干货收藏!
  15. react二级路由的两种方法
  16. 计算机硬盘写入量,如何查询固态硬盘SSD的总写入量?
  17. 怎么修改背景图片大小的HTML代码,css如何改变背景图片大小?
  18. 单片机触发器或非门工作原理以及用途
  19. 计算机系统基础实验:二进制拆弹实验
  20. Java中有几种方法可以实现一个线程??用什么关键字修饰同步方法??stop()和suspend()方法为什么不推荐使用??

热门文章

  1. (文末送书)字符数组与字符串
  2. VS2013漂亮字体
  3. 整理chinaUnix上【你职业生涯中最难忘的误操作】
  4. 低代码开源框架Appsmith
  5. 在eclips中配置maven
  6. 1. 人工智能(AI)概述
  7. 华为云初次使用和配置安装宝塔配置mysql、Redis远程连接访问
  8. C/C++代码混淆器
  9. Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx
  10. 深信服终端检测响应平台EDR-远程命令执行漏洞