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

上传网站内容网站开发与推广计划书

上传网站内容,网站开发与推广计划书,汽车网站制作,网络运营商哪家好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.yutouwan.com/news/341962/

相关文章:

  • 厦门做返利网站的公司凡科app制作
  • 宠物店网站建设方案head first wordpress
  • 西宁网站建设公司网站精神文件建设专栏
  • 苏州公司网站建设电话武邑县建设局网站
  • 皖icp备 网站建设男女做暖暖的视频试看网站
  • 网站做qq链接代码网页设计作业怎么打包
  • 淘宝网站怎么做的企业怎么做网站推广
  • 常州网站建设哪家好网站利润来源
  • 网站维护外包方案电子商务网站建设与维护 书
  • 美容医疗 网站建设php 网站 教程
  • 58同城网站招聘怎么做中企动力建站怎么样
  • 网站做优化效果怎样机械加工网站大全
  • 做网站的步骤阿里企业邮箱设置
  • 记事本代码做网站获取文章内容 wordpress
  • 网页制作素材免费网站免费建网站的
  • 网站建设预算项目上海韵茵网站建设
  • 建一个网站江阴响应式网站开发
  • 温江建网站wordpress 收费 主题
  • 关于公司建网站wordpress建的大型网站
  • 什么是企业网站pv外贸网站怎样注册
  • 商城做网站好还是淘宝公司如何做网络推广营销
  • 衡水网络推广 衡水网站建设郴州前达网络科技
  • 网站开发 一个页面多少钱外资企业
  • 注册网站有什么风险吗网站连接怎么做
  • 想学网站建设开发英文网站google推广
  • 公司做网站怎么构思浙江汉农建设有限公司网站
  • 网站搭建中114514电商网站 cms
  • 湘潭做网站价格 q磐石网络创办一个网站多少钱
  • 网站的搜索框如何做德国室内设计网app
  • 网站建设seo规范wordpress如何修改代码