AtCoder Regular Contest 124
比赛链接:Here
A - LR Constraints
赛时做这个好迷啊,英文题面解释不清楚,还是看了日语原文才搞懂
\(n\) 个卡牌上有两个
字符 + 数字组合,L的右边所有元素 + 1,R的左边元素 + 1最后求出现过数字的乘积,同时对 \(998244353\) 取余
注意点:开
long long!!!,今天牛客也是,没开lldebug半天,感谢尚佬指出我的错误
Show Code
const int N = 1010;
bool vis[N];
int cnt[N];
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n, k;
cin >> n >> k;
for (int i = 1; i <= k; ++i) {
char c; int x;
cin >> c >> x;
if (c == 'L') {
vis[x] = 1;
for (int j = x + 1; j <= n; ++j)cnt[j] ++;
} else {
vis[x] = 1;
for (int j = 1; j <= x; ++j)cnt[j] ++;
} }
ll ans = 1;
for (int i = 1; i <= n; ++i) {
if (!vis[i])ans = ans * cnt[i] % 998244353;
}
cout << ans << '\n';
}
B - XOR Matching 2
对于长度为 \(n\) 的 \(a,b\) 两个序列,请问是否存在某种排序组合使得某个 \(x\) 被称为
GoodGood定义:可以对 \(b\) 重排序使得每一个 \(a_i\ XOR\ b_i = x\)
当 \(x\) 固定时,置换 \(b\) 使得 \(a_i ⊕ b_i = x\) 等价于 \(c_i = a_i ⊕x\)
所以我们可以直接尝试 \(a_1 ⊕ b1,a_1 ⊕ b_2,...,a_1⊕b_n\)
- \(\mathcal{O}(N^2log\ N)\)
Show Code
const int N = 2e3 + 10;
int a[N], b[N];
map<int, int> mp, bg;
set<int>v;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n;
cin >> n;
for (int i = 1; i <= n; ++i) cin >> a[i];
for (int i = 1; i <= n; ++i) cin >> b[i], bg[b[i]]++;
for (int i = 1; i <= n; ++i) {
int x = a[1] ^ b[i]; mp = bg;
bool f = true;
for (int j = 1; j <= n and f; ++j)if (!mp[x ^ a[j]]) f = false;
if (f) v.insert(x);
}
cout << v.size() << "\n";
for (int x : v)cout << x << "\n";
}
AtCoder Regular Contest 124的更多相关文章
- AtCoder Regular Contest 061
AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...
- AtCoder Regular Contest 094 (ARC094) CDE题解
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...
- AtCoder Regular Contest 092
AtCoder Regular Contest 092 C - 2D Plane 2N Points 题意: 二维平面上给了\(2N\)个点,其中\(N\)个是\(A\)类点,\(N\)个是\(B\) ...
- AtCoder Regular Contest 093
AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...
- AtCoder Regular Contest 094
AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几 ...
- AtCoder Regular Contest 095
AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: ...
- AtCoder Regular Contest 102
AtCoder Regular Contest 102 C - Triangular Relationship 题意: 给出n,k求有多少个不大于n的三元组,使其中两两数字的和都是k的倍数,数字可以重 ...
- AtCoder Regular Contest 096
AtCoder Regular Contest 096 C - Many Medians 题意: 有A,B两种匹萨和三种购买方案,买一个A,买一个B,买半个A和半个B,花费分别为a,b,c. 求买X个 ...
- AtCoder Regular Contest 097
AtCoder Regular Contest 097 C - K-th Substring 题意: 求一个长度小于等于5000的字符串的第K小子串,相同子串算一个. K<=5. 分析: 一眼看 ...
- AtCoder Regular Contest 098
AtCoder Regular Contest 098 C - Attention 题意 给定一个只包含"E","W"字符串,可以花一的花费使他们互相转换.选定 ...
随机推荐
- 【开源】int,long long去一边去:高精度大合集!
加法 \(add\) string add(string s1, string s2) { //时间复杂度 O(log n) string res = ""; int c = 0, ...
- 环形缓冲区 Ring Buffer 的实现
环形缓冲区(Circular Buffer 或 Ring Buffer)是一种数据结构,它在逻辑上形成一个闭环.这种结构非常适用于需要固定大小的缓冲区的情况,如音频处理.网络通信.实时数据传输等.环形 ...
- 基于.NET Core + Quartz.NET+ Vue + IView开箱即用的定时任务UI
前言 定时任务调度应该是平时业务开发中比较常见的需求,比如说微信文章定时发布.定时更新某一个业务状态.定时删除一些冗余数据等等.今天给大家推荐一个基于.NET Core + Quartz.NET + ...
- 解决/usr/bin/pip: No such file or directory
问题描述: 因为home的空间不足,所以我将anaconda3文件夹移动到了别的位置上了,导致我在命令行中输入python的命令时,显示的是python2.7(也就是linux自带的),后面我又为an ...
- Spring+SpringMVC+Mybatis+Vue+Axios+Thymeleaf整合案例
1.创建SSM-Parent父项目 修改配置文件 <?xml version="1.0" encoding="UTF-8"?> <projec ...
- LeetCode5716:好因子的最大数目(数学、快速幂)
解题思路:因为primeFactors比较大,所以需要使用快速幂. class Solution: def quick_pow(self,base,x): ans = 1 while x>0: ...
- 【UniApp】-uni-app-项目实战页面布局(苹果计算器)
前言 经过前面的文章介绍,基本上 UniApp 的内容就介绍完毕了 那么从本文开始,我们就开始进行一个项目的实战 这次做的项目是苹果计算器,这个项目的难度不是很大,但是也不是很简单,适合练手 创建项目 ...
- MinIO客户端之share
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc share mc share download mc share upload 生成下载对象的URL,指定对 ...
- ElasticSearch的简单api介绍
1:ElasticSearch是什么? Elasticsearch 是一个分布式的免费开源搜索和分析引擎 适用于包括文本.数字.地理空间.结构化和非结构化数据等在内的所有类型的数据 Elasticse ...
- ubuntu 之 安装mysql8
安装 1 wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb 2 sudo apt-get update sudo apt ...