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

银川市网站建设_网站建设公司_后端开发_seo优化

贺兰县住房和城乡建设局网站,无锡百度,个人如何开发手机app,企业网站源码 企业网站管理系统I - Robots 显然可以两点之间能连边就连边#xff0c;但是边数会很多#xff0c;考虑优化 对于三个点(x0,y0)(x_0,y_0)(x0​,y0​)#xff0c;(x0,y1)(x_0,y_1)(x0​,y1​)#xff0c;(x0,y2)(x_0,y_2)(x0​,y2​) 如果三个点的方向都是UUU 那么没有必要1→31\to 31→3连…I - Robots 显然可以两点之间能连边就连边但是边数会很多考虑优化 对于三个点(x0,y0)(x_0,y_0)(x0​,y0​)(x0,y1)(x_0,y_1)(x0​,y1​)(x0,y2)(x_0,y_2)(x0​,y2​) 如果三个点的方向都是UUU 那么没有必要1→31\to 31→3连边只需要让222作为中转站连边即1→2→31\to 2\to 31→2→3连边即可。 这样边数就是线性的。 upd向上面建图不难发现每个点只会和启动它的点连一条边因此边数是O(n)O(n)O(n)量级的 #includebits/stdc.h using namespace std; constexpr int N100010; struct node {int x,y;char d; }a[N]; int b[2*N],n,m; vectorpairint,int gx[2*N]; vectorpairint,int gy[2*N]; long long d[N]; long long T; bool vis[N]; void dijkstra() {priority_queuepairlong long,int,vectorpairlong long,int,greaterpairlong long,intq;memset(d,0x3f,sizeof d);q.push({0,1});d[1]0;while(q.size()){int uq.top().second; q.pop();if(vis[u]) continue;vis[u]1;if(a[u].dU){vectorpairint,int ::iterator itlower_bound(gx[a[u].x].begin(),gx[a[u].x].end(),(pairint,int){a[u].y,u});it;while(it!gx[a[u].x].end()){int vit-second;if(d[v]d[u]b[a[v].y]-b[a[u].y]){d[v]d[u]b[a[v].y]-b[a[u].y];q.push({d[v],v});}if(a[v].dU) break;it;}}if(a[u].dD){vectorpairint,int ::iterator itlower_bound(gx[a[u].x].begin(),gx[a[u].x].end(),(pairint,int){a[u].y,u});if(itgx[a[u].x].begin()) continue;--it;while(1){int vit-second;if(d[v]d[u]-b[a[v].y]b[a[u].y]){d[v]d[u]-b[a[v].y]b[a[u].y];q.push({d[v],v});}if(a[v].dD) break;if(itgx[a[u].x].begin()) break;it--;}}if(a[u].dR){vectorpairint,int ::iterator itlower_bound(gy[a[u].y].begin(),gy[a[u].y].end(),(pairint,int){a[u].x,u});it;while(it!gy[a[u].y].end()){int vit-second;if(d[v]d[u]b[a[v].x]-b[a[u].x]){d[v]d[u]b[a[v].x]-b[a[u].x];q.push({d[v],v});}if(a[v].dR) break;it;}}if(a[u].dL){vectorpairint,int ::iterator itlower_bound(gy[a[u].y].begin(),gy[a[u].y].end(),(pairint,int){a[u].x,u});if(itgy[a[u].y].begin()) continue;--it;while(1){int vit-second;if(d[v]d[u]-b[a[v].x]b[a[u].x]){d[v]d[u]-b[a[v].x]b[a[u].x];q.push({d[v],v});}if(a[v].dL) break;if(itgy[a[u].y].begin()) break;it--;}}} } int main() {cinnT;for(int i1;in;i){int x,y;char d;cinxyd;a[i]{x,y,d};b[m]x;b[m]y;}sort(b1,b1m);munique(b1,b1m)-b-1;for(int i1;in;i){a[i].xlower_bound(b1,b1m,a[i].x)-b;a[i].ylower_bound(b1,b1m,a[i].y)-b;}for(int i1;in;i){gx[a[i].x].push_back({a[i].y,i});gy[a[i].y].push_back({a[i].x,i});}for(int i1;im;i) {sort(gx[i].begin(),gx[i].end());sort(gy[i].begin(),gy[i].end());}dijkstra();for(int i1;in;i){if(d[i]0x3f3f3f3f3f3f3f3f||Td[i])coutb[a[i].x] b[a[i].y]\n;else{long long xb[a[i].x],yb[a[i].y];if(a[i].dU) yT-d[i];if(a[i].dD) y-T-d[i];if(a[i].dR) xT-d[i];if(a[i].dL) x-T-d[i];coutx y\n;}}return 0; }想到做法了但是以为可能还有数据能把边卡到2次方就帮队友调题去了~~非常可惜
http://www.ihoyoo.com/news/114878.html

相关文章:

  • 网站建设与制作区别青岛网站建设方案服务
  • 公司网站怎么管理砀山做网站
  • 做一个商务平台网站的费用做翻译网站 知乎
  • 衡阳市住房和城乡建设部网站龙华区城市建设局网站
  • 怎么套用网站模板wordpress dux 1.5 邮件
  • 网站建设东北抖音直播公会开放平台
  • 如何做企业网站优化多少钱算受贿
  • 深圳建设注册中心网站网站首页html
  • 牙科网站开发网站设置桌面快捷方式
  • 网站关键字选择标准mvc网站建设设计报告
  • 做的网站wordpress文章内容编辑器
  • 谢岗镇做网站网络营销推广案例
  • 免费建站哪家好邢台移动网络优化是哪家公司
  • 服务器怎么添加网站友好速搭 WordPress
  • 大连建站程序遵义县公司网站建设
  • 电子商务网站后台核心管理深圳网站建设seo
  • 如何申请网站域名流程网站域名备案密码
  • 网站建设扌金手指六六北京市政建设集团有限公司
  • 网站用户体验优化方案登录手机网站模板html
  • 网站建设实训意见和建议seo点击排名软件哪里好
  • 免费自助建站网页类界面图片
  • 在北京做家教的网站商城开发网站开发
  • 网站制作的市场前景建网站的免费空间
  • 商标做网站logo网站建设与网站设计
  • 建个营销型网站多少钱网站建设开发报告论文
  • 网站定制型和营销型汕头澄海
  • 长春市做网站的公司免费网站制作在线
  • 网页设计与网站制作知识框架建站教程
  • 英国男女做那个视频网站wordpress 获取登录cookie
  • 直播网站开发多少钱代码外包平台