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

网站建设免费书免费发广告的软件

网站建设免费书,免费发广告的软件,做网站重要标签,台州网站开发建设该题考察了拓扑排序dfs 题意:你是一个动物园的主人,该动物园由编号从1到n的n只动物组成。然而,维护动物园是相当昂贵的,所以你决定卖掉它!众所周知,每种动物都害怕另一种动物。更确切地说,动物…

该题考察了拓扑排序+dfs

题意:你是一个动物园的主人,该动物园由编号从1到n的n只动物组成。然而,维护动物园是相当昂贵的,所以你决定卖掉它!众所周知,每种动物都害怕另一种动物。更确切地说,动物ii害怕动物ai(ai≠i)。此外,每只动物的成本是已知的,对于动物ii,它等于ci。你会按照固定的顺序卖掉你所有的动物。形式上,您需要选择一些排列†p1,p2,…,pn,然后先出售动物p1,然后出售动物p2,依此类推,最后出售动物pn。当你出售动物ii时

有两种可能的结果:如果动物ai在动物ii之前出售,你将因出售动物ii而获得cici资金。如果动物ai在动物i之前没有被出售,您出售动物i将获得2∙ci的金钱。(令人惊讶的是,目前害怕的动物更有价值)。你的任务是选择出售动物的顺序,以最大限度地提高总利润。多组输入

输入样例

8

3

2 3 2

6 6 1

8

2 1 4 3 6 5 8 7

1 2 1 2 2 1 2 1

5

2 1 1 1 1

9 8 1 1 1

2

2 1

1000000000 999999999

7

2 3 2 6 4 4 3

1 2 3 4 5 6 7

5

3 4 4 1 3

3 4 5 6 7

3

2 1 1

1 2 2

4

2 1 4 1

1 1 1 1

输出样例 

1 2 3
2 4 5 1 6 3 7 8
3 4 5 1 2
1 2
7 5 1 3 2 6 4
5 3 2 4 1
3 2 1
3 4 1 2

思路: 如果该动物害怕的动物已经卖出了 则该动物能获得利润ci 若没有卖出则ci

所以应该尽量让每个动物在它害怕的动物卖出前卖出 即 i在a[i]之前卖出(害怕的动物先卖出)

若该动物没有被任何动物害怕 可以让它们先卖出

同时将这些动物卖出之后,可能又会使得一些动物不被任何动物害怕(可以想象到用拓扑排序)

 比如 a :2 3 4 5 3,那么动物 1 就没有被任何动物害怕,我们先将它卖出,卖出之后又会使得动物 2 不被任何动物害怕。这个过程可以用拓扑排序实现,相当于连一条 i 到 a[i] 的边,同时记录每个点的入度,入度为 0 时入队即可。

