【HDOJ6655】Just Repeat(贪心)
题意:A和B两个人玩游戏,分别有n和m张牌,A的第i张牌是a[i],B是b[i]
两人轮流出牌,如果一种编号的牌被其中一个人出了另一个人就不能出自己手中这个编号的牌
两人都按最优策略行动,问获胜者
思路:

考场上好像卡常,补题的时候似乎没有
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef pair<ll,ll> Pll;
typedef vector<int> VI;
typedef vector<PII> VII;
//typedef pair<ll,ll>P;
#define N 200010
#define M 200010
#define fi first
#define se second
#define MP make_pair
#define pb push_back
#define pi acos(-1)
#define mem(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(int)a;i<=(int)b;i++)
#define per(i,a,b) for(int i=(int)a;i>=(int)b;i--)
#define lowbit(x) x&(-x)
#define Rand (rand()*(1<<16)+rand())
#define id(x) ((x)<=B?(x):m-n/(x)+1)
#define ls p<<1
#define rs p<<1|1 const int MOD=1e9+,inv2=(MOD+)/;
double eps=1e-;
int INF=1e9;
int inf=0x7fffffff;
int dx[]={-,,,};
int dy[]={,,-,}; struct node
{
int x,y;
}q[N]; int a[N],b[N],c[N],s[],d[N][];
ull k1,k2; int read()
{
int v=,f=;
char c=getchar();
while(c<||<c) {if(c=='-') f=-; c=getchar();}
while(<=c&&c<=) v=(v<<)+v+v+c-,c=getchar();
return v*f;
} unsigned long long rng()
{
unsigned long long k3 = k1, k4 = k2;
k1 = k4;
k3 ^= k3 << ;
k2 = k3 ^ k4 ^ (k3 >> ) ^ (k4 >> );
return k2 + k4;
} bool cmp(node a,node b)
{
return a.x+a.y>b.x+b.y;
} void solve()
{
int n1=read(),n2=read(),p=read();
if(p==)
{
rep(i,,n1) a[i]=read();
rep(i,,n2) b[i]=read();
}
else
{
int mod;
scanf("%llu%llu%d",&k1,&k2,&mod);
rep(i,,n1) a[i]=rng()%mod;
scanf("%llu%llu%d",&k1,&k2,&mod);
rep(i,,n2) b[i]=rng()%mod;
}
int t=;
rep(i,,n1) c[++t]=a[i];
rep(i,,n2) c[++t]=b[i];
sort(c+,c+t+);
t=unique(c+,c+t+)-c-;
rep(i,,n1)
{
a[i]=lower_bound(c+,c+t+,a[i])-c;
d[a[i]][]++;
}
rep(i,,n2)
{
b[i]=lower_bound(c+,c+t+,b[i])-c;
d[b[i]][]++;
} int m=;
s[]=,s[]=;
rep(i,,t)
{
if(d[i][]&&d[i][])
{
m++;
q[m].x=d[i][];
q[m].y=d[i][];
continue;
}
if(d[i][]) s[]+=d[i][];
if(d[i][]) s[]+=d[i][];
}
sort(q+,q+m+,cmp);
int v=;
rep(i,,m)
{
v^=;
if(v==) s[v]+=q[i].x;
else s[v]+=q[i].y;
}
if(s[]>s[]) printf("Cuber QQ\n");
else printf("Quber CC\n");
rep(i,,t)
rep(j,,) d[i][j]=;
} int main()
{
int cas=read();
while(cas--) solve();
return ;
}
【HDOJ6655】Just Repeat(贪心)的更多相关文章
- JSOI地铁换票 (贪心)
简单贪心即可. ..] of longint; var a,b:arr; i,n,m,sum:longint; procedure sort(var a:arr;l,r: longint); var ...
- bzoj1050[HAOI2006]旅行comf(枚举+贪心+并查集)
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求一条路径,使得路径上最大 ...
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A B C D 水 模拟 二分 贪心
A. Is it rated? time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- 【BZOJ1854】游戏[SCOI2009](神奇贪心+并查集)
这道题和今年GDKOI的Day2T2很像(然而gdkoi的题用网络流可以A,这道题只能拿30). 网址:http://www.lydsy.com/JudgeOnline/problem.php?id= ...
- JSOI建筑抢修 (贪心+堆)
先按照T2从小到大排序,然后进行贪心. 第i个任务能完成的条件是,sigma(T1[j])+T1[i]<=T2[i] ( j 为之前所选的任务) 如果这个任务不能完成,若max(T1[j]) & ...
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- HDOJ 1051. Wooden Sticks 贪心 结构体排序
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]
1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 786 Solved: 391[Submit][S ...
随机推荐
- drop_duplicates()函数
1dataframe删除某一列的重复元素,默认只留下第一次出现的 inplace参数设置为true时直接在原数据上修改,为False时,生成副本. 注意所有函数中inplace一旦设置为True,此时 ...
- TensorFlow学习笔记-总结与排错
总结 为了学习和使用tensorflow作为工具, 我决定逐步亲自动手一行行写一下: [x] MNIST手写模型; [x] MNIST多层感知机(前馈神经网络,2层); [x] MNIST卷积网络(2 ...
- REACT--》fetch---基本使用
[WangQI]---fetch---基本使用 一.fetch fetch是一种XMLHttpRequest的一种替代方案,在工作当中除了用ajax获取后台数据外我们还可以使用fetch.axio ...
- 多线程07-Monitor.TryEnter
); Console.WriteLine())) { Console.WriteLine ...
- HDU 6697 Closest Pair of Segments(线段距离)
首先最容易想到的就是N2暴力枚举所有线段去找最小值,但是这样会做了许多无用功.我们可以先对线段排序,使得线段最左侧的端点按照x轴y轴排序,然后我们可以限定在这个线段的矩形框内的所有线段才有可能产生最小 ...
- 说说 HTTP 和 HTTPS 区别??
HTTP 协议传输的数据都是未加密的,也就是明文的,因此使用 HTTP 协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了 SSL(Secure Sockets Layer ...
- C# DataTable与实体的相互转换
using System; using System.Collections.Generic; using System.Data; using System.Reflection; namespac ...
- 07-Log日志
# 1. 日志相关概念 - 日志的级别(level) - 不同的用户关注不同的程序信息 - DEBUG - INFO - NOTICE - WARNING - ERROR - CRITICAL - A ...
- [冲昏头脑]IDEA中的maven项目中学习log4j的日志操作
第一,你要有log4j的对应的包,由于我用的maven,所以直接在pom.xml文件依赖下载则可,如你尚为有此包,请自行百度下载导入,或上http://www.mvnrepository.com/搜索 ...
- MTCNN 人脸检测
demo.py import cv2 from detection.mtcnn import MTCNN # 检测图片中的人脸 def test_image(imgpath): mtcnn = MTC ...