Educational Codeforces Round 124 (Rated for Div. 2)
第283场周赛解答
发表于
更新于
本文字数: 4.9k 阅读时长 ≈ 4 分钟
本文字数: 4.9k 阅读时长 ≈ 4 分钟
第73场双周赛解答
发表于
更新于
本文字数: 5.3k 阅读时长 ≈ 5 分钟
本文字数: 5.3k 阅读时长 ≈ 5 分钟
第282场周赛解答
发表于
本文字数: 4.5k 阅读时长 ≈ 4 分钟
本文字数: 4.5k 阅读时长 ≈ 4 分钟
第281场周赛解答
发表于
更新于
本文字数: 5.3k 阅读时长 ≈ 5 分钟
本文字数: 5.3k 阅读时长 ≈ 5 分钟
JiuCherish的ACM模板代码
发表于
更新于
本文字数: 1.3k 阅读时长 ≈ 1 分钟
本文字数: 1.3k 阅读时长 ≈ 1 分钟
算法板子目录
- 基础算法
基础算法
高精度加法
1 | string add(string a, string b) { |
大数阶乘
1 | #include<bits/stdc++.h> |
二分
整数二分步骤:
1.找一个区间[L,R],使得答案一定在该区间中
2.找一个判断条件,使得该判断条件具有二段性,并且答案一定是该二段性的分界点。
3.分析终点M在该判断条件下是否成立,如果成立,考虑答案在那个区间;如果不成立,考虑答案在那个区间;
4.如果更新方式写的是R = Mid, 则不用做任何处理;如果更新方式写的是L = Mid,则需要在计算Mid时加上1。
写法一
当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。
1 | int bsearch_1(int l, int r) |
写法二
当我们将区间[l, r]划分成[l, mid - 1]和[mid, r]时,其更新操作是r = mid - 1或者l = mid;,此时为了防止死循环,计算mid时需要加1。
1 | int bsearch_2(int l, int r) |
第72场双周赛解答
发表于
更新于
本文字数: 4.3k 阅读时长 ≈ 4 分钟
本文字数: 4.3k 阅读时长 ≈ 4 分钟
第280场周赛解答
发表于
更新于
本文字数: 5.3k 阅读时长 ≈ 5 分钟
本文字数: 5.3k 阅读时长 ≈ 5 分钟
第280场周赛解答
发表于
更新于
本文字数: 5.3k 阅读时长 ≈ 5 分钟
本文字数: 5.3k 阅读时长 ≈ 5 分钟
第71场双周赛解答
发表于
更新于
本文字数: 6.3k 阅读时长 ≈ 6 分钟
本文字数: 6.3k 阅读时长 ≈ 6 分钟