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

ssc网站建设担保交易asp net4.0网站开发

ssc网站建设担保交易,asp net4.0网站开发,为什么要推行政务公开网站建设,信誉好的医疗网站建设文章目录 写这个题目的原因寻找提交网址题目解决思路AC代码成功AC 写这个题目的原因 1、今天在看王道考研数据结构的课#xff08;虽然我要保研#xff0c;但是因为这些看保研面试的时候会问#xff0c;所以看一下嘞orz#xff09;#xff0c;看到了这个多叉树转换为二叉… 文章目录 写这个题目的原因寻找提交网址题目解决思路AC代码成功AC 写这个题目的原因 1、今天在看王道考研数据结构的课虽然我要保研但是因为这些看保研面试的时候会问所以看一下嘞orz看到了这个多叉树转换为二叉树的知识点。 2、上学期上编译原理课的时候老师上课也提问过这个问题所以今天尝试着用c的代码实现一下。 寻找提交网址 1、POJ不知道为什么提交任何代码都一直报错 目前时间为2023年8月30日 然后我去了洛谷、AcWing、LeetCode、PTA都没有搜到这个题目。。。 2、无奈之下去了VJudge最终在一个韩国的OJ上提交了这个题目并成功AC中间的过程也算是一波三折。 这里附上提交的网址 Tree Grafting韩国的OJ Tree GraftingPOJ 题目解决思路 题目输入有多行每行代表一个建树的过程由d或者u组成。d表示往下新建节点u表示往上走到当前节点的父亲这样走下来就得到了一个多叉树。 最终让求解 1、多叉树的深度即dep1 2、转换后的二叉树的深度即dpe2 对于dep1通过观察输入的字符串可以发现每一个d即为往下新建一个节点这里我们可以使用“前缀和”的思想新建一个变量t初始值为0遇到d加一遇到u减一在这个过程中最大的t即为要求解的dep1 比如对于题目给出的第一个输入初始t0 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://www.w-s-a.com/news/953883/

相关文章:

  • 弄一个网站临沂有哪几家做网站的
  • 广州个人网站制作公司网站建设公司价
  • 免费建设网站赚钱小程序开发文档pdf
  • ucenter 整合两个数据库网站网店推广技巧
  • 网站优化排名提升百度wap
  • 八里河风景区网站建设内容摘要网站开发基础学习
  • 上海做外贸网站的公司智慧团建网站登陆平台
  • 上海商务网站建设如何做的网站手机可以用吗
  • 产品推广营销方案seo推广员招聘
  • 做水利网站需要多少钱山东市网站建设
  • 做网站找哪里如何修改wordpress颜色
  • 招商加盟网站系统站长工具 seo查询
  • 工商局网站清算组备案怎么做电商培训机构
  • 做好门户网站建设做本地团购网站怎么样
  • wordpress主题和预览不同20条优化防疫措施方案
  • 艾奇视觉网站建设网站推广需要几个人做
  • 2008 iis 添加网站wordpress固定链接标签加上页面
  • 宁波企业网站制作推荐网站优化人员
  • 大型资讯门户网站怎么做排名沈阳建设工程有限公司
  • 开发中英文切换网站如何做江苏网站建设费用
  • 网站论文首页布局技巧桥东网站建设
  • 网站开发项目经理工资北京微信网站
  • 山西山西省建设厅网站微信备份如何转换为wordpress
  • 同城网站开发实用网站模板
  • 郑州做网站哪家公司好国外购买空间的网站有哪些
  • 资讯cms网站有那些餐饮品牌策划设计公司
  • 网站策划选题网站布局优化
  • 网站建设3000字wordpress 微信 主题制作
  • 代做寄生虫网站网站菜单效果
  • 网站备案为什么这么慢目录更新 wordpress