博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ】1975 [Sdoi2010]魔法猪学院(A*)
阅读量:5278 次
发布时间:2019-06-14

本文共 1734 字,大约阅读时间需要 5 分钟。

题目

 

 

分析

k短路,Astar。估价函数是终点向外跑的最短路。

显然不是正解qwq。

 

代码

// By noble_// Astar algorithm// #include 
#include
#include
#include
#include
#include
using namespace std;const int maxn = 10050;double h[maxn];int n,m,s,t;struct Edge{ int u,v; double dis; };struct Node{ int x;double dis,g; bool operator < (const Node& a) const{ return dis>a.dis; }// Node(int xx,double d){x=xx;dis=d;}};priority_queue
que;struct QwQ{ vector
edges; vector
G[maxn]; int vis[maxn]; //传边反着穿 void Addedge(int u,int v,double dis) { edges.push_back((Edge){u,v,dis}); G[u].push_back(edges.size()-1); } void dijkstra() { while(!que.empty()) que.pop(); memset(vis,0,sizeof(vis)); for(int i=0;i<=n;i++) h[i]=1e8; que.push((Node){t,0,0}); h[t]=0; while(!que.empty()) { Node x=que.top(); que.pop(); if(vis[x.x]) continue; // printf("======== %d %f\n",x.x,x.dis); vis[x.x]=1; for(int i=0;i
= h[x.x] + e.dis) { // printf("===== %d -> %d\n",x.x,e.v); h[e.v] = h[x.x] + e.dis; que.push((Node){e.v,h[e.v],0}); } } } // printf("--- %d %d\n",(int)h[1],(int)h[2]); }}qwq;vector
edges;vector
G[maxn];int reach[maxn], k, ans=0;double p, sum=0;void Addedge(int u,int v,double dis) { edges.push_back((Edge){u,v,dis}); G[u].push_back(edges.size()-1);}void Astar() { while(!que.empty()) que.pop();// if(h[s] >= 1e8) return -1; memset(reach,0,sizeof(reach));// priority_queue
que; que.push((Node){s,h[s],0}); while(!que.empty()) { Node x=que.top(); que.pop(); // printf("---- %d %f\n",x.x,x.dis); reach[x.x]++; if(reach[x.x]>k)continue; if(x.x==t) { if(sum+x.g <= p) sum+=x.g,ans++; else break; } for(int i=0;i

 

 

 

转载于:https://www.cnblogs.com/noblex/p/9726597.html

你可能感兴趣的文章
内存泄漏调查
查看>>
jquery获取html元素的绝对位置和相对位置的方法
查看>>
谈谈spring
查看>>
ios中webservice报文的拼接
查看>>
Power BI 报告的评论服务支持移动设备
查看>>
MySQL 5.7社区版安装实践
查看>>
vue-auto-focus: 控制自动聚焦行为的 vue 指令
查看>>
docker入门学习(四) 安装nginx及配置
查看>>
BottomNavigationBarItem fixed
查看>>
[BZOJ1601] [Usaco2008 Oct] 灌水 (kruskal)
查看>>
有人物联网数传终端设备在智慧电力和公共事业中的应用
查看>>
《剑指offer》第三_二题(不修改数组找出重复的数字)
查看>>
windows 核心编程第一章:关于错误
查看>>
20. Spring Boot Servlet【从零开始学Spring Boot】
查看>>
js原型链实现
查看>>
数据结构之链表
查看>>
WPF / Win Form:多线程去修改或访问UI线程数据的方法( winform 跨线程访问UI控件 )...
查看>>
深入探究VC —— 链接器link.exe(4)【转】http://blog.csdn.net/wangningyu/article/details/4849452...
查看>>
HDU 3338 Kakuro Extension
查看>>
1.Two Sum(两数之和)
查看>>