Codeforces Round 940 (Div. 2) and CodeCraft-23 D. A BIT of an Inequality

怎么在豆包里做生成式引擎优化(GEO) 本文系统介绍了豆包平台生成式引擎优化(GEO)的全套方法体系。文章首先解析了豆包与传统搜索引擎的核心差异,强调其多模态理解和上下文感知特性,并指出GEO需从关键词匹配转向用户意图动态解析。随后详细阐述了GEO优化的三大核心策略:用户意图解析技术、实时内容适配框架和权威信号强化方法,配以技术实现路径和案例说明。最后提出GEO与SEO融合的未来趋势,建议企业构建统一知识库,实现全渠道声誉管理。全文包含大量实操代码和工具链指导,为企业在AI时代的内容优化提供系统解决方案。 阅读详情

A BIT of an Inequality

题目描述

给你一个数组 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1​,a2​,…,an​ 。求这样的图元( x , y , z x, y, z x,y,z )的个数:

  • 1 ≤ x ≤ y ≤ z ≤ n 1 \leq x \leq y \leq z \leq n 1≤x≤y≤z≤n , 和
  • f ( x , y ) ⊕ f ( y , z ) > f ( x , z ) f(x, y) \oplus f(y, z) > f(x, z) f(x,y)⊕f(y,z)>f(x,z) .

我们定义 f ( l , r ) = a l ⊕ a l + 1 ⊕ … ⊕ a r f(l, r) = a_l \oplus a_{l + 1} \oplus \ldots \oplus a_{r} f(l,r)=al​⊕al+1​⊕…⊕ar​ ,其中 ⊕ \oplus ⊕ 表示 bitwise XOR。

输入描述

第一行包含一个整数 t t t ( 1 ≤ t ≤ 1 0 4 1 \leq t \leq 10^4 1≤t≤104 ) - 测试用例数。

每个测试用例的第一行包含一个整数 n n n ( 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1≤n≤105 )。

每个测试用例的第二行包含 n n n 个整数 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a1​,a2​,…,an​ ( 1 ≤ a i ≤ 1 0 9 1 \leq a_i \leq 10^9 1≤ai​≤109 )。

保证所有测试用例中 n n n 的总和不超过 1 0 5 10^5 105 。

输出描述

对于每个测试用例,在一行中输出一个整数 – 描述的图元的组数。

样例输入

3
3
6 2 4
1
3
5
7 3 7 2 1

样例输出

4
0
16

原题

CF——传送门

思路

显然根据异或运算的交换律, f ( x , y ) ⊕ f ( y , z ) > f ( x , z ) f(x, y) \oplus f(y, z) > f(x, z) f(x,y)⊕f(y,z)>f(x,z) 等价于 f ( x , z ) ⊕ a y > f ( x , z ) f(x, z) \oplus a_y > f(x, z) f(x,z)⊕ay​>f(x,z)。那么,问题就可以转化为对于 a 1 a_1 a1​ 到 a n a_n an​ 的每个 a i a_i ai​,其与 f ( x , z ) f(x, z) f(x,z) 进行异或运算是否会使结果变大。如果能使结果变大,则将该方案统计到答案中。而对于异或后对结果的影响,我们只需要考虑 a i a_i ai​ 的最高位的 1,若该位在左式即 f ( x , y ) ⊕ f ( y , z ) f(x, y) \oplus f(y, z) f(x,y)⊕f(y,z) 中的异或结果为 1,则将该方案统计进答案中。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int maxn = 1e5 + 6;
const int maxbit = 30;

// 第i个元素,第j+1个bit位,前缀以及后缀异或结果为k(0或1)
int prefix[maxn][maxbit][2]; // 该条件下 包含第i-1个元素的前缀的个数
int suffix[maxn][maxbit][2]; // 该条件下 包含第i+1个元素的后缀的个数

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        vector<int> a(n + 1);
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
        }
        // dp转移
        for (int j = 0; j < 30; j++)
        {
            // 初始化
            prefix[0][j][0] = 0;
            prefix[0][j][1] = 0;
            suffix[n + 1][j][0] = 0;
            suffix[n + 1][j][1] = 0;
            for (int i = 1; i <= n; i++)
            {
                int bit = (a[i] >> j) & 1; // 第j+1个bit位是1或是0
                for (int k = 0; k <= 1; k++)
                {
                    prefix[i][j][k] = (bit == k) + prefix[i - 1][j][k ^ bit];
                }
            }
            for (int i = n; i >= 1; i--)
            {
                int bit = (a[i] >> j) & 1; // 第j+1个bit位是1或是0
                for (int k = 0; k <= 1; k++)
                {
                    suffix[i][j][k] = (bit == k) + suffix[i + 1][j][k ^ bit];
                }
            }
        }
        ll ans = 0; // 统计个数
        for (int i = 1; i <= n; i++)
        {
            int highbit = -1; // 当前元素bit位为1的最高位置
            for (int j = 0; j < 30; j++)
            {
                if ((a[i] >> j) & 1)
                    highbit = j;
            }
            ans += 1LL * prefix[i - 1][highbit][1] * (suffix[i + 1][highbit][0] + 1);
            ans += 1LL * (prefix[i - 1][highbit][0] + 1) * suffix[i + 1][highbit][1];
        }
        cout << ans << '\n';
    }

    return 0;
}
OTN设备核心知识速记 本文章为工作笔记,若有错误,还需大家指正。不定期更新。 阅读详情

