08 2022 档案

摘要:注意 >> 的运算顺序在加减之后 // 找到所有要查询的和插入的位置,把这些位置去重排序,然后把他们映射为一个新的数组,这个数组的值就是哪些位置上有的值然后再用前缀和问题 #include<bits/stdc++.h> using namespace std; const int N = 30001 阅读全文
posted @ 2022-08-31 21:41 天然气之子 阅读(30) 评论(0) 推荐(0) 编辑
摘要:记录每个数字出现次数,如果又多次出现就从当前位置重新开始计算长度 #include <iostream> using namespace std; const int N = 100010; int n; int q[N],s[N]; int main() { scanf("%d",&n); for 阅读全文
posted @ 2022-08-26 23:59 天然气之子 阅读(15) 评论(0) 推荐(0) 编辑
摘要:由于定义 b[i][j] = a[i][j] + a[i - 1][j - 1] - a[i - 1][j] - a[i][j - 1], b数组的值这样求, 那么 a[i][j] = a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1] + b[i][j]; 每次 阅读全文
posted @ 2022-08-24 23:45 天然气之子 阅读(19) 评论(0) 推荐(0) 编辑
摘要:求左上矩阵的和 #include<bits/stdc++.h> using namespace std; int main() { #ifdef ONLINE_JUDGE #else freopen("D:\\Hello world\\编程输入2\\in.txt", "r", stdin); #en 阅读全文
posted @ 2022-08-24 19:27 天然气之子 阅读(22) 评论(0) 推荐(0) 编辑
摘要:直接求复杂度太高 //常规时间复杂度为 n*m // #include<bits/stdc++.h> // using namespace std; // int main() { // int n, m; // cin >> n >> m; // vector<int> nums; // for 阅读全文
posted @ 2022-08-24 19:24 天然气之子 阅读(24) 评论(0) 推荐(0) 编辑
摘要:二分法的模板 bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用: int bsearch_1(int l, int r) { while (l < r) { int mid = l 阅读全文
posted @ 2022-08-13 23:01 天然气之子 阅读(223) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示