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

静态购物网站模版注册城乡规划师哪个网校好

静态购物网站模版,注册城乡规划师哪个网校好,杭州公司注册网上核名,网页链接生成一、题目大意 我们有n个点#xff0c;p条边#xff0c;最小化从1到n之间的路径的第k1大的数#xff08;当路径不超过k时就是0#xff09; 二、解题思路 我们首先用dijkstra过一遍#xff0c;判断从1能不能到n#xff0c;不能直接输出-1结束。 1能到达n的话#xff0…一、题目大意 我们有n个点p条边最小化从1到n之间的路径的第k1大的数当路径不超过k时就是0 二、解题思路 我们首先用dijkstra过一遍判断从1能不能到n不能直接输出-1结束。 1能到达n的话就对二分第k1大的边进行二分left选-1right选最大的边的长度1这里我left一开始选取的时最小边-1后来发现当k比较大时结果可能是0 二分的依据如下 设二分的值为mid 记录从1到n的路径中必走的大于mid的值的数量 如果超过了k那么放大mid 如果小于等于k那么缩小mid同时记录这样不断循环直到找到一个临界值limit 当midlimit时大于mid的边小于等于k个 当midlimit-1时大于mid的边超过k个 那么limit一定就是第k1大的边输出最后一个大于mid的边数小于等于k的mid即可 三、代码 #include iostream #include algorithm #include queue #include vector using namespace std; typedef pairint, int P; vectorP edges[1007]; bool used[1007]; int n, p, k, d[1007], inf 0x3f3f3f3f, maxt 0; void input() {int from, to, cost;scanf(%d%d%d, n, p, k);for (int i 0; i p; i){scanf(%d%d%d, from, to, cost);edges[from - 1].push_back(P(cost, to - 1));edges[to - 1].push_back(P(cost, from - 1));maxt max(cost, maxt);} } bool judgeByDijkstra(int mid) {for (int i 0; i n; i){d[i] inf;used[i] false;}d[0] 0;priority_queueP, vectorP, greaterP que;que.push(P(d[0], 0));while (!que.empty()){P current que.top();que.pop();if (used[current.second] || current.first d[current.second]){continue;}used[current.second] true;for (int i 0; i edges[current.second].size(); i){P toEdge edges[current.second][i];int relativeEdge toEdge.first mid ? 1 : 0;if (d[current.second] relativeEdge d[toEdge.second]){d[toEdge.second] d[current.second] relativeEdge;que.push(P(d[toEdge.second], toEdge.second));}}}return d[n - 1] k; } void binarySearch() {int left -1, right maxt 1;while (left 1 right){int mid (left right) / 2;if (judgeByDijkstra(mid)){right mid;}else{left mid;}}printf(%d\n, right); } bool judgeIfCanGet() {for (int i 0; i n; i){d[i] inf;used[i] false;}d[0] 0;priority_queueP, vectorP, greaterP que;que.push(P(d[0], 0));while (!que.empty()){P current que.top();que.pop();if (used[current.second] || current.first d[current.second]){continue;}used[current.second] true;for (int i 0; i edges[current.second].size(); i){P toEdge edges[current.second][i];if (d[current.second] toEdge.first d[toEdge.second]){d[toEdge.second] d[current.second] toEdge.first;que.push(P(d[toEdge.second], toEdge.second));}}}return d[n - 1] ! inf; } int main() {input();if (!judgeIfCanGet()){printf(-1\n);}else{binarySearch();}return 0; }
http://www.hkea.cn/news/14310178/

相关文章:

  • 做网站建设销售工资怎么破解网站后台密码
  • 怎么样的网站合适做城市代理个人外贸网站
  • 佛山精品网站建设免建网站
  • 建设一个网站的所有代码嘉兴官网
  • 公司做网站找谁做网站的公司外国人学做中国菜的网站
  • 怎么确定电商网站建设的目标广州公司注册代理公司注册服务
  • 网页上做ppt的网站工业设计网站有那些
  • 下载资料免费网站湘潭做网站价格咨询磐石网络
  • 自己架设网站服务器音乐设计网站推荐
  • 网站怎样自己做推广wordpress修改成中文
  • 乐清高端网站建设网站备案周期
  • 哪里有个人卖房网站文老师网络规划设计师
  • 中国嘉兴门户网站做网站东莞
  • 莆田做网站价格长沙网上购物超市
  • 番禺网站建设策划网页界面设计作品
  • 网站建设合同英文河南省住房和城乡建设厅查询网站首页
  • 给企业做网站收入做企业网站哪家强
  • 网站代码加密了怎么做wordpress文章 页面
  • 网站切图是指什么美食网站 怎么做
  • 温州营销型网站建设采集更新wordpress
  • 网站域名注册基本流程wordpress 文章导航
  • 景区网站建设原则WordPress页面添加最新文章
  • 网站建设 全网推广android 移动网站开发
  • 网站建设最新新闻免费签名logo设计
  • 给蛋糕店做企业网站的文案视频网站如何做引流
  • 网站整站模板下载WordPress配置头像路径
  • 企业网站建设一条龙全包台州新农村建设网站
  • 广州seo网站管理360免费建站教程
  • dede修改网站密码网站开发的意义和目的
  • 网站建设捌金手指下拉三微信开发有哪两种