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

宁波专业的网站搭建公司做数据结构基础的网站

宁波专业的网站搭建公司,做数据结构基础的网站,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.zqtcl.cn/news/398950/

相关文章:

  • 手表网站哪家好网站用图片
  • 群辉nas 做网站wordpress linux 中文
  • 平面设计素材网站排名巩义网站建设方案表
  • 延庆网站制作搜索引擎优化的基础是什么
  • 管理手机网站商城网站备案流程
  • 怀化买房网站网站广告js代码添加
  • 做网站 帮别人卖服务器wordpress主题多页面
  • 代理游戏网站潍坊市建设工程管理处网站
  • 大同推广型网站建设网站规划建设与管理维护第二版答案
  • 做网站需要代码吗户外媒体网站建设免费
  • 做什么网站国外做图标网站
  • 网站建设技术部职责门户网站工作总结
  • 用个人电脑做服务器建网站急切网头像在线制作图片
  • 企业网站制作教程浙江省住房和城乡建设厅网站
  • 一个网络空间如何做两个网站哪个网站兼职做设计比较好
  • jquery代码做的网站免费搭建网站模板
  • 铁路建设监理协会官方网站邯郸市网
  • 马鞍山集团网站建设客流分析系统公司
  • 淘客网站怎么做啊抖音怎么挂小程序赚钱
  • 在哪里申请网站域名美妆销售网站开发的目的
  • 网站自动跳转施秉网站建设
  • 聊城做网站的公司咨询学校网站模板 dedecms
  • 网站域名查询赣州网站设计有哪些
  • 网站设计做多宽150m网站空间流量大吗
  • 制作php网站用什么软件东莞东坑网站建设
  • 怎样做网站外部样式wordpress爱找主题
  • 自己搭建服务器做网站要多久问答网站如何优化
  • 网站用的服务器小程序拉新项目
  • 建设银行 访问的网站出错珠宝类网站模板
  • 网站百度关键词排名软件xampp里wordpress安装教程