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

淄博网站建设公司有几家网站做视频在线观看网址

淄博网站建设公司有几家,网站做视频在线观看网址,北京做网站优化多少钱,做茶网站【BZOJ2908】又是nand escription 首先知道A nand Bnot(A and B) #xff08;运算操作限制了数位位数为K#xff09;比如2 nand 3#xff0c;K3#xff0c;则2 nand 3not (2 and 3)not 25。给出一棵树#xff0c;树上每个点都有点权#xff0c;定义树上从a到b的费用为0与…【BZOJ2908】又是nand escription 首先知道A nand Bnot(A and B) 运算操作限制了数位位数为K比如2 nand 3K3则2 nand 3not (2 and 3)not 25。 给出一棵树树上每个点都有点权定义树上从a到b的费用为0与路径上的点的权值顺次nand的结果例如从2号点到5号点顺次经过2-3-5权值分别为5、7、2K3那么最终结果为0 nand 5 nand 7 nand 27 nand 7 nand 20 nand 27现在这棵树需要支持以下操作。 ①    Replace a b:将点a1≤a≤N的权值改为b。 ②    Query a b:输出点a到点b的费用。 请众神给出一个程序支持这些操作。 Input 第一行NMK树的节点数量、总操作个数和运算位数。 接下来一行N个数字依次表示节点i的权值。 接下来N-1行每行两个数字a,b1≤a,b≤N表示a,b间有一条树边。 接下来M行每行一个操作为以上2类操作之一。 N、M≤100000K≤32 Output 对于操作②每个输出一行如题目所述。 Sample Input 3 3 3 2 7 3 1 2 2 3 Query 2 3 Replace 1 3 Query 1 1 Sample Output 4 7 题解网上都说要拆位那么我也拆位吧~不拆位好像也能做 首先nand满足交换律但不满足结合律。 我们先树剖然后对于每一位都用线段树维护tl[d][x]代表如果该位是d从左边来经过这个区间后会变成的数tr[d][x]代表如果该位是d从右往左经过这个区间后会变成的数。然后就是区间合并的事了~ 对于询问a,b我们先求出从a向上走到lca的变化再求出从lca向下走到b的变化即可。   #include cstdio #include cstring #include iostream #define lson x1 #define rson x1|1 using namespace std; int n,m,k,cnt; char str[10]; const int maxn100010; int to[maxn1],next[maxn1],head[maxn],fa[maxn],dep[maxn],siz[maxn],top[maxn],son[maxn],p[maxn],q[maxn],st[maxn]; unsigned v[maxn]; struct seg {bool tl[2][maxn2],tr[2][maxn2];void pushup(int x){tl[0][x]tl[tl[0][lson]][rson],tl[1][x]tl[tl[1][lson]][rson];tr[0][x]tr[tr[0][rson]][lson],tr[1][x]tr[tr[1][rson]][lson];}void build(int l,int r,int x,int a){if(lr){tl[0][x]tr[0][x]1,tl[1][x]tr[1][x]!((v[q[l]]a)1);return ;}int midlr1;build(l,mid,lson,a),build(mid1,r,rson,a);pushup(x);}void updata(int l,int r,int x,int a,bool b){if(lr){tl[0][x]tr[0][x]1,tl[1][x]tr[1][x]!b;return ;}int midlr1;if(amid) updata(l,mid,lson,a,b);else updata(mid1,r,rson,a,b);pushup(x);}bool ql(int l,int r,int x,int a,int b,bool c){if(alrb) return tl[c][x];int midlr1;if(bmid) return ql(l,mid,lson,a,b,c);if(amid) return ql(mid1,r,rson,a,b,c);return ql(mid1,r,rson,a,b,ql(l,mid,lson,a,b,c));}bool qr(int l,int r,int x,int a,int b,bool c){if(alrb) return tr[c][x];int midlr1;if(bmid) return qr(l,mid,lson,a,b,c);if(amid) return qr(mid1,r,rson,a,b,c);return qr(l,mid,lson,a,b,qr(mid1,r,rson,a,b,c));} }s[33]; inline int rd() {int ret0; char gcgetchar();while(gc0||gc9) gcgetchar();while(gc0gc9) retret*10gc-0,gcgetchar();return ret; } void dfs1(int x) {siz[x]1;for(int ihead[x];i!-1;inext[i]){if(to[i]!fa[x]){fa[to[i]]x,dep[to[i]]dep[x]1,dfs1(to[i]),siz[x]siz[to[i]];if(siz[to[i]]siz[son[x]]) son[x]to[i];}} } void dfs2(int x,int tp) {top[x]tp,p[x]p[0],q[p[0]]x;if(son[x]) dfs2(son[x],tp);for(int ihead[x];i!-1;inext[i]) if(to[i]!fa[x]to[i]!son[x]) dfs2(to[i],to[i]); } void add(int a,int b) {to[cnt]b,next[cnt]head[a],head[a]cnt; } void ask(int x,int y) {unsigned int ret0;int i;st[0]0;while(top[x]!top[y]){if(dep[top[x]]dep[top[y]]){for(i0;ik;i) retret-(ret(1i))(s[i].qr(1,n,1,p[top[x]],p[x],(reti)1)i);xfa[top[x]];}else st[st[0]]y,yfa[top[y]];}if(dep[x]dep[y]) for(i0;ik;i) retret-(ret(1i))(s[i].ql(1,n,1,p[x],p[y],(reti)1)i);else for(i0;ik;i) retret-(ret(1i))(s[i].qr(1,n,1,p[y],p[x],(reti)1)i);for(yst[0];y;y--) for(i0;ik;i) retret-(ret(1i))(s[i].ql(1,n,1,p[top[st[y]]],p[st[y]],(reti)1)i);printf(%u\n,ret); } int main() {nrd(),mrd(),krd();int i,j,a,b;for(i1;in;i) scanf(%u,v[i]);memset(head,-1,sizeof(head));for(i1;in;i) ard(),brd(),add(a,b),add(b,a);dep[1]1,dfs1(1),dfs2(1,1);for(i0;ik;i) s[i].build(1,n,1,i);for(i1;im;i){scanf(%s,str);if(str[0]Q) ard(),brd(),ask(a,b);else{ard(),scanf(%u,v[a]);for(j0;jk;j) s[j].updata(1,n,1,p[a],(v[a]j)1);}}return 0; }//3 3 3 2 7 3 1 2 2 3 Query 2 3 Replace 1 3 Query 1 1  转载于:https://www.cnblogs.com/CQzhangyu/p/7327672.html
http://www.zqtcl.cn/news/162082/

