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]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3210  Solved: 1186[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组数据.…
题目就不贴了 点我看题 题意:这题题意很简明,就是给一个序列,把序列里相同的删掉,然后输出,按原数列顺序. 思路:这题之前QZZ和ZN大神犇叫我去做,辣时还不会hash,就留着了.最近某夏令营学会了hash就回来写. 就是很简单的hash裸题. 我的hash就是把数字的每一位加起来然后累乘再膜. 从夏令营中涨了姿势,hash可以选择不判重,然后直接通过多hash的方法减少碰撞概率. QAQ...刚开始以为3hash就够了,最后5hash才水过去.QAQ注意输出格式,行末没空格. const ba…
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2761 思路: map标记 实现代码: #include<bits/stdc++.h> using namespace std; map<int,int>mp; int main() { int t,n,x; scanf("%d",&t); while(t--){ scanf("%d",&n); ;i <= n;i…
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组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数.   Output   对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. 题解:每次用 $set$ 查询一个数是否插入过即可…
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define M 50008 using namespace std; struct data { int b1,b2; }a[M],c[M]; int T,n,b[M],cnt; bool cmp(data a1,data a2) { if(a1.b1==a2.b1) return a1.b2<a2.b…
map会T,双hash会冲突--于是非酋写了个三hash #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=1000005,mod1=739391,mod2=967543,mod3=1000003; int T,n; bool h1[N],h2[N],h3[N]; int read() { int r=0,f=1; char p=getchar()…
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组数据. 接…
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组数据. 接下来每组数据包括两…
http://www.lydsy.com/JudgeOnline/problem.php?id=2761 太水了,不说了. 但是这格式错误我已经没话说了....行末不能有空格 #include <cstdio> #include <set> using namespace std; set<int> s; int main() { int t, n, r, i; scanf("%d", &t); while(t--) { scanf(&quo…
链接 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 4. Input 输入第一行为正整数T,表示有T组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. Output 对于每组数据,输出一…
[BZOJ2761][JLOI2011]不重复数字 试题描述 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. 输入 输入第一行为正整数T,表示有T组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. 输出 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. 输入示例 输出示例 数据规模及约定 对…
来一波用vector的最短代码题解 P4305 [JLOI2011]不重复数字 关于hash表的部分大家可以看一看其他的题解,我就不说了 不定长数组vector的几个基本用法: 定义: vector<数据类型> 数组名称 访问: a[pos]//访问a数组下标为pos的元素 尾部加入元素: a.push_back(x) 判断是否为空: a.empty()//空返回true,非空返回false 代码: #include <iostream> #include <cstdio&g…
不重复数字 题目:         给出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组数据.接下来每组数据包括两行,第一行为 正整数N,表示有N个数.第二行为要去重的N个正整数. Output:    对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. Sample Input: …
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组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. Output 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. Sample Input 2 11 1 2 18 3 3 19…
给出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组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. Output 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. Sample Input 2111 2 18 3 3 19 2 3 6 5 461 2…
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组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. Output 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. Sample Input 2 11 1 2 18 3 3 19…
就是一道离散化的裸题,但是在写的时候遇到了一些不可描述的问题,但是还是很顺利的. 题干: Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 ,其中2和3有重复,去除后的结果为1 . Input 输入第一行为正整数T,表示有T组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. Output 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. Sample Input Sample Ou…
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组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. Output 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. Sample Input 2 11 1 2 18 3 3 19…
原题链接 题解 题目大意:给出N个数,要求把其中重复的去掉,只保留第一次出现的数.最后按顺序输出N <= 50000 然这题是个哈希的典型题目 HASH,我对于它的理解就是一个桶%一个数,当然并不是如此,有很多更好的HASH函数可以更好的减少冲突,例如非十进制数等. HASH一般用来处理一个元素是否在一个集合内,大部分的时候二分查找+快速排序可以代替这个功能(STL中也有专门用来去重的),但在有些题目的运用上,则必须用到HASH #include<iostream> #include&l…
Input 第一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号.接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数.接下来一行包含两个整数S.P,S表示市中心的编号,也就是出发的路口.P表示酒吧数目.接下来的一行中有P个整数,表示P个有酒吧的路口的编号 Output 输出一个整数,表示Banditji从市中心开始到某个酒吧结束所能抢劫的最多的现金总数. Sample…
题目描述 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. 输入输出格式 输入格式: 输入第一行为正整数T,表示有T组数据. 接下来每组数据包括两行,第一行为正整数N,表示有N个数.第二行为要去重的N个正整数. 输出格式: 对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开. 输入输出样例 输入样例#1: 2 11 1 2 18 3 3 1…
题目链接: 数数字 基准时间限制:1 秒 空间限制:262144 KB 统计一下 aaa ⋯ aaa n个a × b 的结果里面有多少个数字d,a,b,d均为一位数. 样例解释: 3333333333*3=9999999999,里面有10个9. Input 多组测试数据. 第一行有一个整数T,表示测试数据的数目.(1≤T≤5000) 接下来有T行,每一行表示一组测试数据,有4个整数a,b,d,n. (1≤a,b≤9,0≤d≤9,1≤n≤10^9) Output 对于每一组数据,输出一个整数占一行…
题目大意:给出N个数,要求把其中重复的去掉,只保留第一次出现的数.例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. 随意哈希一下...[我不会什么set啊treap啊之类的QAQ 代码如下: var t,n,i,x:longint; v:..]of boolean; vv,b,a,ans:..]of int64; function hash(x:int64):longint; var xx:longint; be…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2761 直接暴力. #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int inline readint(){ ,Flag=;char ch; ') if(ch=='-') break; ; '; +ch-'; return Num*Flag; } struct…
1968: [Ahoi2005]COMMON 约数研究 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=1968 Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和 Sample Input 3 Sample Output 5 HINT 题意 题解:…
set去重. #include<cstdio> #include<set> using namespace std; set<int>S; ],b[],en; int main() { scanf("%d",&T); ;T--) { scanf(; ;i<=n;i++) scanf("%d",&a[i]); ;i<=n;i++) if(S.find(a[i])==S.end()) { S.insert(…
给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b.中位数是指把所有元素从小到大排列后,位于中间的数. Input 第一行为两个正整数n和b ,第二行为1~n 的排列. Output 输出一个整数,即中位数为b的连续子序列个数. Sample Input 7 45 7 2 4 3 1 6 Sample Output 4 HINT 第三个样例解释:{4}, {7,2,4}, {5,7,2,4,3}和{5,7,2,4,3,1,6}N<=100000 思路:记录中间那个数左边右…
最近刷银组刷得好欢快,好像都是水题,在这里吧他们都记录一下吧(都是水题大家一定是道道都虐的把= =)几道比较神奇的题到时再列出来单独讲一下吧= =(其实我会说是BZOJ蹦了无聊再来写的么 = =) [Usaco2004 Dec]Bad Cowtractors牛的报复  很明显是最大生成树了吧,跟最小生成树一样做就行了 = =(排序时按从大到小的顺序排) [Usaco2004 Dec]Cleaning Shifts安排值班  贪心,按开始时间从小到大排,然后对于已经安排的时间,取在此时间开始的最晚…
http://wikioi.com/problem/1229/ 赤裸裸的水题啊. 一开始我认为不用用完全部的牌,以为爆搜会tle.. 可是我想多了. 将所有状态全部求出,排序后暴力判断即可. (水题有点严重啊) #include <cstdio> #include <algorithm> using namespace std; int n, m; int h[440000], cnt, a[12]; bool vis[12]; void dfs(int x, int sum, i…