首页 > 代码库 > soj杂题
soj杂题
unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include<iostream.h>,具体用法如下:
int num[100];
unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<cstring> 5 #include<vector> 6 #include<algorithm> 7 #define INF 0x3f3f3f3f 8 #define M(a,b) memset(a,b,sizeof(a)) 9 typedef long long LL;10 using namespace std;11 12 int N;13 int K;14 int row[1000060],col[1000060];15 16 int main()17 {18 while(scanf("%d%d",&N,&K)==2)19 {20 for(int i = 0;i<K;i++)21 {22 int a,b;23 scanf("%d%d",&a,&b);24 row[i] = a;25 col[i] = b;26 }27 sort(row,row+K);28 sort(col,col+K);29 long long s1 = unique(row,row+K)-row;30 long long s2 = unique(col,col+K)-col;31 long long ans = (LL)N*N - (N-s1)*(N-s2);32 printf("%lld\n",ans);33 }34 return 0;35 }
soj杂题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。