2020年1月16日
摘要: 输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上c。 请你将进行完所有操作后的矩阵输出。 输入格式 第一行包含整数n,m, 阅读全文
posted @ 2020-01-16 18:19 qdu_lkc 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 一维差分: 给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c 二维差分: 给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c: S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 + 1] -= 阅读全文
posted @ 2020-01-16 17:42 qdu_lkc 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 输入一个长度为n的整数序列。 接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数,表示整数序列。 接下来m行,每行包含三个整数l,r,c,表示一个操作。 输出 阅读全文
posted @ 2020-01-16 17:06 qdu_lkc 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 输入一个长度为n的整数序列。 接下来再输入m个询问,每个询问输入一对l, r。 对于每个询问,输出原序列中从第l个数到第r个数的和。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数,表示整数数列。 接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。 输出格式 共m行,每行输出一个 阅读全文
posted @ 2020-01-16 14:23 qdu_lkc 阅读(339) 评论(0) 推荐(1) 编辑
摘要: 输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数n,m,q。 接下来n行,每行包含m个整数,表示整数矩阵。 接下来q行,每行包含四个整数x1, y 阅读全文
posted @ 2020-01-16 14:20 qdu_lkc 阅读(261) 评论(0) 推荐(0) 编辑
摘要: import java.util.Comparator; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; imp 阅读全文
posted @ 2020-01-16 14:16 qdu_lkc 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 一维前缀和 S[i] = a[1] + a[2] + ... a[i] a[l] + ... + a[r] = S[r] - S[l - 1] 二维前缀和 S[i, j] = 第i行j列格子左上部分所有元素的和 以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为: S[x2, y2] 阅读全文
posted @ 2020-01-16 13:09 qdu_lkc 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.回溯法-dfs(sort后,然后dfs,数列是按字典序的) import java.util.Arrays; import java.util.Scanner; public class Main { static int n; static final int max=1005; static 阅读全文
posted @ 2020-01-16 11:53 qdu_lkc 阅读(187) 评论(0) 推荐(0) 编辑