2015广工新生赛 Problem A: GG和女神
来源:互联网 发布:知乎日报 吐槽精选 编辑:程序博客网 时间:2024/05/01 12:21
Problem A: GG和女神
Description
大家都知道,GG不仅长得帅,而且还长得帅,所以就连女神都喜欢他,这不,GG正打算跟女神出国旅游。女神觉得一定要选最好的衣服跟GG出去,给他留个好印象。所以女神打算在新买的n件衣服里面选k件带出国,所以她打算问她的好朋友xdlove,但是xdlove暂时没空回她,所以女神就自己选好了k件,把衣服标号写在了一个笔记本上。等xdlove闲下来找女神的时候,发现女神不在家里,只看到一堆衣服,有强迫症的他就把衣服按照价格从低到高排了序。这时刚吃完饭的女神就来了,看到被xdlove弄乱了的衣服,当然不高兴了,于是xdlove就跟她说,虽然我弄乱了,但我全都记得,然后跟女神说了k个编号之后说这就是你刚才选的k件(当然是假的)。GG知道了这件事之后,打算拆穿xdlove,毕竟他不容忍别人欺骗他的女神。于是他搜集了女神一开始的衣服价格序列,女神写了编号的笔记本,以及xdlove随口说的k个编号,现在他想知道xdlove说的K件衣服里面有多少件是女神挑好的,如果你能帮GG解决这个问题,那么他将会送你一个独家气球。
Input
第一行输入样例个数T(T<=20)。
每个样例格式如下
第一行两个数字n(1<=n<=1e6)和k(1<=k<=n),n,k如题目所述。
第二行是n件衣服价格vi,保证每个vi都不相同(vi<=1e17)
第三行,k个数字A1-An,代表女神笔记本上的k个编号。
第四行,k个数字B1-Bn,代表xdlove随口说的k个编号。
Output
每一个样例输出一个答案,换行
Sample Input
1
2 1
4 3
1
2
Sample Output
1
题解
表示一开始连题目都读不懂….
意思就是给你n个数,其中选了k个出来,可是后来被经过排序后,再告诉你k(下标)个数,问这k个中有多少个是原来选过的,数据量很大,如果普通的做法必然超时到死,那么自然想起了位运算…
输入n个数后把它们全部左移一位,原来的大小关系是不会改变的,然后选了的在末尾标志1,然后&1就知道是不是原来选过的了
代码
#include <cstdio>#include <queue>#include <cstring>#include <iostream>#include <cstdlib>#include <algorithm>#include <vector>#include <map>#include <string>#include <set>#include <ctime>#include <cmath>#include <cctype>using namespace std;const int MAX = 1e6+10;#define LL long longint cas=1,T;LL cloth[MAX];int main(){ scanf("%d",&T); while (T--) { int n,k; scanf("%d%d",&n,&k); for (int i = 1;i<=n;i++) { scanf("%lld",&cloth[i]); cloth[i]<<=1; } for (int i = 1;i<=k;i++) { int temp; scanf("%d",&temp); cloth[temp]|= 1; } sort(cloth+1,cloth+n+1); int ans = 0; for (int i = 1;i<=k;i++) { int temp; scanf("%d",&temp); /*if (cloth[temp]&1) //多加个判断也会超时.. ans+=1;*/ ans+=(cloth[temp]&1); } printf("%d\n",ans); memset(cloth,0,sizeof(cloth)); } //freopen("in","r",stdin); //scanf("%d",&T); //printf("time=%.3lf",(double)clock()/CLOCKS_PER_SEC); return 0;}
- 2015广工新生赛 Problem A: GG和女神
- 【2015广东工业大学新生赛A】【排序 二进制数位思想】GG和女神 数字按照数值排序后取了多少个数
- gdut月赛A: GG和女神(好题)
- 2015广工新生赛 Problem F: 有钱的wingkou
- 2015广工新生赛 Problem D: 求互质对数
- XTU (湘潭大学) 2011 新生练习赛(第一场)/ Problem A连续自然数和
- 广工的2015的新生赛的一道题目 跑操场
- 广工15新生赛 大数模拟运算
- A simple problem I 【组合数学】【湖南工业大学创新实验室2015年新生赛(一)(重开)】
- 2015广东工业大学新生赛决赛 Problem I: Stubird说这是水题
- 20130712 【南华大学 ACM】 新生赛第三场 【B. A simple problem】
- 2015广工网络赛初赛-Problem G: 漂洋过海来看你-迪杰斯特拉
- 2015广工网络赛决赛-Problem E: 变形金刚(并查集)
- 2015广工网络赛决赛-Problem F: 强迫症患者(模拟题)
- 2015广工网络赛初赛-Problem C: slamdunk正在做菜
- CDZSC 美图新生赛题C 1580 GG君之阴阳师 题解
- 长安大学新生赛 H题 拉面女神的魔盒
- 2015-11-11 hdu新生赛 A题(AC)
- 使用ZeroClipboard 复制内容到剪贴板
- 一致性哈希算法
- c++学习笔记(2)
- Ubuntu安装软件提示"需要安装不能信任的软件包"
- JAVA配置文件之applicationContext.xml
- 2015广工新生赛 Problem A: GG和女神
- Proguard 部分类不混淆的技巧
- JS event使用方法详解
- 初识MariaDB存储引擎
- 156 Identify the persistent configuration setting for the target database that can be set for the ba
- 滑雪
- python+stomp+activemq
- 技术类博客网站推荐
- WebApi2 入门实例1