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

搜索引擎网站扬州做网站的科技公司

搜索引擎网站,扬州做网站的科技公司,个人开发app最简单方法,青海网站建设策划正题 题目链接:https://www.luogu.com.cn/problem/P4083 题目大意 开始时AAA和BBB各有两个礼物#xff0c;每个礼物对两个人有不同的价值#xff0c;开始时AAA会送BBB一个礼物。 对于一个收到礼物的人#xff0c;如果该礼物对他来说价值为valvalval#xff0c;那么他会回…正题 题目链接:https://www.luogu.com.cn/problem/P4083 题目大意 开始时AAA和BBB各有两个礼物每个礼物对两个人有不同的价值开始时AAA会送BBB一个礼物。 对于一个收到礼物的人如果该礼物对他来说价值为valvalval那么他会回送一个对于他来说[val,vald][val,vald][val,vald]这个范围内的礼物。 直到某个人收到价值为000的礼物就停止求对于AAA开始送的每个礼物最少要互送多少个礼物才能停止 解题思路 我们可以发现其实就是每次对于一个区间内连边然后求最短路。 我们对于AAA和BBB各自开一棵线段树然后优化一下连边从价值为000的礼物开始跑之后直接输出每个礼物的最短路即可 codecodecode #includecstdio #includecstring #includealgorithm #includequeue #includevector using namespace std; const int N1e5*20; struct node{int to,next,w; }a[N*2]; struct gnode{int x,y,w,id; }g[N],b[N]; int n,d,num,tot,cnt,rt0,rt1; int ls[N],in[N],f[N],w[N]; int lson[N],rson[N],v1[N],v2[N]; bool vis[N]; queueint q; void addl(int x,int y,int w){a[tot].tox;a[tot].nextls[y];a[tot].ww;ls[y]tot; } void Build(int x,int l,int r,int z){xnum;if(lr){if(z)addl(x,g[l].id,0);else addl(x,b[l].id,0);return;}int mid(lr)1;Build(lson[x],l,mid,z);Build(rson[x],mid1,r,z);addl(x,lson[x],0);addl(x,rson[x],0);return; } void Change(int x,int L,int R,int l,int r,int pos){if(lr)return;if(LlRr){addl(pos,x,1);return;}int mid(LR)1;if(rmid)Change(lson[x],L,mid,l,r,pos);else if(lmid)Change(rson[x],mid1,R,l,r,pos);else Change(lson[x],L,mid,l,mid,pos),Change(rson[x],mid1,R,mid1,r,pos);return; } void SPFA(){while(!q.empty()){int xq.front();q.pop();for(int ils[x];i;ia[i].next){int ya[i].to;if(f[x]a[i].wf[y]){f[y]f[x]a[i].w;if(!vis[y]){q.push(y);vis[y]1;}}}vis[x]0;} } bool cmp1(gnode x,gnode y) {return x.xy.x;} bool cmp2(gnode x,gnode y) {return x.yy.y;} int main() {scanf(%d%d,n,d);for(int i1;in;i)scanf(%d%d,b[i].x,b[i].y),b[i].idi;for(int i1;in;i)scanf(%d%d,g[i].x,g[i].y),g[i].idin;sort(b1,b1n,cmp1);sort(g1,g1n,cmp2);numn*2;Build(rt0,1,n,0);Build(rt1,1,n,1);for(int i1;in;i)v1[i]b[i].x;for(int i1;in;i)v2[i]g[i].y;sort(b1,b1n,cmp2);sort(g1,g1n,cmp1);int link1;memset(f,0x3f,sizeof(f));for(int i1;in;i){int llower_bound(v21,v21n,b[i].y)-v2;int rupper_bound(v21,v21n,b[i].yd)-v2-1;Change(rt1,1,n,l,r,b[i].id);if(!b[i].y)q.push(b[i].id),f[b[i].id]0,vis[b[i].id]1;}for(int i1;in;i){int llower_bound(v11,v11n,g[i].x)-v1;int rupper_bound(v11,v11n,g[i].xd)-v1-1;Change(rt0,1,n,l,r,g[i].id);if(!g[i].x)q.push(g[i].id),f[g[i].id]0,vis[g[i].id]1;}SPFA();for(int i1;in;i){if(f[i]2147483647/3)printf(-1\n);else printf(%d\n,f[i]1);} }
http://www.zqtcl.cn/news/794477/

相关文章:

  • 如何用html制作网站app开发要多少钱
  • 中国搜索提交网站信息网络犯罪
  • 网站服务器做下载链接分销平台系统源码
  • 网站管理助手建站沈阳专业网站建设企业
  • 企业网站开发公司大全建筑工程培训
  • 免费网站开发模板云南省网站开发软件
  • dede小游戏php网站源码广州网站vi设计报价
  • 邯郸建设局网站资质申报wordpress 前端 插件
  • 关于asp_sql网站开发的书籍小程序跳转网页方法
  • 昆明网站开发公司电话建设手机银行的网站
  • 福州建设注册中心网站怎么做公司展示网站
  • 网络营销网站建设知识平面设计初中毕业能学吗
  • 2019销售网站开发与设计现状怎么在网上卖东西赚钱
  • 做网站前后端的发布流程如何管理wordpress网站模板下载
  • 网站历史频道怎么做网站修改标题有影响吗
  • 做自己的卡盟网站做技术一般逛那些网站
  • 网站建设自学多长时间做网站原型的软件
  • 营销型的物流网站模板北京楼市最新消息
  • 宁波模版建站公司湘潭建设网站公司
  • 世界十大网站排名出炉最新军事新闻最新消息视频
  • 医疗电子的网站建设城市建设管理
  • win10建站wordpress商城网站结算页面怎么做
  • 电商网站模板引擎惠阳做网站公司
  • 如何在百度做网站推广中企动力企业邮箱手机邮箱
  • extjs做的网站开发公司宣传语
  • 长安做外贸网站关于阅读类网站的建设规划书
  • php网站建设思路方案阿里巴巴如何建设网站
  • 网站做什么推广好网站域名注册步骤
  • 官方建网站有哪些步骤国内成熟的crm系统
  • 建设银行深圳天健世纪支行网站电子商务网站建设员