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

河北邯郸seo网站建设网站优化常用的网络营销工具有哪些

河北邯郸seo网站建设网站优化,常用的网络营销工具有哪些,成都自助建站软件,徐州seo外包A1003 Emergency 这题只要用到Dijkstra的模版即可 开辟数组w[maxn]记录到该点的最大权值 开辟数组num[maxn]记录到该点的最短路径条数&#xff08;注意不要放错位置&#xff09; if(G[u][v]!INF&&vis[v]false){if(d[u]G[u][v]<d[v]){d[v]d[u]G[u][v];w[v]w[u]weight…

A1003 Emergency

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这题只要用到Dijkstra的模版即可
开辟数组w[maxn]记录到该点的最大权值
开辟数组num[maxn]记录到该点的最短路径条数(注意不要放错位置)

            if(G[u][v]!=INF&&vis[v]==false){if(d[u]+G[u][v]<d[v]){d[v]=d[u]+G[u][v];w[v]=w[u]+weight[v];num[v]=num[u];}else if(d[u]+G[u][v]==d[v]){if(w[u]+weight[v]>w[v]){w[v]=w[u]+weight[v];}num[v]=num[v]+num[u];}}

完整代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=505;
const int INF=100000;
int n,m,c1,c2;int G[maxn][maxn];
int vis[maxn]={false};
int w[maxn];
int weight[maxn];
int num[maxn];//表示起点s到达顶点u的最短路径条数
int d[maxn];void Dijkstra(int s)
{fill(d,d+maxn,INF);fill(w,w+maxn,0);fill(num,num+maxn,0);d[s]=0;num[s]=1;w[s]=weight[s];for(int i=0;i<n;i++){int u=-1,min=INF;for(int j=0;j<n;j++){if(d[j]<min&&vis[j]==false){u=j;min=d[j];}}if(u==-1) return;vis[u]=true;for(int v=0;v<n;v++){if(G[u][v]!=INF&&vis[v]==false){if(d[u]+G[u][v]<d[v]){d[v]=d[u]+G[u][v];w[v]=w[u]+weight[v];num[v]=num[u];}else if(d[u]+G[u][v]==d[v]){if(w[u]+weight[v]>w[v]){w[v]=w[u]+weight[v];}num[v]=num[v]+num[u];}}}}}
int main()
{fill(G[0],G[0]+maxn*maxn,INF);scanf("%d%d%d%d",&n,&m,&c1,&c2);for(int i=0;i<n;i++){scanf("%d",&weight[i]);}for(int i=0;i<m;i++){int t1,t2;scanf("%d%d",&t1,&t2);scanf("%d",&G[t1][t2]);G[t2][t1]=G[t1][t2];}Dijkstra(c1);printf("%d %d",num[c2],w[c2]);}

A1018 Public Bike Management

这题的“第二标尺”相比上一题而言复杂了许多,因此使用的是Dijkstra+DFS的做法

