【题解/标程】2022牛客寒假算法基础集训营 1 题解+标程
九小时九个人九扇门
思路:数字根。知道后 f ( x + y ) = f ( f ( x ) + f ( y ) ) f(x+y)=f(f(x)+f(y)) f(x+y)=f(f(x)+f(y)) ,dp即可。
炸鸡块君与FIFA22
思路:线段树,处理出每一段的 s [ 3 ] s[3] s[3] , s i s_i si 表示初始分数对3区域为i时,进行完该段比赛后的增幅。关键是如何合并。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68875125
冒险公社
思路:我用的三维dp,官方用的四维。定义 d p ( i , j , k ) dp(i, j, k) dp(i,j,k) , j , k j,k j,k 为后两位岛的颜色。根据光的颜色,推断出 d p ( i − 1 , u , j ) dp(i-1,u,j) dp(i−1,u,j) 中的 u u u ,然后转移。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68889494
ACM is all you need
思路:枚举状态变化的关键点,然后转化为若干区间选点的最小值。在这道题研究了一下如何推不等式。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68868560
小沙的魔法
思路:贪心,从结果状态考虑如何贪心的利用边来降低结果。刚开始还往启发式合并思考。。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68924875
小沙的remake(竞速版)
思路:从大到小枚举值域进行 dp,数据结构优化。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68913344
智乃买瓜(another version)
思路:dp的逆问题。以 d p 1 dp_1 dp1 为突破点解决。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68925546
智乃的C语言模除方程
思路:利用类似前缀和思路。因为区间 [ 0 + k × p , p + k × p ) [0+k\times p, p+k\times p) [0+k×p,p+k×p) 是循环的,可以求得一段的贡献。
智乃的树旋转(easy version)
智乃的树旋转(hard version)
思路:因此题了解了平衡树。还原的话可以按照bfs序(原地bfs)进行依次还原。
AC代码:https://ac.nowcoder.com/acm/contest/view-submission?submissionId=68934433