BZOJ-2761-不重复数字

描述

给出N个数,要求把其中重复的去掉,只保留第一次出现的数。

例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。


分析

  • 其实这个题就是一个哈希表的事, 但考虑到我只用过set没手写过hash再加上以后要写链表替代vector了, 所以写写练练手, 顺便挑战一下rank3的wxjlzbcd的pb_ds
  • 这个题其实没白写, 因为我刚刚知道了负数模一个正数后还是非正数, re了几次才明白. 感觉这种基础都不知道是不是太逗了.
  • 取模

    我取的1929, 不是我的生日.

  • 最终结果:

    PS: rank3是我小号但每次都比这个号快…


代码

https://code.csdn.net/snippets/612225

时间: 2024-08-04 22:14:31

BZOJ-2761-不重复数字的相关文章

BZOJ 2761 不重复数字 (Hash)

题解:直接使用STL中的hash去重即可 #include <cstdio> #include <map> using namespace std; int ans[50010]; int main(){ int T,n,tmp; scanf("%d",&T); while(T--){ int cnt=0; map<int,int>m; scanf("%d",&n); for(int i=0;i<n;i++)

BZOJ 2761: [JLOI2011]不重复数字 水题

2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2100  Solved: 809 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=2761 Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5

2761: [JLOI2011]不重复数字

2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1770  Solved: 675[Submit][Status] Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. Input 输入第一行为正整数T,表示有T组数据. 接下来每组数据包括两行,

2761: [JLOI2011]不重复数字(平衡树)

2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2133  Solved: 825[Submit][Status][Discuss] Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. Input 输入第一行为正整数T,表示有T组数据. 接下来

[JLOI2011]不重复数字

2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2459  Solved: 939[Submit][Status][Discuss] Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. Input 输入第一行为正整数T,表示有T组数据. 接下来

js选择颜色小游戏(随机生成不含重复数字的数组,通过数组中的数控制定义好的数组)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>js网页版小游戏</title> <style media="screen"> .wrap { width: 577px; outline: 1px solid hotpink; margin: 100px auto; box-shadow: 0 0 5px; } .

LeetCode 26 Remove Duplicates from Sorted Array (移除有序数组中重复数字)

题目链接: https://leetcode.com/problems/remove-duplicates-from-sorted-array/?tab=Description 从有序数组中移除重复数字,并且返回不重复数字的个数 遍历操作: 可以使用新的for循环 for (int n : nums){} 每次进行对比,并且更新第一个遇到不相等的元素的下标为i 对数组进行重新赋值操作 当数组长度大于1时,ans初值为1,当数组长度为0时,返回0 参考代码 : package leetcode_5

删除数组中的重复数字

#include <stdio.h> main() {  int i,j,t; int a[10]; printf("请输入10个数:\n"); for(i=0;i<10;i++)             scanf("%d",&a[i]); printf("输入的10个数是:"); for(i=0;i<10;i++) {printf("%d  ",a[i]); printf("\n&

删除顺序数组的重复数字

描述:给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度. 不要使用额外的数组空间,必须在原地没有额外空间的条件下完成. 样例 给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]. 思路: 第一次是错的,后来编译通过了,这道题我的想法是:第一,因为题上要求不能新增数组空间,所以我们考虑在原数组的覆盖,也就是把重复数字覆盖前面的一个数字,后面的依次往前覆盖,在编程里,是不存在删除一说的,只是数据的覆盖.覆盖前面的以后,最后的就可以通

有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输出。

/** * 有1.2.3.4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输出. * */ public class Test1 { public static void main(String[] args) { int num = 0, c = 0; for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 4; j++) { for (int k = 1; k <= 4; k++) { if (i != j &