ontest级新生个人训练赛第场seekereron

本次训练赛相较于前两次难度上升许多,涉及到了动态规划等算法。为了图方便,会使用部分c++语法,但不影响整体阅读。

大意:给定n,如果n是奇数就乘3加一,是偶数就除2,一直循环,直到n变成1为止,并输出n的每个变化。

基础模拟题,使用while循环处理n,处理后直接输出,以n==1为终止条件。

题目大意:给定一个数字n,算出有多少个数的三次方小于n。

111 = 1 222 = 8333 = 27 444 = 64555 = 125 但是 125 > 100

本题刘老师提供了一种“投机取巧”的方法,之所以需要投机取巧,根本上是整数类型存储有限,long long类型的上限只有264 左右,远不及题目要求的1028 ,而double类型可以取更大的值(21024),但是double类型是有精度范围的(15位~16位),也就是说在1015 之后,会有精度缺失的问题。严格意义上来讲,如果发生精度缺失的话,是没法解决问题的,但好在数据没有卡double,使用double类型能通过。因此把这种使用double的方法称之为“投机”。

大意:给定n个不同的数,每次交换两个数,求得到递增序列的最小次数。

每个数都有它本来该去的地方,现在从前到后,把每个数送到它该去的地方。

例如序列4 2 1 5 3

数字4对应第四个位置,把4和5做交换得到序列5 2 1 4 3,以此类推得到3 2 1 4 5 --->1 2 3 4 5

有一直线型展台共有 m 个展位,按该展位离入口处的远近顺序编号,其编号分别为 1、2、……、m;其中只有 n 个是展示新技术的展位,最后一个展示新技术的展位编号为 m。这次调研分两个小组进行,每个小组最多调研连续的 10 个展位,且每个小组调研的展位至少相隔 2 个展位。乐乐希望你设计一种安排方案,使领导调研更多的展示新技术的展位

本题使用动态规划算法。

思路:枚举区间两个端点时间复杂度为O(n^2),一定超时。转换思路根据等差数列求和公式(a1+an)*n / 2 = m , 转换为a1=m / n + 1 / 2 - n / 2 ,枚举n的值,判断a1是否为整数,时间复杂度为O(n),依旧超时,需要继续优化。我们从1开始枚举,需要确定上界,设a1=1,变换得\(\sqrt{2}\)得到n的最大值

THE END
0.C++|OneCoderC++, GESP, NOI, Java, Python, Git, SVN, 算法, 架构, Jekyll, Log, 开源, MySQL, PostgreSQL, Hadoop, 大数据, 云计算jvzquC41yy}/exigtno/exr1vcmt1l4
1.《小学生C++创意编程视频教学版》(刘凤飞)简介书评《小学生C++创意编程(视频教学版)》涵盖了C ++中的各个知识点,包括指针等高级主题,解决了C++ 学习难、难入门的局面。同时本书还配备了大量练习题,辅助读者进行手动实验,从而达到举一反三、助力竞赛的目的。《小学生C++创意编程(视频教学版)》适合四年级以上小学生阅读,可作为各类竞赛、等级考试、信息学奥赛的入门jvzq<84rtqjve}3fcpmecwl0eqs04B;:39620qyon
2.c++P5727深基5.例3冰雹猜想冰雹猜想c++代码c++ P5727 【深基5.例3】冰雹猜想 题目描述 给出一个正整数 n,然后对这个数字一直进行下面的操作:如果这个数字是奇数,那么将其乘 3 再加 1,否则除以 2。经过若干次循环后,最终都会回到 1。经过验证很大的数字(7×1011)都可以按照这样的方式比变成 1,所以被称为“冰雹猜想”。例如当 n 是 20,变化的过程jvzquC41dnuh0lxfp0tfv87523e88:=832>0c{ykenk0fnyckny03>6:25614