相关推荐

【NVIDIA驱动的顽固问题】---- /dev/sdax:clean,xxx/xxx files,xxx/xxx blocks ---- 最全解决方法

本文的意义在于整理总结关于此问题的全部解决方法,希望能给大家节约时间。

lc1852109的博客 3126

[比赛题解] Codeforces Round 940 (Div 2) and CodeCraft- 949676b86e1241c7ad1e7f9102221f4f

路径上经过点集的权值线段树,在线段树的每个节点上保存区间上有关频率的哈希值。比较两条路径上点构成的可重集是否相同,就是比较不同线段树区间的哈希值。打表找规律+线段树/树状数组维护差分数组后计算答案。经过若干步合法步骤后,答案可以看作在空白的。内1的个数为奇数,统计每个二进制位上使得。用线段树方法可以找到两条路径在。路径上经过点集的权值线段树,则路径。的白棋占据,则剩余一个。内1的个数为奇数和使得。的个数,即可计算答案。内出现次数不同的最小值。的白棋占据,剩余一个。按二进制位考虑,若有。

JSDBJSJSH的博客 652

RseQC实战指南:从安装到RNA-Seq数据质控全流程解析

本文提供了一份详尽的RseQC实战指南,涵盖从安装配置到RNA-Seq数据质控的全流程。文章重点解析了RseQC作为专业质控工具的核心价值,手把手指导如何通过Conda或pip完成安装,并深入讲解了bam_stat.py、geneBody_coverage.py等关键模块的使用方法与结果解读技巧,帮助用户有效评估RNA完整性、文库构建质量及链特异性,确保下游分析的可靠性。

weixin_29200741的博客 201

【CF】Day56——Codeforces Round 940 (Div. 2) and CodeCraft-23 BCD

简单思维题首先我们肯定可以想到,答案的值不可能超过 k 的最高有效位,比如 1011,答案最多只能是 4 位,那我们考虑时候可以构造出一种方法使得刚好能填满呢?我们考虑到,如果一个数他是 1111 这种形式,那么可以直接放这个数即可,但是如果是 1000呢?首先我们最优的情况肯定是将后面的 0 全变为 1,且这一定是最优的,因为如果我们可以通过舍弃最高位而获得后面的所有位,比如 1000 我们可以使用 0111 0001 两个构造出,此时答案是 3,可以看出这显然是最优的。

qq_61422664的博客 709

27-eMMC电路设计

eMMC硬件电路设计

weixin_66510961的博客 4006

网课、网页视频倍速播放简单脚本

一个简单的网页视频倍速脚本

huazn612的博客 1万+

Codeforces Round 940 (Div. 2) and CodeCraft-23(A-D)

这场比赛主要是dp动态规划,E题还在补,过几天补E题

Vcoistnt的博客 606

WiFi偏门协议(四):增强的传输机制802.11aa

区分Unicast和Multicast的优先级,以及设定不同的重传次数,以细化EDCA机制。 SCS(StreamClassification Service) 如上图,在VI,VO内各自又增加了一个queue, 对应不同的MAC header。VI和VO内的两个queue可以分别对应UC和MC。这样就提供了同一个AC内的更细粒度的优先级区分。当然还可以使用Drop Eligibility Indication子域来区分不同的重传次数。 改善Multicast数据传...

reekyli的专栏 1790

比赛记录:Codeforces Round 940 (Div. 2) and CodeCraft-23 A~E

比赛记录:Codeforces Round 940 (Div. 2) and CodeCraft-23 A~E

yingjiayu12的博客 1192

WorkBuddy CAD 审图救命课:约束、单位、尺寸链一次查清,打样前拦住返工

