[2019杭电多校第七场][hdu6655]Just Repeat
2024-10-07 10:15:07
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6655
题意是说两个人都有一些带有颜色的牌,两人轮流出牌,但是不能出对面出过的颜色的牌,最后谁不能出牌谁输。
贪心的想,如果这种牌我有对方也有,那我肯定先出以此来减少对方可出的牌,如果有几种这样的牌,那肯定是先出两方手牌总和最多的那种颜色。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<map>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 2e5 + ;
struct node {
ll id, num;
node() {}
node(ll _id, ll _num) { id = _id, num = _num; }
}q[maxn];
int a[maxn], b[maxn], num[maxn], numa[maxn], numb[maxn];
ull k1, k2;
int mod;
ull 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.num > b.num;
}
int main() {
int t;
scanf("%d", &t);
while (t--) {
int n, m, p, len = , cnt = ;
scanf("%d%d%d", &n, &m, &p);
if (p == ) {
for (int i = ; i <= n; i++)
scanf("%d", &a[i]), num[++len] = a[i];
for (int i = ; i <= m; i++)
scanf("%d", &b[i]), num[++len] = b[i];
}
else {
scanf("%llu%llu%d", &k1, &k2, &mod);
for (int i = ; i <= n; i++)
a[i] = (int)(rng() % mod), num[++len] = a[i];
scanf("%llu%llu%d", &k1, &k2, &mod);
for (int i = ; i <= m; i++)
b[i] = (int)(rng() % mod), num[++len] = b[i];
}
sort(num + , num + + len);
len = unique(num + , num + + len) - num - ;
for (int i = ; i <= len; i++)
numa[i] = numb[i] = ;
for (int i = ; i <= n; i++) {
int x = lower_bound(num + , num + + len, a[i]) - num;
numa[x]++;
}
for (int i = ; i <= m; i++) {
int x = lower_bound(num + , num + + len, b[i]) - num;
numb[x]++;
}
for (int i = ; i <= len; i++) {
if (numa[i] && numb[i])
q[++cnt] = node(i, numa[i] + numb[i]);
}
sort(q + , q + + cnt, cmp);
int w = , suma = n, sumb = m;
for (int i = ; i <= cnt; i++) {
if (w & )
suma--, sumb -= numb[q[i].id];
else
sumb--, suma -= numa[q[i].id];
w++;
}
if (w & ) {
if (suma > sumb)
printf("Cuber QQ\n");
else
printf("Quber CC\n"); }
else {
if (sumb > suma)
printf("Quber CC\n");
else
printf("Cuber QQ\n"); }
}
}
最新文章
- python学习笔记系列----(三)数据结构
- maven 环境搭建
- linux病毒
- HTML5移动Web开发(五)——移动设计之CSS媒介查询
- ASP.NET ZERO 学习 JTable的使用子表闭合功能
- asp.net 组织结构图控件
- easyui-prompt弹出框操作
- jetty之建立多Connector
- Django 运行报错 ImportError: No module named &#39;PIL&#39;
- WinForm 控件(上)
- 2016 ";Bird Cup"; ICPC7th@ahstu--“波导杯”安徽科技学院第七届程序设计大赛
- ECS的配置与使用
- java.sql.SQLException:ORA-01861:文字和格式字符串不匹配
- 分布式监控系统开发【day37】:填充表配置项目(三)
- Java高级特性 第10节 IDEA和Eclipse整合JUnit测试框架
- JVM相关笔记
- [转][JSBSim]JSBSim的使用--飞行控制组件及其配置
- sublime 打开import require 模块文件的url 或路径的插件
- 【Redis】Redis学习(五) Redis cluster模式详解
- eclipse 安装 ndk 组件
热门文章
- centos .7x service iptables save 错误解决方案
- SPOJ-GSS1-Can you answer these queries 1
- flask入门,Hello World!
- 解决webstorm卡顿问题,下面详细设置方法,使得webstorm快速打开
- jsp格工化日期
- mysql FOREIGN KEY约束 语法
- SpringBoot整合MongoDb(二)
- Ubuntu 14.04 DNS 丢失 | 中文输入法配置 (转载)
- Dancing Stars on Me
- git 指定从其他分支拉取commit