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

企业网站的建设与实现沈阳网站建设58同城

企业网站的建设与实现,沈阳网站建设58同城,网页设计代码及图片,苏州知名网站建设公司思路#xff1a; 感觉这题也可神了.. #xff08;还是我太弱#xff09; 首先发现每一位不会互相影响#xff0c;可以把每一位分开考虑#xff0c;然后用树链剖分或者LCT维护这个树 修改直接修改#xff0c;询问的时候算出来每一位填0#xff0c;1经过这条链的变换之后得…思路 感觉这题也可神了.. 还是我太弱 首先发现每一位不会互相影响可以把每一位分开考虑然后用树链剖分或者LCT维护这个树 修改直接修改询问的时候算出来每一位填01经过这条链的变换之后得到的值 考虑贪心从高往低如果这一位填0可以得到1那么填0一定是最优的 否则如果可以填1就把这一位填为1 复杂度是nklog^2n或者nklogn只能通过50%的数据 发现可以并行计算这k位复杂度降为nlog^2n的树链剖分或者nlogn的LCT可以通过100%的数据 这个题没有卡常合并信息不是O( 1 )的算法没有通过是很正常的吧。。。 还有树链剖分没法做到logn每条链建线段树也是log^2n的还不能搞子树似乎常数也一般。。。 最优复杂度是log^2n不过期望下大概是lognloglogn的感觉 这个题的最优复杂度为O( n q( logn k ) )至少目前来说是这样的 from 洛谷的题解. unsigned long long 各种位运算 线段树要分别维护向上的和向下的   //By SiriusRen #include cstdio #include cstring #include algorithm using namespace std; const int N100005; typedef unsigned long long ull; ull a[N],zz,now,ans; int n,m,k,op,xx,yy,Op[N],first[N],next[N*2],v[N*2],tot; int size[N],fa[N],son[N],deep[N],rev[N],dfn[N],cnt,top[N]; struct Tree{ull v0,v1;Tree(){}Tree(int op,ull x){if(op1)v00,v1x;else if(op2)v0x,v1~0;else v0x,v1(~0)^x;}Tree(ull x,ull y){v0x,v1y;} }trl[N*8],trr[N*8]; Tree operator(Tree x,Tree y){return Tree((x.v0y.v1)|((~x.v0)y.v0),(x.v1y.v1)|((~x.v1)y.v0));} void add(int x,int y){v[tot]y,next[tot]first[x],first[x]tot;} void dfs(int x){size[x]1;for(int ifirst[x];~i;inext[i])if(v[i]!fa[x]){fa[v[i]]x,deep[v[i]]deep[x]1,dfs(v[i]),size[x]size[v[i]];if(size[v[i]]size[son[x]])son[x]v[i];} } void dfs2(int x,int tp){rev[dfn[x]cnt]x;top[x]tp;if(son[x])dfs2(son[x],tp);for(int ifirst[x];~i;inext[i])if(v[i]!fa[x]v[i]!son[x])dfs2(v[i],v[i]); } void build(int l,int r,int pos){if(lr){trl[pos]trr[pos]Tree(Op[rev[l]],a[rev[l]]);return;}int mid(lr)1,lsonpos1,rsonpos1|1;build(l,mid,lson),build(mid1,r,rson);trl[pos]trl[lson]trl[rson],trr[pos]trr[rson]trr[lson]; } void insert(int l,int r,int pos,int num){if(lr){trl[pos]trr[pos]Tree(Op[rev[l]],a[rev[l]]);return;}int mid(lr)1,lsonpos1,rsonpos1|1;if(midnum)insert(mid1,r,rson,num);else insert(l,mid,lson,num);trl[pos]trl[lson]trl[rson],trr[pos]trr[rson]trr[lson]; } Tree query(int l,int r,int pos,int L,int R,int f){if(lLrR)return f?trr[pos]:trl[pos];int mid(lr)1,lsonpos1,rsonpos1|1;if(midL)return query(mid1,r,rson,L,R,f);else if(midR)return query(l,mid,lson,L,R,f);else{if(!f)return query(l,mid,lson,L,R,f)query(mid1,r,rson,L,R,f);else return query(mid1,r,rson,L,R,f)query(l,mid,lson,L,R,f);} } Tree solve(int x,int y){Tree vxTree((int)3,0ull),vyTree((int)3,0ull);int fxtop[x],fytop[y];while(fx!fy)if(deep[fx]deep[fy])vxvxquery(1,n,1,dfn[fx],dfn[x],1),xfa[fx],fxtop[x];else vyquery(1,n,1,dfn[fy],dfn[y],0)vy,yfa[fy],fytop[y];if(deep[x]deep[y])return vxquery(1,n,1,dfn[y],dfn[x],1)vy;return vxquery(1,n,1,dfn[x],dfn[y],0)vy; } int main(){memset(first,-1,sizeof(first)),deep[1]1;scanf(%d%d%d,n,m,k);for(int i1;in;i)scanf(%d%llu,Op[i],a[i]);for(int i1;in;i)scanf(%d%d,xx,yy),add(xx,yy),add(yy,xx);dfs(1),dfs2(1,1),build(1,n,1);while(m--){scanf(%d%d%d%llu,op,xx,yy,zz);if(op2)Op[xx]yy,a[xx]zz,insert(1,n,1,dfn[xx]);else{Tree tsolve(xx,yy);nowans0;for(int ik-1;~i;i--)if(t.v0(1ulli))ans1ulli;else if(t.v1(1ulli)now(1ulli)zz)now1ulli,ans1ulli;printf(%llu\n,ans);}} }  转载于:https://www.cnblogs.com/SiriusRen/p/6685529.html
http://wiki.neutronadmin.com/news/258085/

相关文章:

  • 购物网站开发介绍前端做商城网站需要多久
  • 聊城专业做网站asp网站整站下载器
  • 类似于微博网站怎么做化妆品网站开发的背景
  • asp网站出现乱码社交网站cms
  • 杭州商城网站建设网站制作网站设计
  • 企业自己怎么做网站推广网页设计与网站建设课程
  • 新闻类网站开发特点tomcat做网站属于什么
  • 岳阳网站项目建设报道全球十大搜索引擎
  • 昆明网页建站模板棋牌软件制作开发多少钱
  • 汽车零件销售网站开发网站建设职位名称
  • 怎样免费做自己的网站网络营销内容有哪些方面
  • 有哪些免费的视频网站seo教程有什么
  • wordpress建网站详细教程WordPress允许修改评论内容
  • cad dwt模板做网站模版中山哪家做网站好
  • 莆田免费建站模板网站建设对于企业的必要性
  • 福州做企业网站手机怎么制作软件app
  • 网站空白模板下载制造行业网站建设
  • 垂直网站做排名wordpress手动装插件
  • 松江泖港网站建设昆明住房和城乡建设部网站
  • 怎样用织梦做网站建设网站相关法律条文
  • 企业做网站注意事项爱用建站平台的优势
  • 做go分析的网站icp备案和icp许可证区别
  • 死链对网站链轮的影响大型网站服务器得多少钱
  • 当前网站开发的现状简易的网站建设
  • 启动网站集约化建设网站建设联系电话
  • 做一个公司的网站应做哪些准备住房城乡建设管理网站
  • 盘锦做网站企业20g虚拟主机建设网站
  • 开通网站费可以做待摊费用吗深圳工业设计展2022
  • 计算机 网站开发 文章自贡企业网站建设
  • 生活服务手机网站开发自己做网站处理图片用什么软件下载