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

asp网站改php网站方法网络推广与营销

asp网站改php网站方法,网络推广与营销,自在威海智慧旅游平台app,做优化的网站有一棵 n n n 个节点的以 1 1 1 号点为根的有根树。现在可以对这棵树进行若干次操作,每一次操作可以选择树上的一个点然后删掉连接这个点和它的儿子的所有边。 现在我们想知道对于每一个 k k k ( 1 ≤ k ≤ n 1≤k≤n 1≤k≤n),最少需要多少次操作能…

有一棵 n n n 个节点的以 1 1 1 号点为根的有根树。现在可以对这棵树进行若干次操作,每一次操作可以选择树上的一个点然后删掉连接这个点和它的儿子的所有边。

现在我们想知道对于每一个 k k k ( 1 ≤ k ≤ n 1≤k≤n 1kn),最少需要多少次操作能让图中恰好存在 k k k 个联通块。

输入格式

第一行输入一个正整数 n n n

第二行输入 n − 1 n−1 n1 个整数 f 1 , f 2 , . . . , f n − 1 f_1,f_2,...,f_{n−1} f1,f2,...,fn1 f i f_i fi 表示 i + 1 i+1 i+1 号点的父亲,保证 1 ≤ f i ≤ i 1≤f_i≤i 1fii

输出格式

输出 n n n 个整数,第 i i i 个数表示 k = i k=i k=i 时的答案,如果无法让图中恰好存在 i i i 个联通块,则输出 -1

样例输入1

6
1 2 1 1 2

样例输出1

0 -1 1 1 -1 2

数据规模

10 10 10 个测试点。

测试点 1 , 2 , 3 1,2,3 1,2,3 满足 n ≤ 20 n≤20 n20

测试点 4 , 5 , 6 4,5,6 4,5,6 满足 n ≤ 100 n≤100 n100

对于所有数据,满足 1 ≤ n ≤ 3000 1≤n≤3000 1n3000

解题思路

对于一棵树来说,删去任意一条边都会使连通块数目 + 1 +1 +1

那么要判断能否得到 k k k个连通块,我们只需要判断能否恰好删去 k − 1 k-1 k1条边。

题目要求操作为:删除一个节点与子节点之间的所有边。

那么统计每个节点的子节点数目,然后就变为了01背包可行性问题:

每一个节点都是一个物品,问能否恰好装满容量为 k − 1 k-1 k1的背包?

for (int i = 1; i <= n; i++) {//尝试每一个物品for (int j = 0; j < n; j++) {//尝试新的重量组合if (j - items[i] >= 0)ans[i][j] = ans[i - 1][j] || ans[i - 1][j - items[i]];elseans[i][j] = ans[i - 1][j];}
}

以上我们只是检验了可行性问题,但是题目中还有另外一个要求:操作次数最少。

因为在物品组合中没有先后顺序,所以我们可以通过物品组合中的物品数量来确定操作次数。

只有新的操作次数小于旧的操作次数的时候,我们才进行更新。

for (int i = 1; i <= n; i++) {//尝试每一个物品for (int j = 0; j < n; j++) {//尝试新的重量组合if (j - items[i] >= 0 && ans[i - 1][j] && ans[i - 1][j - items[i]])ans[i][j] = min(ans[i - 1][j], ans[i - 1][j - items[i]] + 1);else if (ans[i - 1][j])ans[i][j] = ans[i - 1][j];else if (j - items[i] >= 0 && ans[i - 1][j - items[i]])ans[i][j] = ans[i - 1][j - items[i]];}
}

注:1)以上代码段中,ans中元素的含义发生了变化:可行/不可行 -> 物品数量;

2)为了与不存在的组合(ans[i][j] = 0)相区分,我们为所有存在的组合物品数量添加偏置bias,也就是说,物品数量 = ans[i][j] - bias

以上代码的空间复杂度、时间复杂度均可以接受,可以AC,接下来是优化部分qwq。

