要求你每次只能变换一位数字,并且变换前后的数字都要满足是素数;求最少变换次数,打好素数表,再进行BFS。
做了训练题的K题,一开始没看懂,看看别人写的知道咋弄了从数塔的第一层走到最底层,只能沿对角线走,求路径上的数的和的最大值。用的是DP算法,从最底层向上考虑,路径上的和的大小取决于直接取决于下面两个数的大小。因而采用自顶向上方法,逐步向上走,走到最顶层,每次都选择最大的和,这样最后的结果就保存在了最顶层。
早上看了训练题的E题,存储二进制时使用了二叉树结构,每一次的试探都不同,直接用下表2i与2i+1区分开了两个儿子节点,因此每一次都搜索这个数的下一个位置上为1还是为0才可以被n整除,为了得到父亲节点,每一次都是i/2,以此类推。,下午做了周赛题的E题,深搜题,奇偶裁剪,晚上补了B题,最长公共子序列 滚动数组把输入的字符串倒着存进另一个字符串中,然后找两个字符串之间的最大公共子序列长度,再用字符串长度减去最大公共子序列长度,就是需要的插入的字符数
本周总结
最新推荐文章于 2022-12-18 14:46:02 发布