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

房地产网站广告销售怎么做怎样弄一个自己的平台

房地产网站广告销售怎么做,怎样弄一个自己的平台,vba可做网站吗,广州公司的网页怎么做的www.cnblogs.com/shaokele/ bzoj1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec   Memory Limit: 162 MB Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:   …

www.cnblogs.com/shaokele/


bzoj1036: [ZJOI2008]树的统计Count

  Time Limit: 10 Sec
  Memory Limit: 162 MB

Description

  一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作:
  I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 I
  II. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身
 

Input

  输入的第一行为一个整数n,表示节点的个数。接下来n – 1行,每行2个整数a和b,表示节点a和节点b之间有一条边相连。接下来n行,每行一个整数,第i行的整数wi表示节点i的权值。接下来1行,为一个整数q,表示操作的总数。接下来q行,每行一个操作,以“CHANGE u t”或者“QMAX u v”或者“QSUM u v”的形式给出。
  对于100%的数据,保证1<=n<=30000,0<=q<=200000;中途操作中保证每个节点的权值w在-30000到30000之间。
 

Output

  对于每个“QMAX”或者“QSUM”的操作,每行输出一个整数表示要求输出的结果。
 

Sample Input

  4
  1 2
  2 3
  4 1
  4 2 1 3
  12
  QMAX 3 4
  QMAX 3 3
  QMAX 3 2
  QMAX 2 3
  QSUM 3 4
  QSUM 2 1
  CHANGE 1 5
  QMAX 3 4
  CHANGE 3 6
  QMAX 3 4
  QMAX 2 4
  QSUM 3 4
 

Sample Output

  4
  1
  2
  2
  10
  6
  5
  6
  5
  16
  

题目地址:  bzoj1036: [ZJOI2008]树的统计Count

题目大意:

  题目已经很清楚了
  

题解:

  树链剖分裸题
  
  先把树轻重链剖分(两遍dfs)
  
  然后线段树维护区间最大值和区间和
  
  将剖出来的序列合并一下就好了
  


AC代码

#include <cstdio>
#include <cstring>
#include <algorithm>
#define inf 0x7fffffff
#define N 30005
using namespace std;
int n,Q,cnt,sz;
int w[N],dep[N],size[N],head[N],fa[N];
int pos[N],top[N];
char ch[10];
struct edge{int to,next;
}e[N+N];
struct seg{int l,r,mx,sum;
}t[N<<2];
void add_edge(int u,int v){e[++cnt]=(edge){v,head[u]};head[u]=cnt;e[++cnt]=(edge){u,head[v]};head[v]=cnt;
}
void dfs1(int u){size[u]=1;for(int i=head[u];i;i=e[i].next){if(e[i].to==fa[u])continue;dep[e[i].to]=dep[u]+1;fa[e[i].to]=u;dfs1(e[i].to);size[u]+=size[e[i].to];}
}
void dfs2(int u,int chain){int k=0;sz++;pos[u]=sz;top[u]=chain;for(int i=head[u];i;i=e[i].next)if(dep[e[i].to]>dep[u]&&size[e[i].to]>size[k])k=e[i].to;if(k==0)return;dfs2(k,chain);for(int i=head[u];i;i=e[i].next)if(dep[e[i].to]>dep[u]&&k!=e[i].to)dfs2(e[i].to,e[i].to);
}
void build(int l,int r,int id){t[id].l=l;t[id].r=r;if(l==r)return;int mid=(l+r)>>1;build(l,mid,id<<1);build(mid+1,r,id<<1|1);
}
void change(int id,int k,int w){int l=t[id].l,r=t[id].r,mid=(l+r)>>1;if(l==r){t[id].sum=t[id].mx=w;return;}if(k<=mid)change(id<<1,k,w);else change(id<<1|1,k,w);t[id].sum=t[id<<1].sum+t[id<<1|1].sum;t[id].mx=max(t[id<<1].mx,t[id<<1|1].mx);
}
int querysum(int id,int L,int R){int l=t[id].l,r=t[id].r,mid=(l+r)>>1;if(l==L&&R==r)return t[id].sum;if(R<=mid)return querysum(id<<1,L,R);else if(L>mid)return querysum(id<<1|1,L,R);else return querysum(id<<1,L,mid)+querysum(id<<1|1,mid+1,R);
}
int querymx(int id,int L,int R){int l=t[id].l,r=t[id].r,mid=(l+r)>>1;if(l==L&&R==r)return t[id].mx;if(R<=mid)return querymx(id<<1,L,R);else if(L>mid)return querymx(id<<1|1,L,R);else return max(querymx(id<<1,L,mid),querymx(id<<1|1,mid+1,R));
}
int solvesum(int a,int b){int sum=0;while(top[a]!=top[b]){if(dep[top[a]]<dep[top[b]])swap(a,b);sum+=querysum(1,pos[top[a]],pos[a]);a=fa[top[a]];}if(pos[a]>pos[b])swap(a,b);sum+=querysum(1,pos[a],pos[b]);return sum;
}
int solvemx(int a,int b){int mx=-inf;while(top[a]!=top[b]){if(dep[top[a]]<dep[top[b]])swap(a,b);mx=max(mx,querymx(1,pos[top[a]],pos[a]));a=fa[top[a]];}if(pos[a]>pos[b])swap(a,b);mx=max(mx,querymx(1,pos[a],pos[b]));return mx;
}
int main(){scanf("%d",&n);for(int i=1;i<n;i++){int u,v;scanf("%d%d",&u,&v);add_edge(u,v);}for(int i=1;i<=n;i++)scanf("%d",&w[i]);dfs1(1);dfs2(1,1);build(1,n,1);for(int i=1;i<=n;i++)change(1,pos[i],w[i]);scanf("%d",&Q);while(Q--){int x,y;scanf("%s%d%d",ch+1,&x,&y);if(ch[1]=='C'){w[x]=y;change(1,pos[x],y);}elseif(ch[2]=='M')printf("%d\n",solvemx(x,y));elseprintf("%d\n",solvesum(x,y));}return 0;
}

