前缀和
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 · 172 阅读 · 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 longconst int N=2e6+10;int n,m;int mu[N],sum[N],prime[N],cnt,st[N];原创 2021-09-29 22:24:43 · 204 阅读 · 0 评论 -
icpc网络赛 J Red-Black Paths离线,前缀异或,重构图,暴力剪枝
Link题意:给定一个图,按照时间顺序建图,给点染成红黑色,求相邻两次询问之间新增的红黑路的价值的异或和,红黑路的价值指的是路上每个点的权值乘以长度。数据保证所有红黑路长度<=10。保证所有红黑路<=5000000思路:由于可以离线,我们可以按照时间序来存储图,由于我们只要红开头,黑结尾的,对于其他的我们可以减枝,把无关紧要的点去掉,一看复杂度,∑红黑路<=5000000\sum红黑路<=5000000∑红黑路<=5000000,就算每次暴力搜索红黑路也只有O(10)O原创 2021-09-23 11:18:02 · 464 阅读 · 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 · 302 阅读 · 0 评论 -
动态求区间和
复杂度mlognquestion树状数组做法#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 · 327 阅读 · 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 · 211 阅读 · 0 评论 -
K倍 区间 前缀和+思维
题目思路:我做的时候用的复杂度是n2,但是可以优化,既然是区间和,可以只要保证让前面的数modK和后面的数modK相等就能保证该区间能被整除#include<iostream>using namespace std;const int N=100010;long long a[N],cnt[N],sum[N];//坑题,会爆intint main(){ int...原创 2020-02-22 15:05:04 · 279 阅读 · 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 · 286 阅读 · 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 · 213 阅读 · 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 · 329 阅读 · 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 · 230 阅读 · 0 评论