首页 > 其他分享 >百度202425

百度202425

时间:2024-06-16 17:43:26浏览次数:13  
标签:rs int ls lmid query 202425 array 百度

#include<bits/stdc++.h> 
using namespace std;
#define ls u<<1
#define rs u<<1|1
const int N = 3e5+7;
int a[N];
struct node{
    int l,r,tag,odd[2],even[2];
}tr[N<<3];
int ok;
void pushup(int u)
{
    tr[u].odd[0] = tr[ls].odd[0] + tr[rs].odd[0];
    tr[u].odd[1] = tr[ls].odd[1] + tr[rs].odd[1];
    tr[u].even[0] = tr[ls].even[0] + tr[rs].even[0];
    tr[u].even[1] = tr[ls].even[1] + tr[rs].even[1];
}
void sw(int u)
{
    swap(tr[u].odd[0],tr[u].odd[1]);
    swap(tr[u].even[0],tr[u].even[1]);
}
void pushdown(int u)
{
    if(tr[u].tag)
    {
        sw(ls);
        sw(rs);
        tr[u].tag = 0;
        tr[ls].tag ^= 1;
        tr[rs].tag ^= 1;
    }
}
void build(int u,int l,int r)
{
    tr[u].l = l, tr[u].r = r;
    if(l==r)
    {
        if(l%2)     
            tr[u].odd[a[l]]++;
        else  
            tr[u].even[a[l]]++;
        return;
    }
    int mid = l+r>>1;
    build(ls,l,mid);
    build(rs,mid+1,r);
    pushup(u);
}
array<int,4> query(int u,int l,int r)
{
    array<int,4> res  = {0,0,0,0};
    array<int,4> tmp1 = {0,0,0,0};
    array<int,4> tmp2 = {0,0,0,0};
    if(l<=tr[u].l&&tr[u].r<=r)
        return {tr[u].odd[0],tr[u].odd[1],tr[u].even[0],tr[u].even[1]};
    pushdown(u);
    int mid = tr[u].l+tr[u].r>>1;
    if(l<=mid)  tmp1 = query(ls,l,r);
    if(r>mid)   tmp2 = query(rs,l,r);
    for(int i=0;i<4;i++)
        res[i] += tmp1[i],
        res[i] += tmp2[i];
    return res;
}
void change(int u,int l,int r)
{
    if(l<=tr[u].l&&tr[u].r<=r)
    {
        sw(u);
        tr[u].tag ^= 1;
        return;
    }
    pushdown(u);
    int mid = tr[u].l+tr[u].r>>1;
    if(l<=mid)  change(ls,l,r);
    if(r>mid)   change(rs,l,r);
    pushup(u);
    ok = 1;
}
signed main()
{
    int n,q;
    string s;
    cin>>n>>q>>s;
    for(int i=1;i<=n;i++)
        a[i] = s[i-1] == '1';
    build(1,1,n);
    for(int i=1;i<=q;i++)
    {
        int op, l, r;
        cin>>op>>l>>r;
        if(op==1)
            change(1,l,r);
        else 
        {
            auto res = query(1,l,r);
            cout<<min(res[0]+ res[3],res[1]+ res[2])<<"\n";
        }
    }
}

标签:rs,int,ls,lmid,query,202425,array,百度
From: https://www.cnblogs.com/holycrap/p/18250972

相关文章

  • 百度云CDN怎么样?对新站有什么好处?
    百度云CDN是百度智能云提供的内容分发网络服务•优势:•收录快:小编在2024/6月份一共注册3个域名全部已备案,通过百度云CDN内容分发,大部分3天内收录仅限于WWW与根域名。•安全稳定:创新智能的安全防护思路,拒绝一刀切式的安全防护,引入深度学习引擎技术,守护财富安全。•......
  • python爬虫获取百度热搜
    注:本篇学习需要python基础前言:在上篇中,我们学习了怎么用python发送网页请求来获取网站的源代码,在这篇中,我们将进一步学习本篇目标:利用python爬虫获取百度热搜第一步,用浏览器打开百度热搜网站百度热搜网址https://top.baidu.com/board?tab=realtime页面如下:第二步,按下F12键......
  • 新网站如何把链接提交给百度搜索引擎
    新网站如何把链接提交给百度搜索引擎 很多新手或者刚接触的人,搭建好了网站,并没有百度蜘蛛或者其他的搜索引擎蜘蛛来抓取爬行,所以对于这样的新站,我们首先的是要提交给百度,不能坐等百度来找我们。工具/原料爱站工具网站链接数据百度站长工具方法......
  • 利用某些平台(聚合API、百度AI、科大讯飞API)的API接口,利用HTTP协议向服务器发送请求,并
    要使用C语言通过HTTP协议向服务器发送请求并接收响应,你可以使用如libcurl这样的库来发送HTTP请求。libcurl是一个免费且易于使用的客户端URL传输库,支持多种协议,包括HTTP。同时,为了解析服务器响应中的JSON数据,你可以使用cJSON库,这是一个轻量级的JSON解析库。以下是一个简单的示例......
  • easyrecovery专业版破解无需注册绿色版免费下载 easyrecovery16数据恢复软件永久激活
    EasyRecovery(易恢复中国)是由全球著名数据厂商Ontrack®出品的一款数据文件恢复软件。支持恢复不同存储介质数据:硬盘、光盘、U盘/移动硬盘、数码相机、Raid文件恢复等,能恢复包括文档、表格、图片、音视频等各种文件。开发背景:全球领先的数据恢复解决方案提供商Ontrack近......
  • 我才不要和你做朋友呢百度云/迅雷BT下载[BD/HD-MKV1.77G/8.52G][高清版]
    电影《我才不要和你做朋友呢》是一部极具深度和情感的作品,通过展现人际关系的复杂性和友谊的真实性,为观众带来了深刻的思考。影片以两位主角小明和小红的故事展开。小明是一个内向而害羞的男孩,小红则是一个外向而热情的女孩。他们在同一个学校里上学,但却几乎没有交集......
  • 百度面试:如何用Redis实现限流?
    高并发系统有三大特征:限流、缓存和熔断,所以限流已经成为当下系统开发中必备的功能了。那么,什么是限流?如何实现限流?使用Redis能不能实现限流?接下来我们一起来看。1.什么是限流?限流是指在各种应用场景中,通过技术和策略手段对数据流量、请求频率或资源消耗进行有计划的限制,以避......
  • 百度网盘下载不限速(6月最新插件)
    【应用名称】百度网盘【应用版本】2024双插件版6月最新【应用大小】220MB【适用平台】win11【应用简介】更新了图文教程百度网盘是国内资源生态最大的在线存储服务提供商,提供免费和收费的文件存储,备份,共享等文件管理等功能.百度网盘客户端的百度网盘电脑版本次依旧......
  • 百度网盘下载不限速,6月最新插件
    【应用名称】百度网盘【应用版本】2024双插件版6月最新【应用大小】220MB【适用平台】win11【应用简介】更新了图文教程百度网盘是国内资源生态最大的在线存储服务提供商,提供免费和收费的文件存储,备份,共享等文件管理等功能.百度网盘客户端的百度网盘电脑版本次依旧......
  • 6月最新百度网盘不限速插件
    【应用名称】百度网盘【应用版本】2024双插件版6月最新【应用大小】220MB【适用平台】win11【应用简介】更新了图文教程百度网盘是国内资源生态最大的在线存储服务提供商,提供免费和收费的文件存储,备份,共享等文件管理等功能.百度网盘客户端的百度网盘电脑版本次依旧......