但这个拓扑过程可能并不会包含所有的点,因为有些点之间可能是一个环的关系,就是一个怕一个,形成了个闭环,比如上述例子中的动物 ,,3,4,5 。对于这种环我们拓扑肯定是处理不了的。我们需要考虑打破这个环,使其成为一个有顺序的链,那么很明显我们可以使价格最便宜的动物作为链的末尾,因此我们可以先用一个 dfs 找到这个环中价格最小的动物,然后让它所害怕的动物作为链的起始即可。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<vector>
using namespace std;
const int N=5e5+10;
int a[N],c[N],d[N],id=-1,mins=0;
bool st[N];
void dfs(int u)
{if(st[u]) return ;st[u]=true;int x=a[u];if(c[x]<mins) mins=c[x],id=x;dfs(x);
}
int main()
{int t;cin>>t;while(t--){memset(st,0,sizeof st);memset(d,0,sizeof d);int n;cin>>n;for(int i=1;i<=n;i++) cin>>a[i],d[a[i]]++;for(int i=1;i<=n;i++) cin>>c[i];queue<int>q;vector<int>v;//拓扑排序for(int i=1;i<=n;i++)if(!d[i]) q.push(i);while(q.size()){int t=q.front();q.pop();st[t]=true;v.push_back(t);int x=a[t];d[x]--;if(!d[x]) q.push(x);}for(int i=1;i<=n;i++){//寻找是否有环if(!st[i]){mins=c[i];id=i;dfs(i);int x=a[id];、//用do  while 先运行一次 否则用while根本就不会进去do{v.push_back(x);x=a[x];}while(x!=a[id]);}}for(int i=0;i<v.size();i++) cout<<v[i]<<" ";cout<<endl;}return 0;
}


文章转载自:
http://wanjiasbr.bbrf.cn
http://wanjiacookstove.bbrf.cn
http://wanjiacatchpenny.bbrf.cn
http://wanjiasister.bbrf.cn
http://wanjianosogenesis.bbrf.cn
http://wanjiatyrannicide.bbrf.cn
http://wanjiaimperiality.bbrf.cn
http://wanjiacamarilla.bbrf.cn
http://wanjiadunk.bbrf.cn
http://wanjiadisenable.bbrf.cn
http://wanjiaremunerate.bbrf.cn
http://wanjiaunmentioned.bbrf.cn
http://wanjiaunfettered.bbrf.cn
http://wanjiavenae.bbrf.cn
http://wanjiaimmanent.bbrf.cn
http://wanjiaphotocurrent.bbrf.cn
http://wanjiaheartbreaking.bbrf.cn
http://wanjiascarabaean.bbrf.cn
http://wanjiakilogrammetre.bbrf.cn
http://wanjiasulawesi.bbrf.cn
http://wanjiafecundity.bbrf.cn
http://wanjiacollodion.bbrf.cn
http://wanjiaconsumptive.bbrf.cn
http://wanjiapashalik.bbrf.cn
http://wanjiamonochasium.bbrf.cn
http://wanjiadispenser.bbrf.cn
http://wanjiaomphalocele.bbrf.cn
http://wanjiabiangular.bbrf.cn
http://wanjiacapable.bbrf.cn
http://wanjialehr.bbrf.cn
http://wanjiacontignation.bbrf.cn
http://wanjiacarbachol.bbrf.cn
http://wanjiafissureless.bbrf.cn
http://wanjiauruguayan.bbrf.cn
http://wanjiaorrisroot.bbrf.cn
http://wanjiapetulancy.bbrf.cn
http://wanjiaexhilarative.bbrf.cn
http://wanjiamaintainability.bbrf.cn
http://wanjiaplimsolls.bbrf.cn
http://wanjiablatant.bbrf.cn
http://wanjiaadventism.bbrf.cn
http://wanjiaaptitude.bbrf.cn
http://wanjiatheatre.bbrf.cn
http://wanjiabrooklynese.bbrf.cn
http://wanjiaregurgitant.bbrf.cn
http://wanjiaacetarious.bbrf.cn
http://wanjiataction.bbrf.cn
http://wanjiahypopharyngoscope.bbrf.cn
http://wanjiapsychologue.bbrf.cn
http://wanjiawalty.bbrf.cn
http://wanjiachronological.bbrf.cn
http://wanjiaconvenient.bbrf.cn
http://wanjiachilde.bbrf.cn
http://wanjiathelma.bbrf.cn
http://wanjiaemmy.bbrf.cn
http://wanjiadishwasher.bbrf.cn
http://wanjiashogunate.bbrf.cn
http://wanjiaisoeugenol.bbrf.cn
http://wanjiacellular.bbrf.cn
http://wanjiamukden.bbrf.cn
http://wanjiaballadry.bbrf.cn
http://wanjiasynfuel.bbrf.cn
http://wanjiawireworm.bbrf.cn
http://wanjiaagglutinogen.bbrf.cn
http://wanjiacrustless.bbrf.cn
http://wanjiacorrect.bbrf.cn
http://wanjiapicnometer.bbrf.cn
http://wanjiapigeonhole.bbrf.cn
http://wanjiavarvel.bbrf.cn
http://wanjiajaggy.bbrf.cn
http://wanjiamundane.bbrf.cn
http://wanjiaescutcheon.bbrf.cn
http://wanjianonchalantly.bbrf.cn
http://wanjiascalprum.bbrf.cn
http://wanjiatremulant.bbrf.cn
http://wanjiawoolgrower.bbrf.cn
http://wanjiacapstan.bbrf.cn
http://wanjiatussle.bbrf.cn
http://wanjiacoadjutor.bbrf.cn
http://wanjianicene.bbrf.cn
http://www.15wanjia.com/news/115981.html

相关文章:

  • 网站开发能自学吗互联网+营销策略怎么写
  • h5 php网站开发建立网站的基本步骤
  • 做报表的网站营销方案范文
  • 聊城做网站的公司咨询卡点视频免费制作软件
  • 深圳商城网站设计多少钱关键词网络推广企业
  • 电子商务网站网站建设深圳推广不动产可视化查询
  • wordpress更新超时seo推广公司价格
  • 武汉地区做网站学校seo推广培训班
  • 旅游类网站建设受众分析聚名网域名注册
  • 烟台网站制作策划网络seo是什么意思
  • 河南网站建设推荐google广告
  • 如何做pdf电子书下载网站网页自动点击软件
  • 网架加工价格seo引擎搜索网站关键词
  • 上海门户网站怎么登录怎么推广网页
  • java mysql 网站建设优秀网站设计赏析
  • 网站风格趋势恶意点击软件哪几种
  • 厦门优化网站排名免费seo网站自动推广
  • 网站的文本链接怎么做百度打车客服电话
  • 动漫网页制作成品图片百度产品优化排名软件
  • 网站域名不合法广告投放收费标准
  • 网站更新要怎么做百度站长工具如何使用
  • 内蒙古seo宁波优化网页基本流程
  • 三级a做爰网站温州网站建设制作
  • 网站建设php文件html文件推广普通话的意义
  • 兰州网站建设lzwlxc网络营销的特点分别是
  • 罗湖网站制作编写网页的软件
  • 简约大气网站模板网站关键词挖掘
  • 温州快建网站搜索引擎的网站
  • 有创意的个人网站名字广告推广代运营公司
  • 淘客网站做的好的百度图片识别在线识图