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

网站开发 行业动态建一个快讯网站要多少钱

网站开发 行业动态,建一个快讯网站要多少钱,浙江瑞通建设集团网站,云主机 怎么做网站题目链接 题目要求实现区间覆盖修改以及区间数量查询,不难想到为线段树,而需要维护什么值来得到不同数的数量很难想,但是我们注意到颜色的数量最多只有30种,所以对于每一种颜色在一个区间中是否存在,我们可以使用线段树…

题目链接

        题目要求实现区间覆盖修改以及区间数量查询,不难想到为线段树,而需要维护什么值来得到不同数的数量很难想,但是我们注意到颜色的数量最多只有30种,所以对于每一种颜色在一个区间中是否存在,我们可以使用线段树+状态压缩来解决这个问题

        首先考虑pushup,这点很简单,只要将两个儿子节点的颜色状态或一下就可以

        然后考虑pushdown,此处为颜色覆盖,所以对于每次修改只需要将原先的颜色状态直接覆盖为新的状态即可,包括lazy也是这样,这里注意lazy存的是要覆盖的颜色种类,而改变的时候是要先将1左移lazy个位置然后覆盖

ac代码:

#include<bits/stdc++.h>
#define endl '\n'
#define ll long long
#define INF 0x3f3f3f3f
#define pb push_back
#define int long long
#define Mirai ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
typedef pair<int,int> pii;
const int N=1e5+10;
struct Tree
{int l,r;int sum,lazy;
}tr[N<<2];
int n,m,q;
string op;
int l,r,d;
int lowbit(int x){return x&-x;}
void change(int u,int lazy)
{tr[u].sum=1<<lazy;tr[u].lazy=lazy;
}
void pushup(int u)
{tr[u].sum=tr[u<<1].sum|tr[u<<1|1].sum;
}
void pushdown(int u)
{if(tr[u].lazy){change(u<<1,tr[u].lazy);change(u<<1|1,tr[u].lazy);tr[u].lazy=0;}
}
void build(int u,int l,int r)
{if(l==r)tr[u]={l,r,1<<1,0};else {tr[u]={l,r};int mid=l+r>>1;build(u<<1,l,mid);build(u<<1|1,mid+1,r);pushup(u);}
}
void modify(int u,int l,int r,int d)
{if(tr[u].l>=l&&tr[u].r<=r){change(u,d);return ;}pushdown(u);int mid=tr[u].l+tr[u].r>>1;if(l<=mid)modify(u<<1,l,r,d);if(r>mid)modify(u<<1|1,l,r,d);pushup(u);
}
int query(int u,int l,int r)
{if(tr[u].l>=l&&tr[u].r<=r)return tr[u].sum;pushdown(u);int mid=tr[u].l+tr[u].r>>1;int res=0;if(l<=mid)res|=query(u<<1,l,r);if(r>mid)res|=query(u<<1|1,l,r);return res;
}
void solve()
{cin>>n>>m>>q;build(1,1,n);while(q--){cin>>op>>l>>r;if(l>r)swap(l,r);if(op=="C"){cin>>d;modify(1,l,r,d);}else {int ans=query(1,l,r);int cnt=0;while(ans){cnt++;ans-=lowbit(ans);}cout<<cnt<<endl;}}
}
signed main()
{Mirai;int T=1;//cin>>T;while(T--){solve();}
}

http://www.sczhlp.com/news/74964/

相关文章:

  • 哪个网站做简历免费下载龙岗已经被深圳抛弃了吗
  • 网站开发人员的工作企业官网开源
  • django做网站怎样手机百度网页版登录入口
  • 制作微信商城网站开发网站的结构类型
  • 惠东网络建站公司网站内链接分析
  • 清河做网站哪里好菜单设计制作模板免费
  • 怎样免费建一个网站网站设计制作从哪
  • 中国建设银行笔试确认网站深圳住建网
  • spark streaming窗口操作内存占用要怎么估算
  • 数据结构与算法-15.线性表-栈
  • [豪の学习笔记] 软考中级备考 基础复习#2
  • 0122_享元模式(Flyweight)
  • 9月Cursor绑卡时代来临!真实卡扣费风险大,这个工具让你无忧
  • 常州 招网站开发重庆可作为推广的网站
  • 装修的网站深圳开发的购物网站
  • 桐庐建设局网站外卖网站的建设与推广
  • thinkphp搭建的微网站如何做简洁网站设计
  • 解决同时连接wifi和网线无法上网的问题
  • Cookie讲解
  • 【原创软件】第14期:FastWordReplace-Word文字批量替换工具V1.1
  • redis 6 多线程模型 - ukyo-
  • 购物网站开发可行性分析怎么写WordPress文章无法打开
  • 交钱做网站对方拿了钱不做该怎么办网站到期不想续费
  • 网页设计 网站开发 网络安全河北建设银行官网招聘网站
  • 网站推广策划书范文自己在线制作logo免费头像
  • 绍兴网络公司婚纱摄影网站seo方案
  • php开源建站系统网站建设主流技术
  • 中移电子商务有限公司为什么扣款百度站长工具对seo的帮助
  • 9.6日模考总结
  • 外国做袜子的网站可画在线设计平台