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

联盟营销网站有哪些杭州公司网站建设

联盟营销网站有哪些,杭州公司网站建设,yw55523can优物入口4虎,学校网站建设项目背景Description 深绘里一直很讨厌雨天。灼热的天气穿透了前半个夏天#xff0c;后来一场大雨和随之而来的洪水#xff0c;浇灭了一切。虽然深绘里家乡的小村落对洪水有着顽固的抵抗力#xff0c;但也倒了几座老房子#xff0c;几棵老树被连根拔起#xff0c;以及田地里的粮食…Description 深绘里一直很讨厌雨天。 灼热的天气穿透了前半个夏天后来一场大雨和随之而来的洪水浇灭了一切。 虽然深绘里家乡的小村落对洪水有着顽固的抵抗力但也倒了几座老房子几棵老树被连 根拔起以及田地里的粮食被弄得一片狼藉。 无奈的深绘里和村民们只好等待救济粮来维生。 不过救济粮的发放方式很特别。 首先村落里的一共有n 座房屋并形成一个树状结构。然后救济粮分m 次发放每次选择 两个房屋(x,y)然后对于x 到y 的路径上含x 和y) 每座房子里发放一袋z 类型的救济粮。 然后深绘里想知道当所有的救济粮发放完毕后每座房子里存放的最多的是哪种救济粮。 Input 第一行两个正整数n,m含义如题目所示。 接下来n-1 行每行两个数(a,b)表示(a,b) 间有一条边。 再接下来m 行每行三个数(x,y,z)含义如题目所示。 Output n 行第i 行一个整数表示第i 座房屋里存放的最多的是哪种救济粮如果有多种救济粮 存放次数一样输出编号最小的。 如果某座房屋里没有救济粮则对应一行输出0。 Sample Input 5 3 1 2 3 1 3 4 5 4 2 3 3 1 5 2 3 3 3 Sample Output 2 3 3 2 2 Data Constraint 对于20% 的数据1 n,m 100 对于50% 的数据1 n,m 2000 对于100% 的数据1 n;m 100000; 1 a, b, x, y n; 1 z 10^9   题解 考虑如果是在一条链上的话要怎么做那么我们可以在x处加一个加入z的标记在y1出加入一个删掉z的标记然后用权值线段树扫一遍就好了现在拓展到一棵树上我们可以在x和y处加入一个加上z的标记在lca和fa[lca]处加入一个删除z的标记那么我们每次可以把子节点的线段树合并上来然后处理标记信息最后查询答案即可代码 1 #include cstdio2 #include iostream3 #include cstring4 #include vector5 #define N 1000106 using namespace std;7 struct tree { int l,r,sum,v; }t[N*50];8 int n,m,cnt,deep[N],a[N],root[N],fa[N][18],ans[N];9 vectorinte[N],p[N],q[N]; 10 void pushup(int x) { if (t[t[x].r].sumt[t[x].l].sum) t[x].sumt[t[x].r].sum,t[x].vt[t[x].r].v; else t[x].sumt[t[x].l].sum,t[x].vt[t[x].l].v; } 11 void dfs(int x,int f,int dep) 12 { 13 fa[x][0]f,deep[x]dep,root[x]x,cnt; 14 for (int i1;i17;i) fa[x][i]fa[fa[x][i-1]][i-1]; 15 for (int i0;ie[x].size();i) if (e[x][i]!f) dfs(e[x][i],x,dep1); 16 } 17 int LCA(int x,int y) 18 { 19 if (deep[x]deep[y]) swap(x,y); 20 for (int i17;i0;i--) if (deep[fa[x][i]]deep[y]) xfa[x][i]; 21 if (xy) return x; 22 for (int i17;i0;i--) if (fa[x][i]!fa[y][i]) xfa[x][i],yfa[y][i]; 23 return fa[x][0]; 24 } 25 int update(int d,int l,int r,int x,int y) 26 { 27 if (!d) dcnt; 28 if (lr) { t[d].sumy,t[d].vl; return 0; } 29 int midlr1; 30 if (xmid) update(t[d].l,l,mid,x,y); else update(t[d].r,mid1,r,x,y); 31 pushup(d); 32 } 33 int merge(int x,int y,int l,int r) 34 { 35 if (!x) return y; 36 if (!y) return x; 37 if (lr) { t[x].sumt[y].sum,t[x].vl; return x; } 38 int midlr1; 39 t[x].lmerge(t[x].l,t[y].l,l,mid),t[x].rmerge(t[x].r,t[y].r,mid1,r); 40 pushup(x); return x; 41 } 42 void dfs1(int x,int pre) 43 { 44 for (int i0;ie[x].size();i) if (e[x][i]!pre) dfs1(e[x][i],x),merge(root[x],root[e[x][i]],1,N-10); 45 for (int i0;ip[x].size();i) update(root[x],1,N-10,p[x][i],1); 46 for (int i0;iq[x].size();i) update(root[x],1,N-10,q[x][i],-1); 47 ans[x]t[root[x]].v; 48 } 49 int main() 50 { 51 scanf(%d%d,n,m); 52 for (int i1,x,y;in;i) scanf(%d%d,x,y),e[x].push_back(y),e[y].push_back(x); 53 dfs(1,0,1); 54 for (int i1,x,y,z;im;i) 55 { 56 scanf(%d%d%d,x,y,z); 57 int lcaLCA(x,y); 58 p[x].push_back(z),p[y].push_back(z),q[lca].push_back(z); 59 if (fa[lca][0]) q[fa[lca][0]].push_back(z); 60 } 61 dfs1(1,0); 62 for (int i1;in;i) printf(%d\n,ans[i]); 63 }  转载于:https://www.cnblogs.com/Comfortable/p/11176223.html
http://www.yutouwan.com/news/493992/

相关文章:

  • 需要注册的企业网站企业网站建设的劣势
  • 中国贸易网官网手机版曲靖seo建站
  • 网站建设与维护是什么内容网络服务主要包括哪几项
  • 平台营销型网站建设wordpress音乐小工具
  • 做网站需要学会哪些wordpress 轮播图代码
  • 济源网站建设的公司少儿编程加盟店8
  • 哪个网站衬衣做的好如果在阿里云上做自己的网站
  • 公司域名更改 网站怎么做提示一直在做竞价的网站是不是不需要做seo
  • 昆明网站制作费用wordpress设置图标
  • wordpress 双语网站电子商务网站开发实训总结
  • 深圳开发网站开发中国建设银行手机银行网站
  • 珠海网站建设王道下拉強福州思企互联网站建设公司怎么样
  • 山东网站建设网络公司html5做手机网站
  • 个性定制网站有哪些wordpress文件上传
  • 做游戏交易网站有哪些宝安沙井海岸城
  • 网站建设及推广衬胶蝶阀付费做网站关键词优化是怎么做的呀
  • 门户网站产品设计方案wordpress 小程序开发
  • 临武网站建设wordpress前台主题切换
  • 江门做公司网站婚纱摄影网站定制
  • 网站建设使用的技术威海住房和城乡建设厅网站首页
  • wap 网站源码三亚做网站哪家好
  • wordpress设置网站背景图片蚌埠的网站建设
  • 东莞市外贸网站建设平台中国会展公司排名前十的公司
  • 企业网站空间买虚拟主机网站建设和
  • 色轮配色网站做网站软件war
  • 网站建设公司douyanet开发一款游戏软件需要多少钱
  • 网页网站建设的ppt深圳龙华区是富人区吗
  • 安阳做网站哪里好商务之家网
  • 淘宝客怎样做网站男女做暖暖视频网站
  • 用手机怎么做免费网站团员登录系统智慧团建