摘要:
1639 绑鞋带 是个数学题。 先算全部的方案,1有5种选择,然后去掉2个还有3种选择,再去掉2个还剩1个,这就是全部方案 \(5+3+1\)。 再算合法方案,因为只能有一个环,1不能与2连,有4种选择,那1假如连4,那3的话不能连1,2,3,4,还剩2个头,\(4+2\)。 上述结论具有普遍性,全 阅读全文
摘要:
51nod 1110 距离之和最小 考虑贪心取中位数,因为中位数到左边的点和右边的点的个数相同,更合理,权值的话可以转化为一个单点,然后没了。 #include<bits/stdc++.h> using namespace std; #define ll long long int n; struc 阅读全文
摘要:
动态规划入门题 怎么看着有点像小木棍? 考虑朴素做法,我们设状态为 \(dp[i][j][k]\) 前 \(i\) 个钢筋,组成的第一根钢筋的长度为 \(j\),组成的第二根钢筋的长度为 \(k\),我们用状态储存这对组合有没有过,答案就是所有 \(j==k\) 中存在的最大的答案。 有动态转移方程 阅读全文
摘要:
整数分解为2的幂 这题非常厉害,建议认真看下去虽然我讲的也不好。 首先肯定先想到的是多重背包,可以把每个次幂当作物品,然后套板子。 但是这题有 \(O(n)\) 复杂度的做法,我们想如果一个数 \(i\) 是奇数,那他只能由 \((i-1)+1\) 转化过来(2的幂次只有1是奇数),那方案数就是 \ 阅读全文