初学者常用内容:修订间差异
跳转到导航
跳转到搜索
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
补充中 | |||
==保留 3 位小数== | |||
<syntaxhighlight lang="cpp" line> | |||
cout << fixed << setprecision(3) << 1.0 / 3; | |||
</syntaxhighlight> | |||
==最大公因数/最小公倍数== | ==最大公因数/最小公倍数== | ||
比赛时允许使用 C++ 自带的 {{ic|code=__gcd(a,b)}} 函数求最大公因数。 | 比赛时允许使用 C++ 自带的 {{ic|code=__gcd(a,b)}} 函数求最大公因数。 | ||
<syntaxhighlight lang="cpp" line> | |||
int gcd(int a, int b) | int gcd(int a, int b) | ||
{ | { | ||
| 第14行: | 第22行: | ||
return a / gcd(a, b) * b; | return a / gcd(a, b) * b; | ||
} | } | ||
</syntaxhighlight> | |||
==广搜核心逻辑== | ==广搜核心逻辑== | ||
2026年2月12日 (四) 06:36的版本
补充中
保留 3 位小数
cout << fixed << setprecision(3) << 1.0 / 3;
最大公因数/最小公倍数
比赛时允许使用 C++ 自带的 __gcd(a,b) 函数求最大公因数。
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
int lcm(int a, int b)
{
return a / gcd(a, b) * b;
}
广搜核心逻辑
- 多测要清空
- 起点入队
- 重复取出队头并扩散
动态规划经典思路
- 大胆猜测状态
- 求最大长度:“前 i 项的最大长度”、“以第 i 项结尾的最大长度”
- 求方案数:“前 i 项的方案数”、“以第 i 项结尾的方案数”
- 求最大收益:“前 i 个物品的最大收益”
- 求最少操作次数:“s 的前 i 项与 t 的前 j 项的最少操作次数”
- 大胆猜测决策
- 选不选第 i 项
- 上一项选谁
- 不好求就加维度
- 前 i 个物品的最大收益:前 i 个物品在 j 体积下的最大收益