转载于:https://www.cnblogs.com/shaokele/p/9085391.html

http://www.lbrq.cn/news/2498131.html

相关文章:

  • 做模板网站怎么放视频深圳网络优化seo
  • 网站换dns网络营销策划方案怎么做
  • 郑州移动网站建设交易平台官网
  • 关于做情侣的网站的图片电脑培训班速成班
  • 郑州做网站排名公司哪家好网站推广的方式有哪些?
  • 类似源码之家的网站长沙seo行者seo09
  • 旧域名新网站品牌策划方案范文
  • 网站建站视频教程国际新闻稿件
  • 新开传奇网站首区律师推广网站排名
  • 18.ppt网站是谁做的关键词排名查询网站
  • 网站开发教学视频教程提升神马关键词排名报价
  • 网站空间购买注意事项seo三人行网站
  • 网站搭建是哪个岗位做的事儿网络营销的职能有哪些
  • 宁波网站制作一句话宣传自己的产品
  • 建设网站主机免费的怎么下载精准营销及推广
  • 怎么做国外的网站企业营销培训课程
  • axure直接做网站万物识别扫一扫
  • 刷单平台网站建设长春网站建设方案报价
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗信息流广告代理商排名
  • asp网站 会员注册口碑营销的案例及分析
  • 用vs2010做免费网站模板下载个人推广网站
  • 网站开发技术 包括市场调研数据网站
  • 域名可以做网站网络建站流程
  • 中企动力官网电话优化关键词规则
  • 建设部网站有建筑施工分包sem与seo的区别
  • 做走私网站免费收录网站推广
  • 初中生学java兰州网络seo
  • 网站如何上传设计外包网站
  • 网站备案注意今日新闻摘抄十条
  • 山西网站建设电话金戈西地那非片
  • Java面试深度剖析:从JVM到云原生的技术演进
  • 三、搭建springCloudAlibaba2021.1版本分布式微服务-springcloud loadbalancer负载均衡
  • 【机器学习深度学习】NLP评价指标 BLEU 和 ROUGE
  • 探秘CommonJS:Node.js模块化核心解析
  • 【Qt开发】信号与槽(二)-> 信号和槽的使用
  • 【HTML】<script>元素中的 defer 和 async 属性详解