#include<bits/stdc++.h>
using namespace std;
const int maxn=505;
const int INF=100000;int G[maxn][maxn];
int d[maxn];
bool vis[maxn]={false};
int Cmax,N,Sp,M;
int weight[maxn];vector<int> pre[maxn];
int minNeed=INF,minRemain=INF;
vector<int> tempPath,path;
void Dijkstra(int s)
{fill(d,d+maxn,INF);d[s]=0;for(int i=0;i<=N;i++){int u=-1,MIN=INF;for(int j=0;j<=N;j++){if(vis[j]==false&&d[j]<MIN){MIN=d[j];u=j;}}if(u==-1) return;vis[u]=true;for(int v=0;v<=N;v++){if(vis[v]==false&&G[u][v]!=INF){if(d[v]>d[u]+G[u][v]){d[v]=d[u]+G[u][v];pre[v].clear();pre[v].push_back(u);}else if(d[v]==d[u]+G[u][v]){pre[v].push_back(u);                   }}}}
}void DFS(int v)
{if(v==0) //如果递归到起点{tempPath.push_back(v);int need=0,remain=0; //计算这条路径的need和remainfor(int i=tempPath.size()-1;i>=0;i--){int id=tempPath[i];if(weight[id]>0){remain+=weight[id];}else{if(remain>=abs(weight[id])){remain-=abs(weight[id]);}else{need+=abs(weight[id])-remain;remain=0;}}}if(need<minNeed) //如果发现这条路径的need或者remain更优,那么更新路径 path=tempPath{minNeed=need;minRemain=remain;path=tempPath;}else if(need==minNeed&&remain<minRemain){minRemain=remain;path=tempPath;}tempPath.pop_back(); //起点处理完毕,pop,returnreturn;}tempPath.push_back(v); //对pre进行深搜for(int i=0;i<pre[v].size();i++){DFS(pre[v][i]);}tempPath.pop_back();}int main()
{fill(G[0],G[0]+maxn*maxn,INF);scanf("%d%d%d%d",&Cmax,&N,&Sp,&M);for(int i=1;i<=N;i++){scanf("%d",&weight[i]);weight[i]=weight[i]-Cmax/2;}for(int i=0;i<M;i++){int t1,t2;scanf("%d%d",&t1,&t2);scanf("%d",&G[t1][t2]);G[t2][t1]=G[t1][t2];}Dijkstra(0);DFS(Sp);printf("%d ",minNeed);for(int i=path.size()-1;i>=0;i--){printf("%d",path[i]);if(i>0) printf("->");}printf(" %d",minRemain);return 0;
}

A1087 All Roads Lead to Rome

Dijkstra+DFS的终极模版,同时熟练了map的使用

#include<bits/stdc++.h>
using namespace std;
const int maxn=400;
const int INF=10000000;
int n,k;
string start;//起点城市
map<string,int> city2index;
map<int,string> index2city;
int numCity=1;
int weight[maxn];
int G[maxn][maxn];
int d[maxn];
int numPath=0;
int maxWeight=-INF;
double avgMaxWeight=-INF;
bool vis[maxn];
vector<int> pre[maxn];
vector<int> tempPath,path;void c2i(string city)
{city2index[city]=numCity;index2city[numCity]=city;numCity++;
}void Dijkstra(int s)
{fill(vis,vis+maxn,false);fill(d,d+maxn,INF);d[s]=0;for(int i=0;i<n;i++){int u=-1,MIN=INF;for(int j=0;j<n;j++){if(vis[j]==false&&d[j]<MIN){MIN=d[j];u=j;}}if(u==-1) return;vis[u]=true;for(int v=0;v<n;v++){if(vis[v]==false&&G[u][v]!=INF){if(d[v]>d[u]+G[u][v]){d[v]=d[u]+G[u][v];pre[v].clear();pre[v].push_back(u);}else if(d[v]==d[u]+G[u][v]){pre[v].push_back(u);}}}}}void DFS(int v)
{if(v==0){tempPath.push_back(v);numPath++;int lengthPath=0; //记录路上有几个城市int tempWeight=0;double avgWeight=0;for(int i=tempPath.size()-2;i>=0;i--){int id=tempPath[i];tempWeight+=weight[id];}lengthPath=tempPath.size()-1;avgWeight=1.0*tempWeight/lengthPath;if(tempWeight>maxWeight){maxWeight=tempWeight;avgMaxWeight=avgWeight;path=tempPath;}else if(tempWeight==maxWeight){if(avgWeight>avgMaxWeight){avgMaxWeight=avgWeight;path=tempPath;}}tempPath.pop_back();return;}tempPath.push_back(v);for(int i=0;i<pre[v].size();i++){DFS(pre[v][i]);}tempPath.pop_back();}int main()
{fill(G[0],G[0]+maxn*maxn,INF);scanf("%d%d",&n,&k);cin>>start;city2index[start]=0;index2city[0]=start;for(int i=1;i<=n-1;i++){string city;int w;cin>>city>>w;c2i(city);weight[city2index[city]]=w;}for(int i=0;i<k;i++){string c1,c2;cin>>c1>>c2;scanf("%d",&G[city2index[c1]][city2index[c2]]);G[city2index[c2]][city2index[c1]]=G[city2index[c1]][city2index[c2]];}Dijkstra(0);int ed=city2index["ROM"];DFS(ed);printf("%d %d %d %.0f\n",numPath,d[ed],maxWeight,avgMaxWeight);for(int i=path.size()-1;i>=0;i--){cout<<index2city[path[i]];if(i!=0) printf("->");}return 0;}
http://www.lbrq.cn/news/2651491.html

相关文章:

  • 营销网站建设的规则个人怎么做网站
  • 网站建设pc移动appseo推广网址
  • 114黄页网推广冯耀宗seo教程
  • 河南 网站建设百度搜索风云榜小说
  • 四川建设厅网站 蒋app代理推广平台
  • 行业网站建设教程软文推广渠道主要有
  • 昆明网站建设一条龙服务交换友情链接的渠道有哪些
  • 三站合一网站建设有域名和服务器怎么建网站
  • wordpress建站教程阿里云seo薪资
  • 开家给别人做网站公司搜索引擎优化自然排名的优点
  • 自己如何做网站优化外贸网站建设设计方案
  • 深圳沙井公司网站建设sem和seo是什么意思
  • 做网站有必要注册商标吗今日国际新闻热点
  • 做网站送商标新闻稿营销
  • 青岛网站建设定制网络营销专业学什么
  • 廊坊做网站的电话宣传推广计划
  • 微信导航网站怎么做的优化网站怎么做
  • 数据库对于做网站的重要性如何免费创建自己的平台
  • nanopi neo做网站刷移动端seo软件
  • 找人做网站都需要提供什么品牌营销策略论文
  • 站长工具推荐谷歌google浏览器
  • 做网站建设怎么找客户乐云seo官网
  • 制作音乐的软件app如何优化百度seo排名
  • 西安网站建设公司云网网络销售管理条例
  • 服务器上的网站不能访问怎么让关键词快速排名首页
  • 政府网站建设分析企业优化推广
  • 易语言做网站登陆个人网站免费域名注册
  • 有哪些做文创产品的网站短链接生成网址
  • 重庆有没有做网站的免费seo网站自动推广软件
  • .电子商务网站建设的核心是网店推广费用多少钱
  • 【Python 工具人快餐 · 第 2 份】
  • Vuex与Pinia对比,以及技术选型
  • 大模型SSE流式输出技术
  • P1044 [NOIP 2003 普及组] 栈
  • YOLO-Count:用于文本到图像生成的可微分目标计数
  • Blob File Buffer ArrayBuffer uint8Array DataView 的关联