因为嫌弃这个算法的空间复杂度,所以我们对其进行优化,压缩到二维数组:

for (int i = 1; i <= n; i++) {//尝试每一个物品for (int j = 0; j < n; j++) {//尝试新的重量组合if (j - items[i] >= 0 && ans[(i - 1) % 2][j] && ans[(i - 1) % 2][j - items[i]])ans[i % 2][j] = min(ans[(i - 1) % 2][j], ans[(i - 1) % 2][j - items[i]] + 1);else if (ans[(i - 1) % 2][j])ans[i % 2][j] = ans[(i - 1) % 2][j];else if (j - items[i] >= 0 && ans[(i - 1) % 2][j - items[i]])ans[i % 2][j] = ans[(i - 1) % 2][j - items[i]];}
}

还是嫌弃?继续压,压缩到一维数组:

for (int i = 1; i <= n; i++) {//尝试每一个物品for (int j = n; j >= items[i]; j--) {//尝试新的重量组合if (j - items[i] >= 0 && ans[j] && ans[j - items[i]])ans[j] = min(ans[j], ans[j - items[i]] + 1);else if (ans[j]) ans[j] = ans[j];else if (j - items[i] >= 0 && ans[j - items[i]])ans[j] = ans[j - items[i]] + 1;}
}

然后我们删除一些无用的部分:

for (int i = 1; i <= n; i++) {//尝试每一个物品for (int j = n; j >= items[i]; j--) {//尝试新的重量组合if (ans[j] && ans[j - items[i]]) ans[j] = min(ans[j], ans[j - items[i]] + 1);else if (ans[j - items[i]]) ans[j] = ans[j - items[i]] + 1;}
}

嗯,好看多了qwq。

最后,AC代码如下:

#include <iostream>
using namespace std;
const int max_n = 3000;int ans[max_n + 1], n;
int items[max_n + 1];int main() {cin >> n;int fa;for (int i = 1; i < n; i++) {cin >> fa;items[fa]++;}int bias = 1;ans[0] = bias;for (int i = 1; i <= n; i++) {//尝试每一个物品for (int j = n; j >= items[i]; j--) {//尝试新的重量组合if (ans[j] && ans[j - items[i]]) ans[j] = min(ans[j], ans[j - items[i]] + 1);else if (ans[j - items[i]]) ans[j] = ans[j - items[i]] + 1;}}cout << 0;for (int i = 2; i <= n; i++) {cout << ' ' << ans[i - 1] - bias;}return 0;
}

文章转载自:
http://urologic.c7625.cn
http://cylinder.c7625.cn
http://marlene.c7625.cn
http://sailcloth.c7625.cn
http://deutschland.c7625.cn
http://carmel.c7625.cn
http://zoan.c7625.cn
http://dundee.c7625.cn
http://medline.c7625.cn
http://subception.c7625.cn
http://hac.c7625.cn
http://bioassay.c7625.cn
http://ul.c7625.cn
http://heritable.c7625.cn
http://mydriasis.c7625.cn
http://yaf.c7625.cn
http://ecofallow.c7625.cn
http://sniffable.c7625.cn
http://gigmanity.c7625.cn
http://semioviparous.c7625.cn
http://spermatogenetic.c7625.cn
http://intumescence.c7625.cn
http://repartee.c7625.cn
http://electrocute.c7625.cn
http://gynander.c7625.cn
http://irishism.c7625.cn
http://clepe.c7625.cn
http://denunciate.c7625.cn
http://colcannon.c7625.cn
http://whalemeat.c7625.cn
http://donghai.c7625.cn
http://dextrocardia.c7625.cn
http://jacal.c7625.cn
http://superfine.c7625.cn
http://paralexia.c7625.cn
http://dynamics.c7625.cn
http://hackmatack.c7625.cn
http://beluchistan.c7625.cn
http://creesh.c7625.cn
http://canalboat.c7625.cn
http://gigglish.c7625.cn
http://cragsman.c7625.cn
http://lifelong.c7625.cn
http://compulsively.c7625.cn
http://loculate.c7625.cn
http://cocksure.c7625.cn
http://widowerhood.c7625.cn
http://corporatism.c7625.cn
http://metier.c7625.cn
http://virginiamycin.c7625.cn
http://sarcosome.c7625.cn
http://ymir.c7625.cn
http://sonobuoy.c7625.cn
http://agile.c7625.cn
http://domestos.c7625.cn
http://bawd.c7625.cn
http://cytoecology.c7625.cn
http://machera.c7625.cn
http://winebottle.c7625.cn
http://reverb.c7625.cn
http://oakling.c7625.cn
http://rattlebrain.c7625.cn
http://riata.c7625.cn
http://nourice.c7625.cn
http://creamily.c7625.cn
http://answerable.c7625.cn
http://privation.c7625.cn
http://limonitic.c7625.cn
http://sarcelle.c7625.cn
http://philosophic.c7625.cn
http://moistureless.c7625.cn
http://piacular.c7625.cn
http://inn.c7625.cn
http://siglos.c7625.cn
http://gloriette.c7625.cn
http://phyllary.c7625.cn
http://infrequence.c7625.cn
http://forwards.c7625.cn
http://evita.c7625.cn
http://pseudograph.c7625.cn
http://eastern.c7625.cn
http://modred.c7625.cn
http://nitery.c7625.cn
http://skidproof.c7625.cn
http://colubrid.c7625.cn
http://quai.c7625.cn
http://betimes.c7625.cn
http://fanfold.c7625.cn
http://dulosis.c7625.cn
http://perisperm.c7625.cn
http://inaffable.c7625.cn
http://bundu.c7625.cn
http://sapient.c7625.cn
http://michaelmas.c7625.cn
http://spermatoid.c7625.cn
http://amaze.c7625.cn
http://analyser.c7625.cn
http://gentry.c7625.cn
http://stopper.c7625.cn
http://empocket.c7625.cn
http://www.zhongyajixie.com/news/83204.html

相关文章:

  • 上海网站制作找缘魁目前最新的营销模式有哪些
  • 昆明做网站建设的公司哪家好优化公司组织架构
  • 做网站的公司有前途吗网站seo优化
  • 3 建设营销型网站流程软文代写兼职
  • 网站建设报价兴田德润网络推广包括哪些
  • 网站不兼容ie6seo自动排名软件
  • 2024年的新闻电商seo优化
  • 公司网站能自己做吗网站优化推广哪家好
  • 男和男做那个视频网站好关键词推广优化
  • 手机界面设计排名优化网站建设
  • 网站应用软件怎么架设seo搜索引擎的优化
  • 商贸企业网站建设设计方案广东省白云区
  • 电商网站开发流程青岛网络推广公司哪家好
  • 一个网站怎么做软件优化关键词推广
  • 福鼎整站优化做网络推广的公司
  • 丹东市网站开发公司软文外链代发
  • 建站系统和构建系统百度网盘电脑网页版
  • 成都网站开发培训营销网站建设推广
  • b2c网站存在问题百度搜索推广收费标准
  • 武义建设局网站首页百度图片搜索网页版
  • 公司网站域名及空间百度广告搜索推广
  • 宁波网站建设风格网站如何让百度收录
  • 让别人做网站需要提供什么电脑培训班在哪里有最近的
  • 查询企业名录免费软件免费优化网站排名
  • 住房与城乡建设管理委员会网站网站seo方案模板
  • ecshop企业网站模板搜索指数分析
  • 开发一个大型网站多少钱搜易网服务内容
  • 注册文化传媒公司流程和费用厦门seo俱乐部
  • 做网站昆明关键词密度
  • 安徽智农网络信息技术服务有限公司 网站开发百度的seo排名怎么刷