相关文章:

  • 上海做网站优化公司ps最好用的素材网站
  • 网站建设品牌推广seo制作公司网站
  • 个人网站服务器一年多少钱科技让生活更美好作文450字
  • 开学第一课汉字做网站网盘资源搜索神器
  • 备案网站应用服务树莓派用来做网站
  • 找装修公司上什么网站湘潭交通网站
  • php网站服务建设网站增加关键字
  • 免费视频网站制作泰州东方医院
  • 单位的网站怎样设计才美观手机开发者选项
  • 网站可以做软件检测吗重庆潼南网站建设价格
  • 忘记网站后台地址建设网站协议范本
  • 平面设计素材网站排行榜前十名程序员网站开发框架
  • 搭建一个网站需要多少钱搜搜
  • 做搜狗手机网站手工制作大全折纸
  • 万网站天眼查询个人信息
  • 一份优秀的网络推广方案名风seo软件
  • 自己建设一个网站步骤中文wordpress主题下载
  • 如何在中国建设银行网站转账成都网页设计培训学校哪家好
  • 青岛建设网站制作wordpress代码高亮显示
  • 品牌创意型网站建设仿 手机 网站模板html
  • 信息化建设期刊网站网络规划设计师 用途
  • 商城网站开发的完整流程图精灵网站建设
  • 网站开发技术描述asp网站建设下载
  • 十堰网站开发洛阳网站开发公司
  • 做盗版网站坂田网站建设推广公司
  • 怎么用织梦修改建设一个新的网站小程序无代码开发平台
  • 网站建设询价外贸网页制作公司哪家好
  • 网页设计与网站建设报告ckplayer整合WordPress
  • 厦门APP开发网站开发公司百度热搜榜单
  • 网站排名英文怎么说网页编辑器在线使用