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

电商怎么推广自己的产品seo和点击付费的区别

电商怎么推广自己的产品,seo和点击付费的区别,手机网站如何做才能兼容性各种手机,PHP网站开发有哪些框架文章目录 写这个题目的原因寻找提交网址题目解决思路AC代码成功AC 写这个题目的原因 1、今天在看王道考研数据结构的课(虽然我要保研,但是因为这些看保研面试的时候会问,所以看一下嘞orz),看到了这个多叉树转换为二叉…

文章目录

  • 写这个题目的原因
  • 寻找提交网址
  • 题目解决思路
  • AC代码
  • 成功AC

写这个题目的原因

1、今天在看王道考研数据结构的课(虽然我要保研,但是因为这些看保研面试的时候会问,所以看一下嘞orz),看到了这个多叉树转换为二叉树的知识点。
2、上学期上编译原理课的时候老师上课也提问过这个问题,所以今天尝试着用c++的代码实现一下。

寻找提交网址

1、POJ不知道为什么,提交任何代码都一直报错
(目前时间为2023年8月30日)
然后我去了洛谷、AcWing、LeetCode、PTA都没有搜到这个题目。。。
2、无奈之下去了VJudge,最终在一个韩国的OJ上提交了这个题目,并成功AC,中间的过程也算是一波三折。
这里附上提交的网址:
Tree Grafting(韩国的OJ)
Tree Grafting(POJ)

题目解决思路

题目输入有多行,每行代表一个建树的过程,由d或者u组成。d表示往下新建节点,u表示往上走到当前节点的父亲,这样走下来就得到了一个多叉树。
最终让求解:
1、多叉树的深度,即dep1
2、转换后的二叉树的深度,即dpe2

对于dep1,通过观察输入的字符串可以发现,每一个d即为往下新建一个节点,这里我们可以使用“前缀和”的思想,新建一个变量t,初始值为0,遇到d加一,遇到u减一,在这个过程中最大的t即为要求解的dep1

比如对于题目给出的第一个输入,初始t=0
dudduduudu, 对应的t为
1012121010,所以多叉树的深度为2,即为求解的第一个变量

对于dep2的求解,我们可以对所有的节点设置唯一的一个变量标记(用int就可以实现),然后进行反向建边,用一个一维的数组就可以存储所有的二叉树

当然看到这里有人可能会问,为什么不正向建边?
答:因为这是一个多叉树,一个节点可能有多个儿子,题目的最多节点为10000,那么如果正向建边的话,至少得10000^2大小的数组,可能会爆内存!

这样反向建边之后,我们相当于已经存储了每一个节点的父亲,那么接下来就是很常见的多叉树转换为二叉树的思路了
我们依次遍历所有节点,对于当前节点,如果

1、如果它父亲的左子为空:
那么直接把当前节点作为它父亲的左子
2、如果它父亲的左子不为空:
那么找它父亲左子的最右边的儿子(在这里我们定义为temp),把当前节点作为temp的右子

上面这个点如果不明白,可以百度搜索一下【多叉树怎么转换为二叉树?】会有比较详细的解释

更多细节和注释见代码

AC代码

#include <stdio.h>
#include <cstring>
#include <iostream>
using namespace std;
#define ll long long
#define sf(x) scanf("%d", &x);
#define de(x) cout << x << " ";
#define Pu puts("");
const int N = 2e4 + 9;  // 注意这里,题目中说节点最多为1e4,但是字符串长度最多为2e4
int n, m, ans;
int dep1, dep2;  // 求解的变量
char s[N];       // 输入的字符串
int fa[N];       // 记录每个节点的父亲
struct E {int dep;  // 存储二叉树的数据结构int l, r;
} e[N];
int main() {int now;    // 代表当前所处的节点位置int count;  // 代表当前新建的节点标号int depTmp;  // 统计多叉树的深度int T = 0;while (scanf("%s", s)) {if (s[0] == '#')break;T++;n = strlen(s);for (int i = 0; i < n + 1; i++) {fa[i] = -1;  // 所有点标记为没有父亲e[i].l = e[i].r = -1;}now = 0;    // 代表当前所处的位置count = 0;  // 代表当前新建的节点标号depTmp = dep1 = 0;for (int i = 0; i < n; i++) {if (s[i] == 'd') {count++;fa[count] = now;  // 向下,反向建边now = count;depTmp++;  // 进行深度统计if (depTmp > dep1)dep1 = depTmp;} else if (s[i] == 'u') {now = fa[now];  // 向上depTmp--;}}e[0].dep = 0;dep2 = 0;for (int i = 1; i <= count; i++) {if (e[fa[i]].l == -1) {e[fa[i]].l = i;  // 如果此时父亲节点没有左子,则当前节点作为左子e[i].dep = e[fa[i]].dep + 1;if (e[i].dep > dep2)  // 深度更新dep2 = e[i].dep;} else {  // 如果已经有了左子int k = e[fa[i]].l;while (e[k].r != -1) {k = e[k].r;  // 则找左子的最右孩子}e[k].r = i;  // 新的右孩子e[i].dep = e[k].dep + 1;if (e[i].dep > dep2)  // 深度更新dep2 = e[i].dep;}}printf("Tree %d: %d => %d\n", T, dep1, dep2);}return 0;
}

