来一波用vector的最短代码题解

P4305 [JLOI2011]不重复数字

  1. 关于hash表的部分大家可以看一看其他的题解,我就不说了
  2. 不定长数组vector的几个基本用法:
    1. 定义: vector<数据类型> 数组名称
    2. 访问: a[pos]//访问a数组下标为pos的元素
    3. 尾部加入元素: a.push_back(x)
    4. 判断是否为空: a.empty()//空返回true,非空返回false
  3. 代码:
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
using namespace std;
int n,hash_num=50021,t,temp;
vector<int> a[50022];
int main()
{
ios::sync_with_stdio(false); //快速读入 cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n;
memset(a,0,sizeof(a));//重置hash表
for(int j=1;j<=n;j++)
{
cin>>temp;//输入当前数据
int hash=temp%hash_num;//hash过程
bool pd=false;
if(a[hash].empty()==false)
{
for(int k=0;k<a[hash].size();k++)
{
if(a[hash][k]==temp)//判断hash表中是否有当前元素
pd=true;
}
}
else if(pd==false)
{
a[hash].push_back(temp);//如果hash表中没有,加入hash表并输出
printf("%d ",temp);
}
}
printf("\n");
}
}

最新文章

  1. ORACLE日期格式
  2. 计时函数 clock() in c and c++
  3. Python调用C/Fortran混合的动态链接库-下篇
  4. winscp配置
  5. Java Concurrency - Condition
  6. V9任何页面GET调用内容分页的说明
  7. Socket实现简单的聊天通信
  8. OC调用Swift 整理步骤!总结别人的!方便自己查找!
  9. 【转】处理新版Chrome书签、菜单字体不清晰
  10. 清北学堂北京大学冯哲神仙讲课day2
  11. 极简】如何在服务器上安装SSL证书?
  12. R - Dividing 多重背包
  13. laravel之路由
  14. .NETCore_生成实体
  15. [JavaScript] iframe更改了src后,父页面history.back只能后退iframe而不能使自己后退解决办法
  16. JavaScript实现链式调用
  17. emouse思&middot;睿&mdash;评论与观点整理之五
  18. 数组序列化serialize
  19. 通俗地讲Node.js是什么
  20. php判断是否是ajax提交 方法

热门文章

  1. Ubuntu 获取内核源码树
  2. idea maven项目打包并部署到tomcat
  3. 截图上传录屏gif上传工具推荐
  4. 在 Queue 中 poll()和 remove()有什么区别?
  5. Qt Quick 组件与动态对象
  6. prometheus exporter简介
  7. javascript碰撞检测的方法
  8. Extra:Cg Math Functions
  9. WindowsServer --------- 在服务器中安装sqlserver 数据库
  10. 【leetcode-200 深度优先+广度优先】 岛屿数量