JAVA B,其他组的大佬有兴趣也可以康康我简述的题目,以及题解思路
但是期末月的缘故,我已经一个月没打代码了,做起来跟康复训练一样
昨晚凌晨四点才睡着,有点梦游,如有错误欢迎各位大佬指正
明天还要考英语,等考完我回来更详细题解
A
求解一个时间到一个时间段中,分针与秒针重合的次数 昨晚凌晨四点才睡着,看到题目的时候有点梦游,调了一会儿,果断跳题,毕竟才5分?
B
求解[2e6, 2e7]中能恰好分解为12个质数的乘积的数的个数
- 这题是我最后考试还剩余10分钟的时候开的,对每个数质因数分解,可以得到 的做法,但是考场剩余的时间,显然不能跑完,于是我写了一个剪枝跑出来了,效率接近
- 欧拉筛之后,枚举第i个质数,这样枚举12个就可以算出答案,但是复杂度显然不是很可做的
- 剪枝1:乘积大于右边界 的时候剪枝
- 剪枝2:我打了个标记p,每遍历到最后一层的时乘积 时,p++,如果 ,则ans++,递归前记录p值,如果返回时p没有改变,说明没有遍历到最后一层,说明这个时候枚举的数太大了,接下来也肯定枚举不到,所以这个时候直接return
- 最后我记得是25606 ,应该是正确的
C
编程题第一题,给定一个1~n的序列(1,2,3,...),以及操作次数m,每次将一个指定的数字(比如2)移动到最前面,或者最后面,操作次数为1e6,输出最后的序列
- 逆向思维,最左边的数取决于最后一个L,最右边的数取决于最后一个R
- 倒着遍历操作序列即可,记得加上没有被操作的数在中间
D
绝世模拟题,再见
E
一个正方向迷宫,终点为(n,n),有若干个传送门,没有障碍物,可以上下左右走,每次随机降落到迷宫任意一点,求解最短路径的长度的期望, 15分
- 逆向思维,从终点往其他点跑就行,
- 无非就是bfs搜索,外面套了一个期望,我记得在洛谷里面有图的类似题
- 最后答案就是
F
给定n个砝码(1e9),其中有一个次品比较轻(未知),以及m次(1e6)比较记录,每次放在天平两边k个砝码,告诉你哪边重或者一样重。最后输出有多少个砝码可能是次品
G
背包问题,可以使用一个魔法,将一件物品重量加K,价值乘以2,求最大价值和
- 这题我觉得非常有歧义,是一次魔法还是一种魔法
- 一种魔法的话,只需要再新建n个物品就可以了
- 一次魔法会比较难写,所以最后我写的是一次魔法,设置dp状态两维,第一维0/1表示是否使用了魔法,第二维表示当前背包剩余容量
H
给定一个凸n边形(1e2),选择他的n-2个点,使得选出的点连成的凸n-2边形面积最大
- 这题在PAT顶级里面有选择k个点的dp版本
- 不过这题计算几何裸题,叉积求出面积之后,扣除掉最小的两个三角形的面积即可
- but现场我在太困了,考完出来发现自己现场写的是扣除掉的同一端点为顶点的两个最小三角形面积?nice,AC变爆零了
I
修公路,两条直线a,b,每次只能在一条直线上向右走,两直线中间可以任意中,a上有若干点,b上有若干点,求需要遍历完所有点的最小距离 跳了
J
求解[L,R]中包含&#39;2022&#39;这个数的个数之和,1<=L<=R<=1e9
- 第一眼看成求数量,数位DP裸题
- 第二眼看对了,预处理一下以数字i开头的长度为j的dp数组f,表示总和,然后现场估计调不出来,写了暴力后我又跳了
- 赛后看了第三眼,貌似这数据范围反向枚举就够了???2022占了4位,剩下的需要枚举的不是只有6位???
|