最危险的 CAD 文件不是打不开,而是看起来完整却混用了毫米与英寸、草图欠约束、关键尺寸没有来源。审图任务必须先列规则,再输出问题位置。 本课不会用“AI 一键完成”制造错觉,而是把 WorkBuddy、FreeCAD 0.21.2、OpenCascade 7.7 与人工审阅组成一条可复现链路。你会从“一份模拟 STEP 文件、参数表、装配基准与审图标准”出发,得到“单位报告、约束清单、尺寸链风险表与人工复核标记”,并学会用真实命令、错误信号和停止条件判断成果能不能进入下一阶段。

yueyeguzhuo的专栏 264

在 SAP 资产模块跨 2024 和 2025 两个年度操作后,运行 AFAB 测试无数据,大概率是折旧已完全过账、跨期配置异常或资产数据异常等原因

SAP资产模块跨年度操作AFAB测试无数据的排查方案:首先检查折旧是否已完全计提,确认资产主数据价值;其次验证跨年度配置是否合规,包括全局配置、折旧范围和账期状态;然后重新执行AFAR折旧计算刷新数据;排查资产主数据异常或业务操作冲突;最后核对AFAB运行参数是否正确设置,包括会计年度、期间范围和运行模式等。

金牌架构师 866

Codeforces Round 940 (Div. 2) and CodeCraft-23 (A~E 最喜欢打表的一集)

题意:给若干根长度不一的棍子,求能够组成的正多边形的最大个数。要求每个边只能用一个棍子。思路:贪心,3个长度一样的棍子凑成一个正多边形,然后统计个数。

weixin_61825750的博客 3131

构网型逆变器下垂控制与电流限幅策略研究:理论、仿真与代码实现

随着分布式发电和微电网技术的快速发展,构网型(Grid-Forming, GFM)逆变器因其能够自主建立电压和频率参考、支撑弱电网及孤岛运行而受到广泛关注。本文提出并实现了一种基于下垂控制的构网型逆变器控制策略,将逆变器等效为受控电压源,通过L型滤波器接入配电网。在公共耦合点(PCC)处实时测量三相电压和电流,计算有功和无功功率,进而采用P-w和Q-V下垂控制生成内部频率和电压幅值,合成三相参考电压。针对故障情况下过电流问题,设计了一种自适应电流限幅模块:当电流幅值超过设定上限时,动态降低电压参考系数k_s

huanghm88的专栏 153

Codeforces Round 940 (Div. 2) and CodeCraft-23——B题

【代码】Codeforces Round 940 (Div. 2) and CodeCraft-23——B题。

2301_79363050的博客 463

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 222

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 219

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 388

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 333

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 343

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 377

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 303

C++ 运行时多态与虚函数机制全面剖析【面试重点】

构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。

Fuyo_0209的博客 435

#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)

数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。

lwq20051110的博客 148

【C++】【STL】string_OJ题

本文总结了9道C++ STL中关于string的OJ题目,按操作类型分为三组:反转与就地修改(如917、541、151)、计数与查找(如387、125、58)、模拟与大数运算(如415、43、8)。核心技巧包括双指针收敛、字符分类处理、进位控制及边界值处理。所有题目使用同一套源码,在标准库std::string与自定义容器MyString间切换仅需宏定义,验证结果一致性。代码通过随机测试用例与Trace函数逐行比对,确保逻辑正确性,强调接口对齐的重要性。

这里是Cocatrice的博客,感谢大家一直以来的支持和鼓励,如果对C/C++方向感兴趣的话,可以通过主页的微信名片加Cocatrice的好友,也可以通过邮箱:Chen31980094@163.com 联系,一同加油! 4370

C 语言 malloc() 详解与实战 Demo

本文详解C语言malloc()函数,涵盖其语法、内存原理及实战应用。通过动态整数、数组、结构体与链表的Demo,演示如何安全申请、使用与释放内存,强调避免内存泄漏与空指针检查的重要性,帮助开发者掌握动态内存管理核心技能。

tangPHP的博客 366

【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针

C++类与对象知识(面向过程和面向对象的初步认识,类的初步认识,类的访问限定符及封装,类的作用域、实例化,类的对象模型,this指针)

2601_96587588的博客 873
上一篇: 2015-2016 ACM-ICPC Southwestern Europe Regional Contest (SWERC 15) A.Promotions
下一篇: Codeforces Round 939 (Div. 2) D. Nene and the Mex Operator 题解 二进制枚举+递归
bbc_ouo
博客等级 码龄3年 2096粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值