A. Domino Disaster

思路

按照题意模拟即可 如果是

对应关系为R --> R L --> L U --> D D --> U

AC_CODE

inline void solve() {
int n; cin >> n;
string s; cin >> s;
string ans;
ans.resize(n);
for(int i = 0; i < n; i ++ ) {
if(s[i] == 'U') ans[i] = 'D';
else if(s[i] == 'D') ans[i] = 'U';
else ans[i] = s[i];
}
cout << ans << endl;
}

B. MEXor Mixup

题目中MEX的意思是 数组中最小的没有出现过的自然数...(百度了十分钟才查出来,离谱...)

思路

题目给了数组中的MEXXOR (异或和) 分别是ab

因此我们可以知道 数组中一定不存在a并且\(\le a\)的自然数一定会出现

因此我们先预处理出所有的异或前缀和 令这个数字为x

那么我们现在已经有了a个数字,并且异或和为x 我们想要从x 变为b

有三种可能

  1. x=b 我们输出 a 即可
  2. x^b=a 因为a这个数字不能用,所以我们需要两个数字构造出a 因此输出a+2
  3. x^b!=a 我们直接在原数组的基础上添加一个x^b即可满足构造要求,因此输出a+1

AC_CODE

const int N = 3e5 + 10;
LL x[N];
inline void solve() {
int a, b;
cin >> a >> b;
int res = 0;
res = x[a - 1];
if((res ^ b) == 0) cout << a << endl;
else if((res ^ b) != a) cout << a + 1 << endl;
else cout << a + 2 << endl; } signed main()
{
for(int i = 1; i < N; i ++ ) x[i] = (x[i - 1] ^ i);
int T = 1; cin >> T;
while(T -- ) {
solve();
} return 0;
}

C. Carrying Conundrum

题意

Alice 在进行竖式加法的时候,每次进位都会多进一位,比如6+4=10 她会把1进位到百位从而得出100

给定一个数字n,求一共有多少个二元组通过上述计算等于n

思路

因为每次都会多进一位,即是进两位, 那么我们把一个数字的奇数位和偶数位分别拆开, 那么他们的进位就正常了

然后由乘法原理我们可以知道所有的数字的不同组合.

需要注意的是, 一个数字n可以由正常进位的两个数字组成,那么它的组成方法有n+1种,这里进位是正常的,所以我们只需要考虑一种特殊情况

就是两个数字的组合中分别有一个是0的情况,而且他们两个还放在一起了,由于两个每个组合改变顺序也是合法的,所以这种特殊情况有两次

因此最终的结果减去2即可

AC_CODE

inline void solve() {
string a;
cin >> a;
int x = 0, y = 0;
for(int i = 0; a[i]; i += 1)
if(i & 1)
x = x * 10 + (a[i] - '0');
else
y = y * 10 + (a[i] - '0');
cout << (x + 1) * (y + 1) - 2 << endl;
}

D - Expression Evaluation Error

题意

给定一个k个数字的和n 求如何分配k个数字(正整数) 使得k个数字在十一进制下的和最大

思路

我们肯定是要使最高位最大,因此我们贪心的从大到小枚举\(10^i\) 如果当前的n比\(10^i\)大而且可以使后面的数字最少分到1

我们就把这一个数字赋值为\(10^i\), 然后枚举到第k-1个数字,最后一个数字就是n剩下的数字

AC_CODE

#define LL long long
LL a[20];
inline void solve() {
int n, k; cin >> n >> k;
vector<int> ans(k);
for(int i = 0; i < k - 1; i ++ ) {
for(int j = 9; ~j; j -- ) {
if(n > a[j] && n - a[j] >= k - i - 1) {
ans[i] = a[j];
n -= a[j];
break;
}
}
}
ans[k - 1] = n;
for(int x: ans) printf("%d ", x);
puts("");
} signed main()
{
LL p = 1;
for(int i = 0; i < 10; i ++ ) {
a[i] = p;
p *= 10;
}
int T = 1; cin >> T;
while(T -- ) {
solve();
} return 0;
}

Codeforces Round #742 (Div. 2)的更多相关文章

  1. Codeforces Round #742 (Div. 2) B. MEXor Mixup

    题目链接 Problem - B - Codeforces 题意: 给出MEX 和 XOR(分别表示1. 本串数不存在的最小非负数  2. 本串数所有数异或后的结果) 求出这串数最少有几个数, 1 ≤ ...

  2. Codeforces Round #742 (Div. 2)题解

    链接 \(A,B\)题签到,就完了. \(C\)题,考虑进位时多进一位,由于是隔一位进的,所以可以发现奇数位和偶数位是相互独立的,那么我们就把奇数位和偶数位单独拉出来组成数字例如:34789,我们单独 ...

  3. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  4. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  5. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  6. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  7. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  8. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  9. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

随机推荐

  1. POJ 3278:The merchant(LCA&DP)

    The merchant Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 6864   Accepted: 2375 Desc ...

  2. webservice websocket socket http rpc

    HTTP: HTTP 是基于请求响应式的,即通信只能由客户端发起,服务端做出响应,无状态,无连接. webSocket: 服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向 ...

  3. 第三十六个知识点:Index Calculus算法

    第三十六个知识点:Index Calculus算法 我们这篇博客继续描述一种数学攻击,这种数学攻击被叫做Index Calculus(IC)算法. 注意这里Index Calculus算法没有找到合适 ...

  4. kotlin+springboot+mybatis-puls+mysql搭建gradle-web工程

    kotlin+springboot+mybatis-puls+mysql搭建web工程 ​ 前段时间研究了spring security及OAuth2系列之后,本来打算研究spring的,但是部门发生 ...

  5. 【jvm】05-为什么你写的代码有时候和预期不一致

    [jvm]05-为什么你写的代码有时候和预期不一致 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...

  6. Java初学者作业——判断该年份是否为闰年,并输出判断结果

    返回本章节 返回作业目录 需求说明: 从控制台输入年份,判断该年份是否为闰年,并输出判断结果. 实现思路: 可通过运算符实现闰年判断的条件: (1)能被4整除且不能被100整除的年份 实现:(年份 % ...

  7. ProtoBuf3语法指南(Protocol Buffers)_上

    0.说明 ProtoBuf3语法指南, 又称为proto3, 是谷歌的Protocol Buffers第3个版本. 本文基于官方英文版本翻译, 加上了自己的理解少量修改, 一共分为上下两部分. 1.序 ...

  8. 关于MySQL导入数据到elasticsearch的小工具logstash

    logstash核心配置文件pipelines.yml #注:此处的 - 必须顶格写必须!!! - pipeline.id: invitation #下面路径配置的是你同步数据是的字段映射关系 pat ...

  9. STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解)

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) 前面 ...

  10. Tool_Fiddler安装和使用

    一.简介 Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动, Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddl ...