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

优秀网站共分享青岛网站排名优化

优秀网站共分享,青岛网站排名优化,网站空间管理信息,西安的做网站的公司洛谷p3387 思路: 算法:tarjan算法 根据题意,我们只要找到一个路径,使得最终权重最大即可,首先,根据题目可知,如果一个点在一个环上,那么我们就将这整个环都选上,题目上允许我们能够重复走,因此,我们可以将环缩成点,将环所称点后,就可以转换成树,从没有父节点的结点开始,我们向…

洛谷p3387
思路:
算法:tarjan算法

根据题意,我们只要找到一个路径,使得最终权重最大即可,首先,根据题目可知,如果一个点在一个环上,那么我们就将这整个环都选上,题目上允许我们能够重复走,因此,我们可以将环缩成点,将环所称点后,就可以转换成树,从没有父节点的结点开始,我们向下走,每遍历一个子结点,就将子节点更新一次,最终取结点的最大值即可
#include<bits/stdc++.h>using namespace std;int n,m;const int N=1e4+19;const int M=1e5+10;vector<int>vec[N];int a[N];int siz[N];int cnt;int dfn[N],low[N],tot;int p[N];int scc[N];int inDegree[N];stack<int>sta;//tarjan模板  void tarjan(int x){low[x]=dfn[x]=++tot;sta.push(x);for(auto y:vec[x]){if(dfn[y]==0){tarjan(y);low[x]=min(low[x],low[y]);}else if(!scc[y]){low[x]=min(low[x],dfn[y]);}}if(low[x]==dfn[x]){cnt++;while(1){int y=sta.top();sta.pop();siz[cnt]++;p[cnt]+=a[y];//记录每个环的总权重scc[y]=cnt;if(y==x)break;}}}struct edge{int from;int to;}e[M];vector<int>ve[N];int ans[N];int s;int res=0;//topo算法
void solve(){queue<int>q;for(int i=1;i<=cnt;i++){ans[i]=p[i];//寻找没有入读的环if(!inDegree[i])q.push(i);}while(q.empty()==false){int x=q.front();q.pop();for(auto y:ve[x]){
//从没有入度的环开始,向下遍历它出度的环
//入度的环的最大值等于指向它的环的最大值加上它自己的权重ans[y]=max(ans[y],p[y]+ans[x]);
//处理一个入度的边就减去一个边inDegree[y]--;
//如果入度的点最终没有边指向它,那么代表它就成了一个根结点,那么,就将他放入队列中if(inDegree[y]==0)q.push(y);}}for(int i=1;i<=cnt;i++){res=max(res,ans[i]);}cout<<res<<endl;}int main(void){cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=m;i++){int a,b;cin>>a>>b;
//记录边的原因是为了后序我们进行环与环的入度操作时候,可以直接遍历边e[i].from=a;e[i].to=b;vec[a].push_back(b);}for(int i=1;i<=n;i++){if(!dfn[i])tarjan(i);}for(int i=1;i<=m;i++){
//记入环与环之间相连的边int fr=scc[e[i].from];int tr=scc[e[i].to];if(fr==tr)continue;
//记入入度的边inDegree[tr]++;ve[fr].push_back({tr});}solve();}

文章转载自:

http://gUmx2hSY.qrnbs.cn
http://utWh3NXk.qrnbs.cn
http://SSCrYxsk.qrnbs.cn
http://taD46jwT.qrnbs.cn
http://6LVMCLb6.qrnbs.cn
http://bQj1Brms.qrnbs.cn
http://y5Pvpxui.qrnbs.cn
http://XSAMaOGP.qrnbs.cn
http://oKJN52jo.qrnbs.cn
http://j796Q5Pk.qrnbs.cn
http://aKfho51f.qrnbs.cn
http://m8teEtdt.qrnbs.cn
http://48dn6cDn.qrnbs.cn
http://iEaIsmzq.qrnbs.cn
http://ymfWsxLJ.qrnbs.cn
http://UvWmHZWR.qrnbs.cn
http://pBFmU15v.qrnbs.cn
http://RhuwkMEY.qrnbs.cn
http://8P3ed2uc.qrnbs.cn
http://my2SOUid.qrnbs.cn
http://6Rn8WpoZ.qrnbs.cn
http://LVSDIBro.qrnbs.cn
http://r043FDg6.qrnbs.cn
http://d04Sr0t5.qrnbs.cn
http://cHRnTTaH.qrnbs.cn
http://bzTptfH1.qrnbs.cn
http://jWdPSWZK.qrnbs.cn
http://rKeShOZ6.qrnbs.cn
http://hjGJQCyE.qrnbs.cn
http://idZlFgvU.qrnbs.cn
http://www.dtcms.com/wzjs/676381.html

相关文章:

  • 增城微网站建设营销策略有哪些内容
  • 装饰设计网站wordpress使用iis
  • 做网站公司项目的流程响应式网站模板代码
  • 提高企业网站的访问率手游推广个人合作平台
  • 做海报去哪个网站找素材比较好呢室内设计师培训班哪家好
  • 门户网站要用什么软件做福州网站建设工作
  • asp网站建设实录pdfwordpress评论啦
  • vivo手机为什么建设网站可以做外国网站文章
  • 郑州网站zhi zuo政务网站建设存在的问题
  • gta5办公室网站建设中天津百度推广电话
  • 公司网站域名做邮箱怎么做网站卖空间
  • google网站入口适合30岁女人的培训班
  • 建设网站0基础需要学什么搜狐酒业峰会
  • 钱币网站建设网站设计公司网站设计公司
  • 赣州市做网站专业网站优化哪家好
  • 凡客诚品官方网站首页查询单位信息的网站
  • 厦门淘宝网站设计公司朋友让你做网站如何拒绝
  • 网站建设适合什么单位新网域名注册流程
  • 网站项目建设措施h5页面怎么制作app有哪些
  • 网站开发工程论坛短网址短链接生成器
  • 网站搬迁网站建设流程新闻
  • 有什么网站可以兼职做翻译wordpress管理账户
  • 个人网站模板源码怎么学平面设计啊
  • 红叶网站开发工作室网站制作的
  • 建设企业网站注意事项专业的手机网站建设公司哪家好
  • 常州市建设工程质监站网站十种网络营销的方法
  • 谁会做网站排名wordpress添加人型插件
  • 建站到网站收录到优化wordpress修改菜单栏
  • 做网站都能用什么做制作app的公司有哪些
  • 最好的在线网页代理网站推广优化平台