D. Co-growing Sequence

传送门:Problem - 1547D - Codeforces

题意:给定一个 数组 a , 构造一个数组 b ,使得 ( a[i] ^ b[i] ) & ( a[i + 1] ^ b[ i + 1] ) == a[i] ^ b[i]

思路:(二进制题目)

设 a[i] ^ b[i] = t

我们要让 t 的二进制数位为 1 如果 a[i +1] ^ b[i +1] 此时二进制数位为 0 的话,就必须要异或 这一位为1,如果此时为1的话,就不用

主体代码:

cpp 复制代码
void solve()
{
	int n; cin >> n;
    vector<int> a(n + 1);
    for( int i = 1 ; i <= n ; i++ ) cin >> a[i];
    vector<int> b(n + 1);
    for( int i = 2 ; i <= n ; i++ )
    {
        int t = (a[i - 1] ^ b[i - 1]);
        int num = 0;
        for( int j = 0 ; j <= 60 ; j++ )
        {
            if( (t >> j & 1) && !(a[i] >> j & 1 ) )
            {
                num |= ( 1 << j );
            }
        }
        b[i] = num;
    }
    for(int i = 1 ; i <= n ; i++ )
    {
        cout << b[i] << " ";
    }
    cout << endl;
}
相关推荐
南巷逸清风19 分钟前
LeetCode 101.对称二叉树
c++·python·算法·leetcode
纪怽ぅ33 分钟前
浅谈——深度学习和马尔可夫决策过程
人工智能·python·深度学习·算法·机器学习
七月巫山晴33 分钟前
QChart中柱形图的简单使用并实现【Qt】
开发语言·数据结构·c++·qt·算法·排序算法
韭菜盖饭39 分钟前
LeetCode每日一题685---冗余连接 II
算法·leetcode·职场和发展
计算机学姐43 分钟前
基于协同过滤算法的旅游网站推荐系统
vue.js·mysql·算法·mybatis·springboot·旅游·1024程序员节
一个不喜欢and不会代码的码农1 小时前
力扣1381:设计一个支持增量操作的栈
数据结构·算法·leetcode
如意.7591 小时前
【C++】——高效构建与优化二叉搜索树
算法
繁依Fanyi1 小时前
ArrayList和linkedList的区别
java·开发语言·算法
@小码农1 小时前
2024 CCF CSP-J/S 2024 第二轮认证 真题试卷
算法
今天秃头了吗??2 小时前
贪心算法入门(一)
java·数据结构·算法·贪心算法