题目链接 开颜色种类个二维树状数组,维护前缀和,单点修改、子矩阵查询。 注意读入的顺序,是$x_1\; x_2\; y_1\; y_2$而不是$x_1\; y_1\; x_2\; y_2$。 代码(100分): #include<iostream> #include<cstdio> #include ...
分类:
Web程序 时间:
2020-05-25 09:32:51
阅读次数:
75
min_25筛是min_25发明的能在$O(\frac{n^{\frac 3 4}}{log_2n})$复杂度内解决一类积性函数前缀和的算法,这类函数在自变量为质数的取值必须为多个完全积性函数的线性组合。 ...
分类:
其他好文 时间:
2020-05-25 00:19:55
阅读次数:
55
题意: 给你一个序列,如果有一个数满足序列里的一段子序列的和等于这个数,那么就称这个数为特殊数。 请你计算有多少个特殊数。 题解: 观察数据范围,我们可以构造一个桶记录每个数的出现次数,再枚举所有前缀和统计,用完这个桶就把它清空,时间复杂度O(n^2)。一开始写的map做法也是这个复杂度不知道为什么 ...
分类:
编程语言 时间:
2020-05-23 20:33:20
阅读次数:
64
题目大意:给一个01串,可以将0变成1,1变成0,每次变换记为1次操作,问最终让每个1之前的距离都为k,需要最少多少次操作 数据范围1e6,很明显的一个复杂度o(n)的一个dp 做题思路是从已知的合法串递推出更长的合法串 首先处理左边到i位置为止左边所有位置合法的状态:dp(i) = min( su ...
分类:
其他好文 时间:
2020-05-21 10:20:01
阅读次数:
36
A:http://codeforces.com/contest/1355/problem/A 题意: 每次加这个数每一位的最大和最小的乘积,求第K次的结果。 解析: 直接模拟即可,但是有一个TLE点,就是当最大或最小=0时,就需要终止了,因为再加下去值就不变了。 #include<iostream> ...
分类:
编程语言 时间:
2020-05-19 18:37:15
阅读次数:
69
题目链接: "P3907 圈的异或" sb 题,但还是没做出来。 核心思想是 $dfs$ 对于不是继承节点的已经扫过的点如果被连接就形成环。 异或可以用前缀和来处理。 借助一个定理: $$a \;\text{xor}\; b\; \text{xor}\; b=a$$ 直接把前面的再异或掉即可。 然而 ...
分类:
其他好文 时间:
2020-05-19 10:40:19
阅读次数:
49
题意:给你a,b,c,d,保证a<=b<=c<=d,问你有多少个x,y,z符合a<=x<=b<=y<=c<=z<=d,并且x,y,z能组成三角形。 思路:我们考虑到,x+y的最小值为a+b,最大值是b+c,我们可以差分计算出,这个区间内每个数有多少种可能的情况,再对数组计算前缀和,最后枚举z,看对于 ...
分类:
其他好文 时间:
2020-05-18 12:32:57
阅读次数:
197
大致题意: 找出一个位置可以选出最大的"横排总和+竖列总和"。 基本思路 利用前缀和的思想在读入的时候把每一列每一行的总和都算出来, 然后暴力枚举每一个点,每一个点的答案就是这一行和这一列的和, 最后找出最大的。 Code: ...
分类:
其他好文 时间:
2020-05-17 17:49:03
阅读次数:
81
LINK: "5.15 T2" 个人感觉生成函数更无脑 容斥也好推的样子. 容易想到每次放数和数字的集合无关 所以得到一个dp f[i][j]表示前i个数字 逆序对为j的方案数. 容易得到转移 使用前缀和优化即可。 进一步的可以设出其生成函数 对于第i次放数字 生成函数为$F(x)=1+x^1+x^ ...
分类:
其他好文 时间:
2020-05-17 15:59:35
阅读次数:
55
计数排序 排序思想: 对于数组 a[ ] 排序 ,先用数组c[ a[ i ] ] 记录其中的值出现的次数,然后计算前缀和;得出的值的意义就是 对于c[ a[i] ] 的值就是 对于所有的 a[ i ] 最后一个 a[ i ] 在数组中有序的排名,所以借助 ans[ ] 数组记录下标c[a[i] ] ...
分类:
编程语言 时间:
2020-05-16 12:49:20
阅读次数:
63