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

小说网站开发教程江西最新消息

小说网站开发教程,江西最新消息,制作网站难不难,wordpress询价功能正题 题目链接:https://www.luogu.org/problemnew/show/P1600 题目大意 一棵nnn个点的树#xff0c;通过每条边需要时间为1。有mmm个玩家从SiS_iSi​跑到TiT_iTi​#xff08;不停留#xff0c;跑完之后马上消失#xff09;。然后对于第iii个点求第wiw_iwi​刻停留在改点…正题 题目链接:https://www.luogu.org/problemnew/show/P1600 题目大意 一棵nnn个点的树通过每条边需要时间为1。有mmm个玩家从SiS_iSi​跑到TiT_iTi​不停留跑完之后马上消失。然后对于第iii个点求第wiw_iwi​刻停留在改点的玩家数量。 解题思路 对于每条路径我们拆分成两段算是树上差分的一个变形 自S−gt;lcaS-gt;lcaS−lca然后当该路径上一个点满足depiwidepSdep_iw_idep_Sdepi​wi​depS​则经过改点。 对于这种情况我们用cnticnt_icnti​表示起点为iii的人个数VsiVs_iVsi​表示lcalcalca在iii点的路径的起点深度集合。然后用vupivup_ivupi​表示目前depSidep_SidepS​i的路径个数自lca−gt;Elca-gt;Elca−E然后当改点上一个点满足depi−wi2∗deplca−depsdep_i-w_i2*dep_{lca}-dep_sdepi​−wi​2∗deplca​−deps​则经过改点。 为了方便陈述我们定义num2∗deplca−depsnum2*dep_{lca}-dep_snum2∗deplca​−deps​ 对于这种情况我们用cnt2icnt2_icnt2i​表示终点为iii的路径numnumnum集合VtiVt_iVti​表示lcalcalca在iii点的路径的numnumnum集合。然后用vdownivdown_ivdowni​表示目前numinuminumi的路径个数 然后就完成了不过要注意depi−widep_i-w_idepi​−wi​可能为负数所以我们需要加上一个大整数NNN。(PascalPascalPascal就莫得问题了) codecodecode #includecstdio #includealgorithm #includequeue #includecmath #includevector using namespace std; const int N310000; struct line{int to,next; }a[N*5]; int tot,n,m,ls[N],dep[N],f[N][30]; int vup[4*N],vdown[4*N],cnt[N],T,ans[N],w[N]; vectorint Vs[N],Vt[N],cnt2[N]; queueint q; inline int read() {int X0,w0; char c0;while(c0||c9) {w|c-;cgetchar();}while(c0c9) X(X3)(X1)(c^48),cgetchar();return w?-X:X; } inline void addl(int x,int y) {a[tot].toy;a[tot].nextls[x];ls[x]tot; } inline void bfs(int s) {q.push(s);dep[s]1;while(!q.empty()){int xq.front();q.pop();for (int ils[x];i;ia[i].next){int ya[i].to;if (dep[y]) continue;q.push(y);f[y][0]x;dep[y]dep[x]1;}}T(int)(log(n)/log(2))1;for (int j1;jT;j)for (int i1;in;i)f[i][j]f[f[i][j-1]][j-1]; } inline int LCA(int x,int y) {if (dep[x]dep[y]) swap(x,y);for (int iT;i0;i--)if (dep[f[y][i]]dep[x]) yf[y][i];if (xy) return x;for (int iT;i0;i--)if (f[y][i]!f[x][i]) {xf[x][i];yf[y][i];}return f[x][0]; } void dfs(int x,int fa) {int nupdep[x]w[x]N,ndowndep[x]-w[x]N;int lastvup[nup]vdown[ndown];vup[dep[x]N]cnt[x];for(int i0;icnt2[x].size();i)vdown[cnt2[x][i]N];for(int i0;iVs[x].size();i)vup[Vs[x][i]N]--;for(int i0;iVt[x].size();i)vdown[Vt[x][i]N]--;for(int ils[x];i;ia[i].next){int ya[i].to;if(yfa) continue;dfs(y,x);}ans[x]vup[dep[x]w[x]N]vdown[dep[x]-w[x]N]-last; } int main() {nread();mread();for(int i1;in;i){int x,y;xread();yread();addl(x,y);addl(y,x);}for(int i1;in;i)w[i]read();bfs(1);for(int i1;im;i){int s,t;sread();tread();int lcaLCA(s,t);cnt[s];Vs[f[lca][0]].push_back(dep[s]);cnt2[t].push_back(2*dep[lca]-dep[s]);Vt[lca].push_back(2*dep[lca]-dep[s]);}dfs(1,1);for(int i1;in;i)printf(%d ,ans[i]); }
http://www.yutouwan.com/news/126949/

相关文章:

  • 松岗网站开发网站优化排名价格
  • 百度怎么把自己网站展现在百度注册功能网站建设
  • 做网站好公司哈尔滨网络优化公司
  • 下载官方网站app餐馆网站怎么做的
  • 网站建设中怎么编辑图片软件开发费用一览表
  • 手机网站定制 杭州为什么网站后台google登陆不了 firefox可以
  • 网站开发调研问卷织梦做单页面网站
  • 农产品网站建设案例公司网站设计要求
  • 学做网站从什么开始网站群建设系统
  • 建设商业网站网站二次开发多少钱
  • 神华科技 网站建设wordpress无法更换主题
  • 网站pc和手机端开发 app
  • 深圳手机网站建设服务wordpress磁力插件
  • 上海建网站哪家好专门做问卷的调查的网站
  • 河北石家庄建设网站如何制作投票小程序
  • 做网络销售怎么建立网站django企业网站源码
  • 手机网站建设方案doc国内四大高端建站公司
  • 赣州网站建设顺企网南京网站外包
  • 网站的登录弹窗怎么做淘宝的好券网站怎么做
  • 网站设计与开发未来发展方向wordpress网站类型
  • 建设一个网站的具体步骤做亳州旅游网站的目的
  • 以营销导向型建设网站方案站内推广的方法
  • 一键开启网站北京有哪些不错的互联网公司
  • 利用论坛推广网站优质做网站费用
  • 搭建网站需要注意什么网站策划与建设阶段
  • 建设网站的企业乱码链接怎么用
  • 坪地网站建设包括哪些软件开发模型名词解释
  • 二手交易网站建设方案ppt辽宁建设工程信息网场内业绩什么意思
  • 微信网站开发服务网络系统分类
  • 专做土特产的网站广告公司企业简介