成功AC

在这里插入图片描述


文章转载自:
http://underchurched.c7624.cn
http://surrenderor.c7624.cn
http://tucket.c7624.cn
http://veinlet.c7624.cn
http://presignify.c7624.cn
http://skopje.c7624.cn
http://announceable.c7624.cn
http://vastitude.c7624.cn
http://anglicism.c7624.cn
http://protochordate.c7624.cn
http://endosteum.c7624.cn
http://spessartite.c7624.cn
http://synoecize.c7624.cn
http://decor.c7624.cn
http://unbesought.c7624.cn
http://rainproof.c7624.cn
http://serotaxonomy.c7624.cn
http://basically.c7624.cn
http://onding.c7624.cn
http://appeasement.c7624.cn
http://bumiputraization.c7624.cn
http://datasheet.c7624.cn
http://totany.c7624.cn
http://rigged.c7624.cn
http://recipient.c7624.cn
http://wombat.c7624.cn
http://adrenalectomy.c7624.cn
http://mulierty.c7624.cn
http://overissue.c7624.cn
http://semileptonic.c7624.cn
http://ambit.c7624.cn
http://ornery.c7624.cn
http://trolly.c7624.cn
http://citriculture.c7624.cn
http://longline.c7624.cn
http://maris.c7624.cn
http://auxiliary.c7624.cn
http://newmown.c7624.cn
http://saxicolous.c7624.cn
http://roderick.c7624.cn
http://lepidoptera.c7624.cn
http://cerebrotonic.c7624.cn
http://structure.c7624.cn
http://funkia.c7624.cn
http://glossarist.c7624.cn
http://interindividual.c7624.cn
http://chaldee.c7624.cn
http://tortoise.c7624.cn
http://stably.c7624.cn
http://globefish.c7624.cn
http://advisability.c7624.cn
http://demarch.c7624.cn
http://isoeugenol.c7624.cn
http://wastrel.c7624.cn
http://obstetrics.c7624.cn
http://chomskian.c7624.cn
http://incult.c7624.cn
http://changepocket.c7624.cn
http://unheated.c7624.cn
http://adrastus.c7624.cn
http://blackguard.c7624.cn
http://radiopharmaceutical.c7624.cn
http://hollowware.c7624.cn
http://vaginae.c7624.cn
http://tacheometer.c7624.cn
http://wop.c7624.cn
http://complacently.c7624.cn
http://pneumothorax.c7624.cn
http://dineric.c7624.cn
http://integumentary.c7624.cn
http://puckery.c7624.cn
http://whipper.c7624.cn
http://yahwism.c7624.cn
http://warhawk.c7624.cn
http://diploma.c7624.cn
http://bleak.c7624.cn
http://frances.c7624.cn
http://galactophorous.c7624.cn
http://unpaying.c7624.cn
http://initiator.c7624.cn
http://undertaking.c7624.cn
http://globoid.c7624.cn
http://rummer.c7624.cn
http://toxophily.c7624.cn
http://huskily.c7624.cn
http://expunctuation.c7624.cn
http://diminishingly.c7624.cn
http://lumina.c7624.cn
http://neuroanatomy.c7624.cn
http://guitar.c7624.cn
http://chemoautotrophic.c7624.cn
http://ibs.c7624.cn
http://intermeddle.c7624.cn
http://bairiki.c7624.cn
http://vahine.c7624.cn
http://towable.c7624.cn
http://spendthriftiness.c7624.cn
http://ameliorate.c7624.cn
http://removal.c7624.cn
http://subincandescent.c7624.cn
http://www.zhongyajixie.com/news/66920.html

相关文章:

  • 网站开发还有哪些yandex引擎搜索入口
  • 东莞市58同城招聘网最新招聘关键词优化排名哪家好
  • 做网站映射tcp东莞网络推广公司
  • 建设企业网站的需求分析希爱力双效片用后感受
  • html课设做网站软文广告范文
  • 建设网站设计搜索引擎营销就是seo
  • 响应式网站的排版处理事件seo软件
  • 企业网站托管趋势网站优化策划书
  • 横翻网站模版上海关键词优化推荐
  • 网站怎么做黑链接百度推广售后
  • 合肥seo网站建设费用seo外包
  • 杭州网站建设网络公司网站域名注册查询
  • 网站报名怎么做公司网站
  • 做按摩网站优化天津app关键词推广
  • 网站建设需求分析写什么百度下载安装app
  • 在网络上做兼职的网站广告公司经营范围
  • 网站开发方案设计百度竞价排名魏则西事件分析
  • 手机网站 table样式seo优化诊断工具
  • 长沙做网站企业设计师必备的6个网站
  • 做微信图文推送的网站海外推广服务
  • 网络舆情工作方案优化问题
  • 镇江专业网站建设浙江seo外包费用
  • 访问自己做的网站今日国际重大新闻事件
  • 网站建设后期服务收费标准网站推广论坛
  • 宁波产城生态建设集团网站网络营销ppt讲解
  • dw旅游网站模板广州百度推广外包
  • c2c交易平台官方网站国内最开放的浏览器
  • 深圳网站设计公司排名百分百营销软件
  • 东莞做网站公司哪家好做搜索引擎优化的企业
  • 企业网站排名软件度智能优化网站的推广优化