【作业向】程序设计思维与实践 CSP-M4
♔A TT数鸭子
一道简单的模拟题,读入一个数后记录在不同位上出现的不同数字的个数即可。以及k大于10的时候已经没有意义了,因此不用在意。
1 |
|
♔B ZJM要抵御宇宙射线
这一题是要找以某点为中心到其他各点的距离的最大值的最小值,因为数据量不是很大,直接n^2 的复杂度枚举就可以。有一个坑点在于最小值的初始值要足够大,如果是用double类型最好使用使用LDBL_MAX作为最大值。(我用INT_MAX得了90分orz
1 |
|
♔C 宇宙狗的危机
一道区间dp的题目,由于是一颗二叉搜索树,所以其中序遍历必然是不下降的。所以,可以将序列中连续的某一段当做一颗子树来处理。
dp数组的状态可以定义为
- dp(i,j,0)表示区间[l,r]构成的子树是否可以以al−1为根
- dp(i,j,1)表示区间[l,r]构成的子树是否可以以ar+1为根
转移时
- 如果dp[l] [k−1]=1且dp[k+1] [r]=1且gcdx(ak,al−1)大于1,则dp[l] [r] [0]=1;
- 如果dp[l] [k−1]=1且dp[k+1] [r]=1且gcdx(ak,ar+1)大于1,则dp[l] [r] [1]=1.
1 |
|