欢迎光临散文网 会员登陆 & 注册

第一届NjtechCCSCPC题解

2023-04-02 16:39 作者:全氮阴离子  | 我要投稿

1.1/2序列

Tip:  1.答案显然只与2出现的位置有关

       2.记录每一个2出现的位置与2的总数sum,若2的总数为奇数输出-1否则输出第sum/2个2的位置,

       3.记得初始化第0个2出现的位置或者进行特判.

4.考察点:指针

参考代码:

2.默契测试

Tip:  1.每有一个相同的数字默契值乘2

       2.每轮游戏的默契值不重置

       3.当超过上限时应当停止计算

       4.若使用暴力搜索,时间复杂度将可能达到O*10^8导致TLE,使用平衡二叉树记录每轮的数字将时间复杂度优化至最大O*10^6,或使用空间换时间的方式,开一张10^6大小的表,每轮重置一次时间复杂度最大O*10^5*2

       5.考察点 二叉搜索,时空优化

参考代码:

3.A+B?

Tip:  1.高精度计算

       2.做不出来要想想是不是平时代码写少了

参考代码:

4.南京工业大学之旅

Tip:  1.从这题开始上难度了

       2.显然是求最短哈密顿路径的有向图版本

       3.求最短哈密顿路径没有高效算法,所以题目给的n只有18

       4.你可以尝试剪枝dfs和状压dp两种思路,剪枝能不能剪到不TLE就看你的本事了

5.初始化所有位为不可能达到的大值,状压dp第一维记录到达的点,第二位记录最后到达的点,dp[1][1]=0,dp数组中保存的是当前到达这些点的最短路劲长度,不包括回初始点的路径长。dp公式为dp[i][j]=min(dp[i][j],dp[pre][k]+path[k][j])pre为i的第j位置零后的值。完成dp后找出dp[(1<<n)-1][i]+a[i][1]的最小值,输出答案即可。

       6.考察点:状压dp,剪枝dfs,图论


参考代码:

5.开学考试

Tip:  1.纯粹的数论题,巨大的数据以及模数是质数是告诉你要用快速幂和乘法逆元了

       2.考察点:递推公式转通项,矩阵快速幂,乘法逆元

参考代码:

感谢AlexZhang提供的第四题源代码

第一届NjtechCCSCPC题解的评论 (共 条)

分享到微博请遵守国家法律