# AcWing_OJ **Repository Path**: FluorineHow/AcWing_OJ ## Basic Information - **Project Name**: AcWing_OJ - **Description**: AcWing_OJ刷题记录 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-10-01 - **Last Updated**: 2022-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README AcWing网站刷题记录 每天进步一点点喵呜~ 值得记录的题目: T1: 01背包问题.不是贪心策略,而是状态转移方程的思路. 状态f[j]定义:N件物品,背包容量j下的最优解.转移方程的核心是:`f[j] = max(f[j], f[j - v] + w);` T3:完全背包问题. 和01背包问题对比分析,也是使用状态转移方程,但是两者的状态转移条件方式不同. 依旧是计算选择每多选择一个物体时的最优解. ``` f[i][j] = max(f[i][j],f[i-1][j-v[i]]+w[i]);//01背包 f[i][j] = max(f[i][j],f[i][j-v[i]]+w[i]);//完全背包问题 ``` T25:剪绳子. 题目如下: 给你一根长度为$ n $绳子,请把绳子剪成$ m $段($m、n $都是整数,$2≤n≤58$ 并且$ m≥2$)。 每段的绳子的长度记为$ k[1]、k[2]、……、k[m]$。 可能的最大乘积$k[1]k[2]…k[m]$是多少? 例如当绳子的长度是8时,我们把它剪成长度分别为 2、3、3 的三段,此时得到最大的乘积 18。 解法: 尽量选择多的3,当仅剩下2和4时尽量用2 T27: 使用递归快速计算幂运算 T28: 在单链表中,指针p指向其中某一个结点,如果删除该结点:将该结点的下一个结点复制到该结点上,然后释放下一个结点的空间 T32: Go语言对切片处理的引用方式注意(为什么注销掉的哪一行不行)