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

乐东黎族自治县网站建设_网站建设公司_Banner设计_seo优化

网站制作小常识,中国住房和城乡建设网,做搜狗pc网站软件下载,wordpress推介传送门 题意#xff1a;给定一个nnn个点的树#xff0c;定义一个“盘子”为一个给定权值的路径#xff0c;一个“水果”为一条路径#xff0c;一个盘子可以接到水果当且仅当盘子的路径是水果的子路径。给出所有盘子和水果#xff0c;对于每个水果求可以接它的盘子中第kik…传送门 题意给定一个nnn个点的树定义一个“盘子”为一个给定权值的路径一个“水果”为一条路径一个盘子可以接到水果当且仅当盘子的路径是水果的子路径。给出所有盘子和水果对于每个水果求可以接它的盘子中第kik_iki​小的权值。 n≤4×105n\leq 4\times10^5n≤4×105 显然这种奇奇怪怪的第kkk小考虑整体二分 给盘子按权值排序对于一个盘子和水果的区间要计算出每个水果可以被区间内多少个盘子接住。 根据惯用套路把一条路径抽象成按 DFS 为坐标的点一个盘子可以接的是一个或两个矩形中的水果。 无脑扫描线即可。因为是区间修改单点查询可以差分后树状数组。 复杂度O(能过)O(能过)O(能过) #include iostream #include cstdio #include cstring #include cctype #include algorithm #define MAXN 100005 #define MAXM 200005 using namespace std; inline int read() {int ans0;char cgetchar();while (!isdigit(c)) cgetchar();while (isdigit(c)) ans(ans3)(ans1)(c^48),cgetchar();return ans; } struct edge{int u,v;}e[MAXM]; int head[MAXN],nxt[MAXM],cnt; void addnode(int u,int v) {e[cnt](edge){u,v};nxt[cnt]head[u];head[u]cnt; } int dfn[MAXN],ed[MAXN],dep[MAXN],fa[MAXN][16],tim; void dfs(int u) {for (int i1;i16;i) fa[u][i]fa[fa[u][i-1]][i-1];dfn[u]tim;for (int ihead[u];i;inxt[i])if (!dfn[e[i].v])dep[e[i].v]dep[u]1,fa[e[i].v][0]u,dfs(e[i].v);ed[u]tim; } int n,p,q; int ans[MAXN]; struct Pan{int a,b,c;}pan[MAXN]; struct fruit{int u,v,k,id;}fru[MAXN],L[MAXN],R[MAXN]; inline bool operator (const Pan x,const Pan y){return x.cy.c;} struct node{int type,x,l,r,id;}lis[MAXM]; //trangle: -1,x,yl,yr //point: 0,x,y,k inline bool operator (const node a,const node b) {if (a.xb.x) return (unsigned)a.type(unsigned)b.type;return a.xb.x; } struct BIT {int s[MAXN];inline int lowbit(const int x){return x-x;}inline void modify(int x,int v){for (;xn;s[x]v,xlowbit(x));}inline int query(int x,int ans0){for (;x;anss[x],x-lowbit(x));return ans;} }bit; void solve(int l,int r,int vl,int vr) {if (lr||vlvr) return;if (vlvr){for (int il;ir;i) ans[fru[i].id]pan[vl].c;return;}int vmid(vlvr)1;int tot0;for (int ivl;ivmid;i){int upan[i].a,vpan[i].b;if (dfn[v]ed[u]){int tdep[v]-dep[u]-1;uv;for (int i0;(1i)t;i) if (t(1i)) ufa[u][i];lis[tot](node){1,1,dfn[v],ed[v],0};lis[tot](node){-1,dfn[u],dfn[v],ed[v],0};lis[tot](node){1,dfn[v],ed[u]1,n,0};lis[tot](node){-1,ed[v]1,ed[u]1,n,0};}else{lis[tot](node){1,dfn[u],dfn[v],ed[v],0};lis[tot](node){-1,ed[u]1,dfn[v],ed[v],0};}}for (int il;ir;i) lis[tot](node){0,dfn[fru[i].u],dfn[fru[i].v],fru[i].k,i};sort(lis1,listot1);int lcnt0,rcnt0;for (int i1;itot;i){if (lis[i].type) bit.modify(lis[i].l,lis[i].type),bit.modify(lis[i].r1,-lis[i].type);else{int kbit.query(lis[i].l);if (lis[i].rk) L[lcnt]fru[lis[i].id];else fru[lis[i].id].k-k,R[rcnt]fru[lis[i].id];}}for (int il;illcnt-1;i) fru[i]L[i-l1];for (int illcnt;ir;i) fru[i]R[i-l-lcnt1];solve(l,llcnt-1,vl,vmid);solve(llcnt,r,vmid1,vr); } int main() {nread(),pread(),qread();for (int i1;in;i){int u,v;uread(),vread();addnode(u,v),addnode(v,u);}dep[1]1,dfs(1);for (int i1;ip;i) {pan[i].aread(),pan[i].bread(),pan[i].cread();if (dfn[pan[i].a]dfn[pan[i].b]) swap(pan[i].a,pan[i].b);}sort(pan1,panp1);for (int i1;iq;i){fru[i].uread(),fru[i].vread(),fru[i].kread(),fru[i].idi;if (dfn[fru[i].u]dfn[fru[i].v]) swap(fru[i].u,fru[i].v);}solve(1,q,1,p);for (int i1;iq;i) printf(%d\n,ans[i]);return 0; }
http://www.ihoyoo.com/news/29070.html

相关文章:

  • 东莞网站制作哪里找tp框架可以做网站吗
  • 文字游戏做的最好的网站衡阳网站设计
  • 深圳网站建设资讯用外服务器做网站
  • 网站建设 竞标公司要求食品厂招男女工5000
  • 网站关键词排名突然没了网站推广怎么做优化
  • 领优惠券的网站是怎么做的如何赋予网站建设以生命力
  • 公司网站制作流程微信网站开发有中院管辖呢
  • 涉县专业做网站wordpress get user
  • 天津做网站多少钱上海网站营销公司
  • 昆明做网站建设怎么样网站源码下载平台源码
  • 做网站需要了解什么软件口碑营销是什么
  • 案列网站wordpress取回密码收不到邮件
  • 资料代做网站郑州石凡平面设计有限公司
  • seo网站优化推广怎么样ckeditor导入wordpress
  • 郑州网站建设多少钱wordpress 微信咨询代码
  • 青岛网站建设王道下拉強网站你懂我意思正能量晚上不用下载直接进入
  • 西安企业网站设计哪家专业网站建设小组实训总结
  • 东莞网站优化推广方案深圳优秀网站建设
  • 大朗镇仿做网站微网站推广
  • 阿里云域名注册好后怎么建设网站网站权重如何做
  • 微信微博网站建设网站首页关键如何优化
  • 常州网站关键字优化网站怎么申请
  • 用js做网站seo排名技术软件
  • 黄石网站建设推荐莱芜在线论坛视频
  • 汕头公司做网站接单网站开发
  • 做心理咨询的网站wordpress 更换空间
  • 宁波seo怎么做引流推广网站推广和优化系统
  • 黑红网站模板如何自己做一个网页
  • 如何降低网站相似度推广seo公司
  • 快速搭建网站软件软件工程排名