自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 2021多校补题(8)

1006题目链接分析:换皮Nim,把每个数看成一堆石子,石子个数就是每个数的质因子个数。提前用线性筛预处理一下 以内的质因子个数就行了。线性筛模板#define maxn int prime[maxn];int visit[maxn];void Prime(){ memset(visit,0,sizeof(visit)); memset(prime, 0,sizeof(prime)); for (int i = 2;i <= maxn; i++) {

2021-08-20 12:41:27 226

原创 bitset

bitset类头文件#include<bitset>定义bitset<N> bset;//N为bset的位数成员函数bitset & operator &= (const bitset & rhs); //和另一个 bitset 对象进行与操作bitset & operator |= (const bitset & rhs); //和另一个 bitset 对象进行或操作bitset & operato

2021-08-20 12:40:40 121

原创 2021多校补题(10)

1003题目链接题意:给定n条直线,输出n条直线所有的交点。分析:简化版在HDU1466在简化版的基础上设 f[i][j]f[i][j]f[i][j] 表示用 i 条直线是否能凑出 j 个交点。可以用bitset来优化转移,做到O(n4/w)O(n^4/w)O(n4/w)的时间复杂度,这是难以通过1s的时间限制的。观察发现答案有相当长一段连续可行后缀,打表后发现最大不可行交点数不超过 31500 ,于是时间可以优化到 31500n2/w31500n^2/w31500n2/w ,可以通过本题。

2021-08-20 12:39:48 96

原创 2021牛客多校9_E(11260)

题意链接给定一个以1为根的有根树,孩子的点权小于父亲的点权。多次询问,每次询问包含x节点的权值范围为[l,r]的极大连通块的大小。分析病毒传播可以看作两个阶段,第一个阶段先上升到最高的一个节点p,第二阶段感染p的子树中所有温度大于l的城市。第一阶段可以通过倍增法求得p;第二阶段相当于在p的子树中查询权值大于l的节点个数,根据每个节点的dfs建立可持久化线段树(主席树),然后在线段树上查询即可。时间复杂度O(nlogn)O(nlogn)O(nlogn).AC代码#define _CRT

2021-08-16 12:02:34 230

原创 2021杭电多校补题(5)

1004题目链接定义F[i,j]F[i,j]F[i,j]表示字符串SSS中分别以i,j为左端点的两个子串满足k-匹配的最大长度。换句话说,F[i,j]F[i,j]F[i,j]等于使得S[i,i+L−1]S[i,i+L-1]S[i,i+L−1]与S[j,j+L−1]S[j,j+L-1]S[j,j+L−1]满足k-匹配的最大LLL。考虑如何计算所有的F[i,j](1≤i<j≤n)F[i,j](1\le{i}<j\le{n})F[i,j](1≤i<j≤n)我们枚举两个子串的左端点之差

2021-08-13 16:15:34 96

原创 2021杭电多校补题(6)

1001题目链接题意:给定数x,求包含x的区间和为素数的最小区间长度分析:显然 r > 0,r ≥ l,如果 l ≤ 0,此时 [l,r] 区间和 = [−l + 1,r] 的区间和,且 r ≥ −l + 1 > 0。故对于任意一个区间,都可以找到一个对应的 r ≥ l > 0 的区间与之对应,区间和相同。对于下式:∑i=lri=(l+r)(r−l+1)2\sum_{i=l}^ri=\frac{(l+r)(r-l+1)}{2}∑i=lr​i=2(l+r)(r−l+1)​当 l &

2021-08-12 09:05:33 141

原创 2021杭电多校补题(4)

完整代码:

2021-08-03 11:22:00 120

原创 2021杭电多校补题(3)

1009题目链接设 f i,j,k 表示从 (1,1) 走到 (i,j),一路上收集了 k 个钻石时,钻石的单价最高能涨到多少,则 ans = max(k × f n,n,k )。对于固定的 (i,j) 来说,考虑两个状态 f i,j,x 和 f i,j,y ,其中 x < y,如果 f i,j,x ≤ f i,j,y ,则状态 f i,j,x 一定不可能发展为最优解,可以剔除。对于每个 (i,j),用列表按照 k 升序保存所有状态,并剔除不可能成为最优解的状态即可。随机数据下当 n = 100

2021-08-02 21:10:40 103

原创 2021杭电多校补题(2)

1010 题目链接思路:纯粹的数学推导:其中需要用到快速幂,模板如下:int fastpower(int base,int power){ int res=1; while(power) { if(power&1) res*=base; base*=base; power>>=1; } return res;}完整代码:#include<bits/stdc++.h>using namespace std;#define LL

2021-07-26 11:02:27 116

原创 2021杭电多校补题(1)

杭电多校补题(1)1005(原题链接:https://acm.hdu.edu.cn/showproblem.php?pid=6954)思路:边权为lcm(a,b)。因为lcm(a,b)=a*b/gcm(a,b),所以有两种情况:1:当前顶点x为质数,则只需将当前顶点与2号顶点相连即可。因为:二是最小质数,gcm(2,x)=1。所以lcm(2,x)=2x/1=2x。2:当前顶点x为合数,则将x与x的约数相连,lcm(x,x的约数)=x;其中判断当前顶点是否为质数需要用到线性筛(欧拉筛),模板如下:

2021-07-26 10:33:31 154

转载 高精度算法模板(转载)

高精度算法模板(转载)本文转载自 https://blog.csdn.net/u013615904/article/details/43373601在这里,我们约定,能用int表示的数据视为单精度,否则为高精度。所有函数的设计均采用带返回值的形式。本文包含1.高精度加法2.高精度减法3.高精度乘法1)高精度乘高精度的朴素算法2)高精度乘高精度FFT优化算法3)高精度乘单精度4....

2020-03-04 00:15:05 282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除