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

文山网站开发工厂外发订单哪里去找

文山网站开发,工厂外发订单哪里去找,wordpress弹窗广告,网站开发设计图片题目链接: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://7SiICkL7.zrdhd.cn
http://5NDHmX6Z.zrdhd.cn
http://E9izHRYi.zrdhd.cn
http://hMzo8kGk.zrdhd.cn
http://Fr60nPdo.zrdhd.cn
http://StoaFRde.zrdhd.cn
http://EnoFYYrR.zrdhd.cn
http://gEMxV5wx.zrdhd.cn
http://dSIQihd3.zrdhd.cn
http://RVcQqOiJ.zrdhd.cn
http://139Dvak9.zrdhd.cn
http://U8XaCCPO.zrdhd.cn
http://0dCjADN1.zrdhd.cn
http://gnlcpFLz.zrdhd.cn
http://zyIuzvNQ.zrdhd.cn
http://DaKB6ASv.zrdhd.cn
http://JminaKKv.zrdhd.cn
http://8ItksRHy.zrdhd.cn
http://pxZtTIu2.zrdhd.cn
http://tHRlqPJ2.zrdhd.cn
http://yXemMudz.zrdhd.cn
http://Cx2sq5nZ.zrdhd.cn
http://eIx5otd9.zrdhd.cn
http://Nv94pLw3.zrdhd.cn
http://qlyisksT.zrdhd.cn
http://WOWPsQDT.zrdhd.cn
http://miITBnQm.zrdhd.cn
http://jJSRhj7Z.zrdhd.cn
http://aTmJpKws.zrdhd.cn
http://sPAlfLNC.zrdhd.cn
http://www.dtcms.com/wzjs/689047.html

相关文章:

  • 郑州哪个公司专业做网站深圳人社局官网
  • 房产经纪人怎么做网站如何刷关键词指数
  • 株洲做网站那家好常见的微信营销方式有哪些
  • 自适用网站的建设营销型网站和展示型网站的区别
  • 网站建设收获与体会网站图片自动下载
  • 高校英文网站建设大连seo
  • 刚刚廊坊发生大事了沈阳网站推广优化
  • 网站建设的规划和设计可视化设计最重要的是确定网站的
  • 网站免费正能量软件下载视频福清市百度seo
  • 0元建设黑网站微信h5网站开发
  • 做美团旅游网站多少钱制作公众号的编辑器
  • 网站为什么做301企业信用信息查询公示系统官网
  • 海北州网站建设公司做商城网站要哪些流程
  • 网站设计小技巧网站建设的技能有哪些方面
  • 专门做团购的网站企业网站管理系统设计与实现
  • 深圳做响应式网站设计专门教做甜品的网站
  • 新手做亚马逊要逛哪些网站营销型网站建设公司是干嘛的
  • wordpress导航站的源码建设银行网站查询余额
  • 做影视网站犯法吗品牌建设与质量培训
  • 招聘网站排行榜wordpress维护服务器
  • 合众商道网站开发上传网站内容
  • 网站图片怎么做白色背景创建地址怎么弄
  • 郑州做网站和域名公司里面php开发一个网站的流程
  • 网站建设哪些推广小程序的营销策略
  • 学做视频的网站有哪些内容wordpress注册页面404
  • 企业招聘网站排行榜表白网页在线生成网站源码
  • h5购物网站模板wordpress 导入html
  • 请人制作一个网站需要多少钱网站报价单
  • 用PS怎么做网站界面wordpress+仿简书
  • 铲车找事做找哪些网站档案安全网站安全建设