把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 45 下一页
摘要: 题面传送门 我们考虑设$Sum_i$表示$[1,i]$组成的数。 然后就是让求$Sum_r-Sum_l\times 10^=0$ 移项得到$Sum_r=Sum_l\times 10^$ 两边同乘$10l$得到$Sum_r\times 10l=Sum_l\times 10r$ 然后移项得到$\frac 阅读全文
posted @ 2021-07-10 22:27 275307894a 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 hash那个很屑我们不去管。考虑确定性算法。 首先我们要保证区间最大减去最小为$(r-l)k$ 然后如果$k=0$直接看$gcd$即可。 否则看$gcd$是不是$k$的倍数且区间没有重复的数显然是对的。 然后关于区间没有重复的数直接维护前驱即可。 时间复杂度$O(nlogn)$ code 阅读全文
posted @ 2021-07-10 22:19 275307894a 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 考试的时候写了个常数大的要命的代码。然后思维复杂度不知道比std高多少。 首先我们知道一个结论:联通块个数等于点数-边数。 点数是平凡的,我们考虑边数。 边实质上是一个三维数点,三只log显然不行。 考虑对边差分,所以有$[1,r]\(减去\)[1,l-1]$,这样是二维数点两个log有70分。 发 阅读全文
posted @ 2021-07-10 22:07 275307894a 阅读(51) 评论(0) 推荐(1) 编辑
摘要: 一眼就感觉这个东西很APIO。 然后就真那道题的弱化版。 首先我们显然处理出每个点往右边跳能跳到哪里出$k$ 因为$a$非负所以这个东西显然单调可以双指针指出来。 然后发现我们得到的是一个树形结构。于是愉快地树上倍增即可。 时间复杂度$O((m+n)logn)$ code: #include<bit 阅读全文
posted @ 2021-07-10 21:58 275307894a 阅读(39) 评论(0) 推荐(1) 编辑
摘要: 你会发现这个东西不太好做。 然后你想到它最多只能有$41$的质数为因数。 然后就可以写个爆搜大概是枚举因数。 你发现这个东西复杂度大概是$O(能过)$,但是它有多测。 这个时候把表打出来就好了。 code: #include<bits/stdc++.h> #define I inline #defi 阅读全文
posted @ 2021-07-10 21:32 275307894a 阅读(39) 评论(0) 推荐(1) 编辑
摘要: 我真是tcl居然没有调出来。 首先套路地拆成上行和下行两端。 先考虑上行,对于一个点$u$如果满足条件那么它一定满足$d_l-d_=u$ 移项得到$d_l=d_u+u$ 这不是链上数一个数的个数吗,dfs的时候差分询问开桶记录即可。 然后下行也是一样的。 总的时间复杂度$O(mlogn+n)$时间复 阅读全文
posted @ 2021-07-09 22:15 275307894a 阅读(64) 评论(1) 推荐(1) 编辑
摘要: 这个显然是最长上升子序列长度。 考虑怎么求这个东西。 我们设$dp_{i,j}$表示在$A$中到了$i$,已经使用了$j$次的在$B$中最大能到达的位置。 然后考虑两种转移,一种是$A$后移,一种是$B$跳到最近的位置。 时间复杂度$O(nk)$,然而第二个包最后一个点过不去,特判了qwq code 阅读全文
posted @ 2021-07-09 21:55 275307894a 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 首先根据四色定理这个颜色肯定不超过$4$ 然后题目中给了$7$的样例是4,然后手推一下$1$到$6$即可。 然后考虑$4$怎么构造。 容易发现除了$2$其它都是奇数。 然后我们对这个东西奇偶染色容易发现上下只要颜色不同即可。 所以上面$12$下面$34$就好了。 code: #include<bit 阅读全文
posted @ 2021-07-09 21:46 275307894a 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 其实这道题是一眼秒了的。 因为$A$有正负所以显然按$A$正负开两颗平衡树维护即可。 但是并没有这么简单。 首先$A=0$,这个要特判。 然后它还会重复撤销一个不等式多次所以也要特判。 大概没了。时间复杂度$O(nlogn)$ code: #include<bits/stdc++.h> 阅读全文
posted @ 2021-07-09 06:45 275307894a 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 很妙的题目,考试的时候没做出来我果然是菜。 考虑对这个东西分治。 对于两边的分治下去即可。 然后对于跨越区间中点的特别处理。 对于左边处理出$Sum_i$表示$[i,m]$内的最大前缀长度,$Maxn_i$表示$[i,m]$内的最大子段和。 右边同理,那么对于一对$(i,j)\(答案就是\)\max 阅读全文
posted @ 2021-07-09 06:34 275307894a 阅读(52) 评论(1) 推荐(1) 编辑
摘要: 为什么我的$O(n)$做法比$O(nloglogn)$做法跑得还慢啊! 首先S1的长度为$i$的子串有$n-i+1$个。 然后全部长度为$i$的子串有$2i$个。 $i$成为答案长度的一个充分条件为$2i>n-i+1$ 带个$i=log(n+1)$进去发现成立。这启发我们将长度小于$i$的全部打出来 阅读全文
posted @ 2021-07-09 06:27 275307894a 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 我们发现每个值的贡献其实是独立的。 所以这启发我们对于每个值单独计算。 题目中真正有意义的合并只有$O(n)$次,每次暴力归并所以是$O(n2+m)$的。 但是这个显然不够优。 我们考虑启发式合并。 这样再用个set维护就可以了。时间复杂度$O(nlog2n)$ 用线段树合并可以一只log code 阅读全文
posted @ 2021-07-09 06:21 275307894a 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 我们设$dp_{i,j}$为到了第$i$个数,当前数为$j$的答案。 那么最后答案为$\sum\limits_{dp_{n,i}}$ 然后这个转移方程显然是$dp_{i,j}=\sum\limits_{dp_[k}\times j$ 看上去这个东西可以拉格朗日插值。 每次前缀和使次数加一 阅读全文
posted @ 2021-07-08 06:18 275307894a 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 我们考虑拉格朗日插值的式子$\sum\limits_{y_i\prod\limits_{j\ne i}{\frac}}$ 然后这道题式子是连续的,所以可以处理$inv_n=\frac{1}{n!}$ 然后提前一些东西得到$\frac{k!}{(k-n-1)!}\sum\limits_{y 阅读全文
posted @ 2021-07-07 20:34 275307894a 阅读(56) 评论(0) 推荐(0) 编辑
摘要: A 考虑无解的情况。显然$n$为奇数无解,然后$)\(在开头,\)($在结尾无解。 然后似乎没有其它反例了。 于是就过了。 code: #include<bits/stdc++.h> #define I inline #define max(a,b) ((a)>(b)?(a):(b)) #defin 阅读全文
posted @ 2021-07-06 22:07 275307894a 阅读(49) 评论(0) 推荐(0) 编辑
摘要: A 没什么好说的,就是模拟。 code: #include<bits/stdc++.h> #define I inline #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)<(b)?(a):(b)) #define abs(x) ((x 阅读全文
posted @ 2021-07-05 21:09 275307894a 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 发现我们只要能够去掉$R$就是多项式求逆板子。 我们考虑构造多项式$F_R(x)=xnF(\frac{1})$ 然后发现这个其实就是$F$倒过来。 我们知道$F(x)=G(x)Q(x)+R(x)$ 那么代入$x=\frac{1}$其实也是成立的,变成$F(\frac{1})=G(\fra 阅读全文
posted @ 2021-07-05 20:51 275307894a 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题目就是要让我们求这个东西$\ln(F(x))$ 如果我们设$G(x)=\ln(F(x))$ 对两边求导,因为右边那个是复合函数,求导公式是$f(g(x))=f'(g(x))g'(x)$ $\ln'(x)=\frac{1}$就得到$G'(x)=\frac{F'(x)}{F(x)}$ 然后 阅读全文
posted @ 2021-07-04 22:36 275307894a 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 我们考虑像多项式求逆那样求$G(x)2=F(x)(xn)$ 首先我们要求出$H(x)2=F(x)(x{\frac{n+1}{2}})$ 然后显然$G(x)-H(x)=0(x^{\frac{n+1}{2}})$ 两边平方就有$G(x)^2-2G(x)H(x)+H(x)2=0(x{\frac 阅读全文
posted @ 2021-07-04 18:57 275307894a 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 没想到卷积还能做匹配。学到了学到了。 首先我们将$A$反序,这样我们就要$A_$和$B_$相同。 如果我们将两个这样的设一个权值,那么如果一个数全部加起来为$0$,就是可以匹配的。 我们可以设为$(A_j-B_)^2$ 但是这里有通配符。 如果我们把权值改为$A_jB_(A_j-B_)^ 阅读全文
posted @ 2021-07-02 20:25 275307894a 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 首先爆枚每个数肯定是不行的。 考虑优化,我一开始写的是搜$g$然后判断是否可行。这样的大概是$107$中情况。 然而还要乘个$n$,复杂度铁定爆炸,卡常卡到$4.4s$实在卡不动。 然后发现其实$f$的左右两边是互为相反数的,只要搜一半即可。 时间复杂度$O(nC_{9}{\frac{2 阅读全文
posted @ 2021-07-01 20:04 275307894a 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 并不觉得这道题有黑题难度。 首先因为当$j>i$时$S(i,j)=0$所以这个东西其实可以写成$\sum\limits_{j!\times 2j\sum\limits_{S(i,j)}}$ 我们设$H(j)=\sum\limits_{S(i,j)}$就可以$O(n)$算这个式子的值了。 阅读全文
posted @ 2021-06-30 21:13 275307894a 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 我们考虑倍增,即算出$G_0$使得$G_0F\equiv1\pmod{x^{\frac{n+1}{2}}}$ 然后我们要求的就是$GF\equiv1\pmod{x^{\frac{n+1}{2}}}$ 所以$G-G_0\equiv0\pmod{x^{\frac{n+1}{2}}}$ 两边平 阅读全文
posted @ 2021-06-29 21:57 275307894a 阅读(41) 评论(0) 推荐(0) 编辑
摘要: A 排序后模拟即可。 #include<bits/stdc++.h> #define I inline #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)<(b)?(a):(b)) #define abs(x) ((x)>0?(x):-( 阅读全文
posted @ 2021-06-26 22:55 275307894a 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 代数推导天地灭,组合意义保平安。 首先我们发现如果我们预处理组合数然后暴力计算是$O(n2)$的很难优化。 我们考虑换一个思路。 我们知道$C{a_i+b_i}\(是从\)(0,0)\(走到\)(a_i,b_i)$的方案数。 那么原题目要求的就是$(-A_i,-B_i)\(走到\)(A_ 阅读全文
posted @ 2021-06-26 22:40 275307894a 阅读(37) 评论(0) 推荐(0) 编辑
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 45 下一页
浏览器标题切换
浏览器标题切换end