自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 题解

这题不简单,但都是上课讲过的内容

2021-02-19 22:33:24 116 1

原创 CF number theory 高端冲刺

2400446C区间加斐波那契,区间求和,很经典的题目了反正照例还是线段树然后两个斐波那契数列相加得到的函数依然是一个满足斐波那契规律的数列而任意一个具有斐波那契性质的数列hih_ihi​,都有以下性质∑i=1xhi=hi+2−h2\sum_{i=1}^xh_i=h_{i+2}-h_2∑i=1x​hi​=hi+2​−h2​hi+2=h1∗fi+h2∗fi+1h_{i+2}=h_1*f_{i}+h_2*f_{i+1}hi+2​=h1​∗fi​+h2​∗fi+1​显然搞个tag维护h1、h

2020-10-19 10:29:30 101 1

原创 数论小结

前置快速幂|快速乘问题1.求ab%pa^b\%pab%p的值问题2.求a∗b%pa*b\%pa∗b%p的值这个不解释了,直接上代码问题1:快速幂O(logn)O(logn)O(logn)long long kasumi(long long a,long long b,long long p){ long long ans=1; while(b) { if(b&1) ans=ans*a%p; a=a*a%p; b>>=1; } return ans;

2020-10-18 23:31:52 221 2

原创 codeforces EDU94 订正

1400F暴搜一下如果一个串的和为x且其中不存在一个子串#include<bits/stdc++.h>using namespace std;int cnt;int a[10010];void dfs(int x,int now,int y){ if(now==0) { a[++cnt]=y; return ; } for(int i=1;i<=9;i++) { int tmp=y; int flag=1;

2020-08-28 21:34:31 117

原创 codeforces 828E DNA Evolution(400棵树状数组)

题目链接给出一个DNA串,要求单点修改,区间询问给出串不断重复后形成的串与原串几处匹配注意到给出串长度只有十,考虑对于一个长度的字符串,他的每个位置都只能和l到r中与该位置余数相同的形成匹配,于是开四百棵树状数组,对于每个长度每个余数都进行记录,最后暴力枚举给出串每一位,答案之和便是答案内存和时间复杂度都比较紧……#include<bits/stdc++.h>using namespace std;int bit[100001][11][10][4];int kd[100001]

2020-08-22 17:20:59 117

原创 codeforces 1043F Make It One(容斥+组合数)

题目链接一个小于三十万的数最多只有七个不同的质因数,所以最多七个数考虑取n个数使gcd为一是否有解,显然跟点分治一样,两个包含因子x的数的gcd可能是x及其倍数,于是容斥每个gcd所存在的解数为所有是他倍数的数的数量中任取n个,接着减去所有gcd会是他倍数的情况复杂度是调和级数,nlogn代码如下:#include<bits/stdc++.h>#define mod 1000000007using namespace std;int a[300010],cnt[300010]

2020-08-21 21:12:01 200

原创 codeforces 1098E Fedya the Potter(倍增+类欧几里得+二分答案)

题目链接3400名副其实题解:首先考虑b数组,注意到ai<=100000a_i<=100000ai​<=100000则最大公约数不会超过100000100000100000于是可以开一个cnt数组记录b数组中每个数出现的个数现在考虑如何在复杂度内计算cnt对于每个起始位置,之后连续区间的gcd只会是他的因数,因数的因数……最多log次就会变成1对于每段延伸的区间的长度,我们可以用倍增去跳于是计算cnt的复杂度为O(nlogn2)O(nlogn^2)O(nlogn2)可喜可

2020-08-19 22:53:27 154

原创 codeforces 808F Card Game(二分+最大点权独立集)

题目链接题解:首先考虑到两奇数或两偶数之和必不为质数,所以可以将卡牌分为两类,不过注意一个特例是两个1,他们的和为质数,所以每次只能取一个,根据贪心,必然取最大的。显而易见,此时根据质数关系建边,便可得到二分图,每个点都有点权,有相连边的两点不能选,也就是需要求一个最大点权独立集。最大点权独立集=总和-最小点覆盖建完超级源汇点以后最小点覆盖=最小割=最大流无脑dinic即可由于有等级的限制,所以可以考虑二分这个等级,每次建图跑代码如下:#include<bits/stdc++.h&

2020-08-10 11:57:21 132

原创 ARC100E Or Plus Max(枚举子集)

题目链接思路:n2n^2n2算法很好得出,枚举每一个i j更新k,跑一遍前缀和思考优化,即如何快速得出k,考虑枚举每个i的母集,更新该母集所包含子集的最大值,并更新k,复杂度就是枚举子集的复杂度3log(n)3^{log(n)}3log(n)代码如下:#include<bits/stdc++.h>#define inf 1ll<<62using namespace std;int n;int a[300010];int max1[300010],ans[3000

2020-08-06 13:24:43 311

原创 codeforces 1182E Product Oriented Recurrence(欧拉降幂+矩阵快速幂递推数列)

原题链接题意:显而易见题解:可真是数论大综合……首先由Fuko_Ibuki大佬给出了本题最重要的一个卡点,移个项……cn∗fn=c3n−6∗fn−1∗fn−2∗fn−3c^n*f_n=c^{3n-6}*f_{n-1}*f_{n-2}*f_{n-3}cn∗fn​=c3n−6∗fn−1​∗fn−2​∗fn−3​没看出来就再移cn∗fn=cn−1∗fn−1∗cn−2∗fn−2∗cn−3∗fn−3c^n*f_n=c^{n-1}*f_{n-1}*c^{n-2}*f_{n-2}*c^{n-3}*f_{n-

2020-07-28 22:46:22 190

原创 codeforces 1372E Omkar and Last Floor(区间DP)

原题链接

2020-07-27 16:38:36 171

原创 hello world!

这里是一个准大一的学生从今天开始向着进ACM区域赛努力!

2020-07-27 16:07:13 68

空空如也

空空如也

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

TA关注的人

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