README: 本笔记是自己的备考笔记,按照官网提纲进行复习!适合有基础,复习用。 一、总考点 试题考查选手解决实际问题的能力,对于结果填空题,选手可以使用手算、软件、编程等方法解决,对于编程大题,选手只能使用编程解决。选手可在 C 语言程序中使用标准 C 的库函数, 在 C++语言程序中使用标准 C++的库函数(包括 C 库、STL 等)。
常用的算法二分模板 1. 在数组a[]中找大于等于x的第一个数的下标 //int ans = lower_bound(a, a + n, x) - a//相当于下方int l = 0, r = n - 1;while(l < r) {int mid = l + r >> 1;if(a[mid] >= x) r = mid;else l = mid + 1;}cout << r;
1.数位dp public class Main {static long[] limit;static int length;static long[][] dp;public static long dfs(int pos, int pre, boolean flag, boolean lead) {if (pos == length) return 1;if (!flag && !lead
1. 01 背包(采用状态压缩) public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int M = scanner.nextInt();int N = scanner.nextInt();int[] value = new int[N + 1];int[] weight = n
蓝桥杯备赛系列 倒计时50天! 前缀和和差分 知识点 **前缀和数组:**假设原数组用a[i]表示,前缀和数组用sum[i]表示,那么sum[i]表示的是原数组前i项之和,注意一般用前缀和数组时,原数组a[i]的有效下标是从1开始的。式子如下, s u m [ n ] = ∑ i = 1 n a [ i ] sum[n]=\sum_{i=1}^n a[i] sum[n]=i=1∑na[