hdu 5166 Missing number(。。。)

题意:

有一个排列,但少了两个数。给你少了这两个数的排列。找出是哪两个数。

思路:

看代码,,,

代码:

int a[1005];

int main(){

 int T;
    cin>>T;
    while(T--){
        int n;
        cin>>n;
        mem(a,0);
        rep(i,1,n){
            int x;
            scanf("%d",&x);
            a[x]=1;
        }
        int c[10];
        int cn=0;
        rep(i,1,n+2) if(a[i]==0){
            c[++cn]=i;
        }
        printf("%d %d\n",c[1],c[2]);
    }

    return 0;
}
时间: 2024-11-18 10:23:41

hdu 5166 Missing number(。。。)的相关文章

hdu 5166 Missing number

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5166 Missing number Description There is a permutation without two numbers in it, and now you know what numbers the permutation has. Please find the two numbers it lose. Input There is a number T shows t

HDU - 5166 - Missing number && 5167 - Fibonacci

Missing number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 430    Accepted Submission(s): 233 Problem Description There is a permutation without two numbers in it, and now you know what num

HDU 4162 Shape Number (最小表示法)

题意:给你一串n个数,求出循环来看一阶差的最小字典序:数字串看成一个顺时针的环,从某一点开始顺时针循环整个环,保证字典序最小就是答案 例如给你 2 1 3 就会得到(1-2+8 注意题意负数需要加8) (3-1) (2-3+8)-> 7 2 7 答案就是2 7 7. 典型的最小表示法.线性时间内求出最小字典序. 首先复制一遍数字串在原串后面,这样从原串任意位置开始向再后n个位置就是答案.接着双指针维护,直接双指针暴力比较数字串,当出现不同数字时,就把字典序大的那个指针向后移动尽量多的位置这样可以

LeetCode 268. Missing Number (缺失的数字)

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array. For example,Given nums = [0, 1, 3] return 2. Note:Your algorithm should run in linear runtime complexity. Could you implement it usi

HDU 5972 Regular Number(字符串shift-and算法)

题目链接  HDU5972 2016 ACM/ICPC 大连区域赛 B题 我们预处理出b[i][j],b[i][j] = 1的意义是数字i可以放在第j位. 然后就开始这个匹配的过程. 假设字符串第一位下标从1开始 我们每一次处理的子串为s[i - n + 1], s[i  - n + 2], s[i - n + 3], ..., s[i] ans[k] = 1的含义是 s[i - k + 1], s[i - k + 2], s[i - k + 3], ..., s[i]这k位可以与t[1], t

HDU 5972 Regular Number(ShiftAnd+读入优化)

[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5972 [题目大意] 给出一个字符串,找出其中所有的符合特定模式的子串位置,符合特定模式是指,该子串的长度为n,并且第i个字符需要在给定的字符集合Si中 [题解] 利用ShiftAnd匹配算法. bt[i]表示字符i允许在哪些位置上出现,我们将匹配成功的位置保存在dp中,那么就可以用dp[i]=dp[i-1]<<1&bt[s[i]]来更新答案了 利用滚动数组和bitset可以来优化这样的

hdu 2665 Kth number(划分树)

Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4602 Accepted Submission(s): 1468 Problem Description Give you a sequence and ask you the kth big number of a inteval. Input The first l

hdu 3709 Balanced Number (数位dp)

Balanced Number Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 1871    Accepted Submission(s): 836 Problem Description A balanced number is a non-negative integer that can be balanced if a pi

HDU 1394——Minimum Inversion Number(最小逆序数)

题意: 给定一个序列,里面的数是0到n-1,  每次要把第一个数放到最后一个数,重复n次,求n次操作中最小的逆序数是多少? 思路: 先求出初始的逆序数,然后每移动第一个数到最后面,那么逆序数要减去比它小的数的个数,加上比它大的数的个数. 如果我输入的数是a[i],那么比它小的数的个数就有a[i]个,比它大的数的个数就有n-1-a[i]个 方法:    归并排序 ,树状数组,线段树 归并排序代码: #include<iostream> #include<cstring> #inclu