前缀和
goto_1600
我何来寂寞,哪有寂寞可言。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
元素和为目标值的子矩阵数量
思路: 由于n和m都是100以内,我们只要控制复杂度在n^3以内就行了,我们可以枚举任意两列,然后枚举行,用个哈希表存一下这种类型的前缀和,算一下贡献就行了。 代码: const int N=1010; class Solution { public: int s[N][N]; int numSubmatrixSumTarget(vector<vector<int>>& matrix, int target) { memset(s,0,s.原创 2021-06-01 16:48:51 · 202 阅读 · 0 评论 -
Easy Math 杜教套路 积性函数
Link 题意 求∑i=1mmu[i∗n]n<=1e12m<=2e9\sum_{i=1}^{m}mu[i*n]\\ n<=1e12 m<=2e9∑i=1mmu[i∗n]n<=1e12m<=2e9 #include<bits/stdc++.h> using namespace std; #define int long long const int N=2e6+10; int n,m; int mu[N],sum[N],prime[N],cnt,st[N];原创 2021-09-29 22:24:43 · 243 阅读 · 0 评论 -
icpc网络赛 J Red-Black Paths离线,前缀异或,重构图,暴力剪枝
Link 题意: 给定一个图,按照时间顺序建图,给点染成红黑色,求相邻两次询问之间新增的红黑路的价值的异或和,红黑路的价值指的是路上每个点的权值乘以长度。数据保证所有红黑路长度<=10。保证所有红黑路<=5000000 思路: 由于可以离线,我们可以按照时间序来存储图,由于我们只要红开头,黑结尾的,对于其他的我们可以减枝,把无关紧要的点去掉,一看复杂度,∑红黑路<=5000000\sum红黑路<=5000000∑红黑路<=5000000,就算每次暴力搜索红黑路也只有O(10)O原创 2021-09-23 11:18:02 · 512 阅读 · 0 评论 -
Vasya And Array
题目含义:给定一个长度为n的数列,给你m次操作 ,输入t,l,r ,如果t等于1的话说明l到r之间是不降序区间,t=0则相反,然后问你这所有询问是否有矛盾,如果无矛盾输入一组解。 思路:定义一个差分序列,原数组flag[i]代表i与i+1是否呈不降序,那么可以发现t等于1的时候每次操作就等价于将a[l]++和a[r]–,然后我们把所有前缀和累加起来,如果flag大于0则a[i]=true,将所有t=0的询问放到容器里面处理,判断是否矛盾等价于s[y-1]-s[x-1]==y-x,s数组表示的是前缀和,如果区原创 2020-09-01 17:34:25 · 340 阅读 · 0 评论 -
动态求区间和
复杂度mlogn question 树状数组做法 #include<iostream> using namespace std; const int N=100010; int tr[N],w[N]; int n,m; int lowbit(int x) { return x&-x; } void add(int a,int b) { for(int i=a...原创 2020-02-25 10:36:32 · 386 阅读 · 0 评论 -
二维前缀和
题目 #include<iostream> using namespace std; const int N=5010; int sum[N][N];//题目不允许我们开两个二维的 int s,r; int maxx,maxy,ans; int main() { cin>>s>>r; r=min(r,5000); maxx=m...原创 2020-02-22 15:31:57 · 239 阅读 · 0 评论 -
K倍 区间 前缀和+思维
题目 思路:我做的时候用的复杂度是n2,但是可以优化,既然是区间和,可以只要保证让前面的数modK和后面的数modK相等就能保证该区间能被整除 #include<iostream> using namespace std; const int N=100010; long long a[N],cnt[N],sum[N];//坑题,会爆int int main() { int...原创 2020-02-22 15:05:04 · 312 阅读 · 0 评论 -
前缀和,求到比该数大的距离
题目 给定一个矩阵,求他达成至少一列或一行都为素数的操作数,每次操作可以让一个数加一 思路:将矩阵转化为该点到比他大的最小素数的距离。遍历矩阵求前缀和的最小值 #include<iostream> #include<algorithm> using namespace std; const int N=100010; int prime[N],cnt; bool st[N]...原创 2020-02-16 19:42:46 · 336 阅读 · 0 评论 -
二维前缀和
题目大致意思求最大矩阵 输入k 矩阵元素和不超过k #include<stdio.h> #include<iostream> #include<algorithm> typedef long long ll; using namespace std; ll a[255][255]; ll sum[255][255]; int main() { ll k; ...原创 2020-01-29 16:13:19 · 236 阅读 · 0 评论 -
查分前缀和
FJ’s N (1 ≤ N ≤ 10,000) cows conveniently indexed 1…N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of t...原创 2020-01-27 22:17:55 · 364 阅读 · 0 评论 -
前缀和·
There are n banks in the city where Vasya lives, they are located in a circle, such that any two banks are neighbouring if their indices differ by no more than 1. Also, bank 1 and bank n are neighbour...原创 2020-01-27 22:11:05 · 264 阅读 · 0 评论
分享