当前位置: 首页 > news >正文

天津网站建设noajt嘉兴做网站seo

天津网站建设noajt,嘉兴做网站seo,医院网站专题用ps怎么做,lamp网站开发黄金组合 pdf题目链接:https://codeforces.com/problemset/problem/1615/B 位运算之前没怎么写过,所以不会写。留一份题解,作为复习使用。 题解:按位与的结果不为0,则至少有一列全为1.要求删除的数最少,即要求该列原本…

题目链接:https://codeforces.com/problemset/problem/1615/B

位运算之前没怎么写过,所以不会写。留一份题解,作为复习使用。

题解:按位与的结果不为0,则至少有一列全为1.要求删除的数最少,即要求该列原本含有的1最多。则统计每一位的1的个数,找出个数最大值,用数组数字的总数,减去1的个数,即需要删除的个数。

第一版写的是枚举每一个数,对每一个数的每一位用&(1<<j)判断是不是1,用一个数组来统计每一位的结果。然而是TLE...

第二版,借助AI工具,发现了从0开始到某一位的数据的二进制排列规律,用前缀和求解可得。

背景知识

在二进制表示中,每一位(bit)会以固定的周期出现 0 和 1。例如:

  • 第 0 位(最低位):0, 1, 0, 1, 0, 1, ...,周期为 2。
  • 第 1 位:0, 0, 1, 1, 0, 0, 1, 1, ...,周期为 4。
  • 第 2 位:0, 0, 0, 0, 1, 1, 1, 1, ...,周期为 8。

我们可以直接计算某一位为 1 的数量,而不需要逐个遍历每个数字。


公式解释

1. 完整周期的贡献

对于第 j 位:

  • 每 (1 << (j + 1)) 个数字中,第 j 位会有连续 (1 << j) 个 1。
  • 例如:
    • 第 0 位:每 2 个数字中有 1 个 1。
    • 第 1 位:每 4 个数字中有 2 个 1。
    • 第 2 位:每 8 个数字中有 4 个 1。

完整的 (1 << (j + 1)) 块的数量为:(r  + 1)/(1 << (j + 1))     +1是因为0也要算进去

这些完整块中,第 j 位的 1 的总数为:(r  + 1)/(1 << (j + 1)) * (1 << j)

2. 剩余部分的贡献

可能还有一部分数字不足一个完整的 (1 << (j + 1)) 块,这部分的长度为  (r + 1) % (1 << (j + 1))

在这部分中,第 j 位为 1 的数量为:

  • 如果剩余部分长度大于 (1 << j),那么第 j 位会有 (r + 1) % (1 << (j + 1)) - (1 << j)个 1。
  • 如果剩余部分长度小于等于 (1 << j),那么第 j 位会有 0 个 1。
3. 总计第 j 位的 1 的数量

将完整周期和剩余部分的贡献相加

代码如下:

#include <bits/stdc++.h>
using namespace std;void count(int r,int*arr)
{for(int i=0;i<20;i++){int num=0;int period=(1<<(i+1));int full_p=(r+1)/period;int remain=(r+1)%period;if(remain>(1<<i)){num=full_p*(1<<i)+remain-(1<<i);}else{num=full_p*(1<<i);}arr[i]=num;}
}int main()
{int t;cin>>t;int ans[t];int k=0;while(t--){int l,r;cin>>l>>r;int arr_l[20];int arr_r[20];count(l-1,arr_l);count(r,arr_r);int max=0;for(int i=0;i<20;i++){if((arr_r[i]-arr_l[i])>max){max=arr_r[i]-arr_l[i];}}ans[k++]=r-l+1-max;}for(int i=0;i<k;i++){cout<<ans[i]<<"\n";}return 0;
}

http://www.dtcms.com/a/439779.html

相关文章:

  • 国企网站建设标准世界工厂网优质货源
  • 温州专业微网站制作报价德阳做网站的公司
  • 免费的招聘平台有哪些企业网站优化外包
  • 长春建网站公司原始传奇网页版
  • 邵阳建网站网站更改备案
  • 【Leetcode hot 100】22.括号生成
  • 专业刷粉网站nginx缓存方案 WordPress
  • 企业网站买卖建设流程笑话类网站用什么做
  • 位置编码(Positional Encoding)理解与误区
  • 排名好的宜昌网站建设手机赚钱一天400元
  • 德州企业网站建设wap是什么意思卡老师
  • 网站备案核验单清晰wordpress首页没有ssl
  • 网站建设方案免费下载多伦多网站建设多少钱
  • 网站空间去哪里买的网站建设 响应式
  • 专业新站整站快速排名公司网站制作目标及要求
  • 网站设计初步规划商城网站有什么好处
  • 网站做微信链接怎么做的火花机 东莞网站建设
  • 网站做文件检查seo推广方式是什么呢
  • 信息图制作网站中文wordpress企业主题
  • 美发企业网站模板数字货币交易网站开发
  • 手机微信网站怎么做的青海seo关键词排名优化工具
  • 【系统开发】前端 HTML基础
  • 网站续费管理系统广告设计与制作自我评价
  • 唐山网站建设互众动力网页制作模板软件
  • 网站 图片防盗链免费观看电影电视剧的软件
  • pycharm网站开发实例建筑工程网上举报平台官网
  • 12.UE-游戏逆向-DumpUE对象
  • xyz域名注册局官方网站小程序一键开发免费
  • 国外炫酷网站设计网站模板 收费
  • 网站推广新手入门教程中国品牌策划网