[2019杭电多校第七场][hdu6655]Just Repeat
题目链接: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"); }
}
}
[2019杭电多校第七场][hdu6655]Just Repeat的更多相关文章
- 2019杭电多校第七场 HDU - 6656 Kejin Player——概率&&期望
题意 总共有 $n$ 层楼,在第 $i$ 层花费 $a_i$ 的代价,有 $pi$ 的概率到 $i+1$ 层,否则到 $x_i$($x_i \leq 1$) 层.接下来有 $q$ 次询问,每次询问 $ ...
- [2019杭电多校第七场][hdu6656]Kejin Player
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题意为从i级花费a元有p的概率升到i+1级,有1-p的概率降到x级(x<i),查询从L级升 ...
- [2019杭电多校第七场][hdu6651]Final Exam
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6651 题意:n个科目,总共m分,通过一科需要复习花费科目分数+1分钟,在不知道科目分数的情况下,问最少 ...
- [2019杭电多校第七场][hdu6646]A + B = C(hash)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6646 题意为求a*10x+b*10y=c*10z满足公式的任意一组解x,y,z. 因为c有可能会由a+ ...
- 杭电多校第七场 1010 Sequence(除法分块+矩阵快速幂)
Sequence Problem Description Let us define a sequence as below f1=A f2=B fn=C*fn-2+D*fn-1+[p/n] Your ...
- 杭电多校第七场-J-Sequence
题目描述 Let us define a sequence as belowYour job is simple, for each task, you should output Fn module ...
- hdu61272017杭电多校第七场1008Hard challenge
Hard challenge Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) ...
- 2017杭电多校第七场1011Kolakoski
Kolakoski Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) Tota ...
- 2017杭电多校第七场1005Euler theorem
Euler theorem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) ...
随机推荐
- angular,,以及深度拷贝问题;JSON.parse,JSON.stringify灵活运用
问题: $scope.list = [];$scope.listTree = {};$scope.dataTree = []; //获取listTree的数据$scope.getList = func ...
- js 调试接口
在我们做完前端的工作后,很多情况下需要把我们的数据与后端得接口进行对接,说以我们就得掌握调试接口的方法 一.建立对象数组(一般是后端的工作) 代码如下: [ {"name":&qu ...
- Python四种实现单例模式的方法
在这之前,先了解super()和__new__()方法 super()方法: 返回一个父类或兄弟类类型的代理对象,让你能够调用一些从继承过来的方法. 它有两个典型作用: a. 在单继承的类层次结构中, ...
- [洛谷P2154] SDOI2009 虔诚的墓主人
问题描述 小W是一片新造公墓的管理人.公墓可以看成一块N×M的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地. 当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地. ...
- 【leetcode】1095. Find in Mountain Array
题目如下: (This problem is an interactive problem.) You may recall that an array A is a mountain array i ...
- HTML5的新特性:范围样式,又叫做<style scoped>
Chromium 最近实现了一个HTML5的新特性:范围样式,又叫做<style scoped> .开发者可以通过为根元素设定一个添加了scoped属性的style标签,来限制样式只作用于 ...
- Codeforces 878A - Short Program(位运算)
原题链接:http://codeforces.com/problemset/problem/878/A 题意:给出n个位运算操作, 化简这些操作, 使化简后的操作次数不多于5步. 思路:我们可以对二进 ...
- Java关于Files. walkFileTree()
1.使用Files. walkFileTree()找出指定文件夹下所有扩展名为.txt和.java的文件. package text_001; import java.io.IOException; ...
- [spring cloud feign] [bug] 使用对象传输get请求参数
前言 最近在研究 srping cloud feign ,遇到了一个问题,就是当 get 请求 的参数使用对象接收时,就会进入熔断返回.经过百度,发现网上大部分的解决方案都是将请求参数封装到Reque ...
- 9-10 November
cout 和 printf 在 C++ 中的实现:四舍六入五随缘.比如 printf("%.0lf\n", x=1.5) => 1. 标准做法:printf("%d ...