B. Rock and Lever 解析(思維)
Codeforce 1420 B. Rock and Lever 解析(思維)
今天我們來看看CF1420B
題目連結
題目
給一個數列\(a\),求有多少種\((i,j)\)使得\(i<j\)且\(a_i\&a_j\ge a_i\oplus a_j\)
前言



想法
觀察到,由於\(1\&1=1\),\(1\oplus1=0\),所以\(a_i\&a_j\)有的\(bit\),\(a_i\oplus a_j\)都不會有。
而繼續觀察到,如果\(a_i,a_j\)最左邊的\(bit\)是一樣的(例如都是第\(10\)個\(bit\)),那麼\(a_i\&a_j\ge a_i\oplus a_j\)。而如果不一樣,那麼\(a_i,a_j\)中擁有最左邊的\(bit\)的那個數字,會造成\(a_i\&a_j<a_i\oplus a_j\)(因為\(2^i>\sum\limits_{j=0}^{i-1}2^j\))。
所以只需要從數列左邊看到右邊,每次對於元素\(a[i]\),看看前面有多少元素的最左\(bit\)和\(a[i]\)一樣即可。
程式碼:
const int _n=1e5+10;
int t,tt,n,a[_n],cnt[40];
main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>t;while(t--){
memset(cnt,0,sizeof cnt);
cin>>n;rep(i,0,n)cin>>a[i];
ll ans=0;rep(i,0,n){
tt=32-__builtin_clz(a[i]);
ans+=cnt[tt];
cnt[tt]++;
}cout<<ans<<'\n';
}
return 0;
}
標頭、模板請點Submission看
Submission
B. Rock and Lever 解析(思維)的更多相关文章
- A. Arena of Greed 解析(思維)
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿, ...
- E. Almost Regular Bracket Sequence 解析(思維)
Codeforce 1095 E. Almost Regular Bracket Sequence 解析(思維) 今天我們來看看CF1095E 題目連結 題目 給你一個括號序列,求有幾個字元改括號方向 ...
- C2. Power Transmission (Hard Edition) 解析(思維、幾何)
Codeforce 1163 C2. Power Transmission (Hard Edition) 解析(思維.幾何) 今天我們來看看CF1163C2 題目連結 題目 給一堆點,每兩個點會造成一 ...
- F. Moving Points 解析(思維、離散化、BIT、前綴和)
Codeforce 1311 F. Moving Points 解析(思維.離散化.BIT.前綴和) 今天我們來看看CF1311F 題目連結 題目 略,請直接看原題. 前言 最近寫1900的題目更容易 ...
- B. Two Arrays 解析(思維)
Codeforce 1417 B. Two Arrays 解析(思維) 今天我們來看看CF1417B 題目連結 題目 略,請直接看原題. 前言 a @copyright petjelinux 版權所有 ...
- C. k-Amazing Numbers 解析(思維)
Codeforce 1417 C. k-Amazing Numbers 解析(思維) 今天我們來看看CF1417C 題目連結 題目 略,請直接看原題. 前言 我實作好慢... @copyright p ...
- D. Road to Post Office 解析(思維)
Codeforce 702 D. Road to Post Office 解析(思維) 今天我們來看看CF702D 題目連結 題目 略,請直接看原題. 前言 原本想說會不會也是要列式子解或者二分搜,沒 ...
- C. Bank Hacking 解析(思維)
Codeforce 796 C. Bank Hacking 解析(思維) 今天我們來看看CF796C 題目連結 題目 略,請直接看原題. 前言 @copyright petjelinux 版權所有 觀 ...
- B. Kay and Snowflake 解析(思維、DFS、DP、重心)
Codeforce 685 B. Kay and Snowflake 解析(思維.DFS.DP.重心) 今天我們來看看CF685B 題目連結 題目 給你一棵樹,要求你求出每棵子樹的重心. 前言 完全不 ...
随机推荐
- matplotlib设置颜色、标记、线条,让你的图像更加丰富
今天是数据处理专题的第11篇文章,我们继续来介绍matplotlib这个包的使用方法. 在上一篇文章当中我们介绍了matplotlib当中subplot的概念以及用法,今天我们将会来介绍matplot ...
- O、Θ、Ω
1.这些是时间复杂度的.(e.g. O(n).Θ(n).Ω(n)) 主要为主定理(坏东西) 2.本质 O <= Θ = Ω >=
- 报错: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
你没打开 1.双击打开 2.点击:
- SpringBoot-03-JSR303数据校验和多环境切换
3.3 JSR303数据校验 先看如何使用 Springboot中可以用@Validated来校验数据,如果数据异常则统一抛出异常,方便异常中心统一处理. 这里我们写个注解让name只支持Em ...
- Centos-服务管理-systemctl
systemctl命令属于systemd软件包,这个软件包不仅可以完成系统的初始化工作,还能对系统和服务进行管理 在centos7中,服务单元取代启动脚本,服务单元以.service为文件扩展名,配置 ...
- sklearn训练模型的保存与加载
使用joblib模块保存于加载模型 在机器学习的过程中,我们会进行模型的训练,最常用的就是sklearn中的库,而对于训练好的模型,我们当然是要进行保存的,不然下次需要进行预测的时候就需要重新再进行训 ...
- 通用redis
import lombok.extern.slf4j.Slf4j;import org.apache.poi.ss.formula.functions.T;import org.rcisoft.cor ...
- 联赛模拟测试14 A. 虎
题目描述 这题太虎了,所以没有背景. 给你一棵树,边有黑白两种颜色,你每次可以选择两个点,把这两个点之间的唯一简单路径上的所有边颜色取反,某些边要求最终颜色必须是黑色,还有些边没有要求,问最少操作多少 ...
- C#实例(经典):四路光电开关&激光雷达数据采集和波形图绘制
前言:本文全部纯手工打造,如有疏漏之处,还请谅解! 如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! 这 ...
- C# 主界面的扁平化
如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! --------------------------- ...