上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 29 下一页
摘要: "Subsequence" 该题要求的是连续序列,所以有两个方法,一个是是二分加前缀和,复杂度为$O(nlog(n))$,另一种方法是用尺取法,复杂度为$O(n)$ 尺取法代码: 阅读全文
posted @ 2020-02-01 14:21 caoanda 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 思路: 知道什么东西在变化,什么东西没有变化。 关于超时(cf上大概能跑1e8): 写之前先算算复杂度,如果$n^2$超时了,那可以考虑一下$nlog(n)$,用二分可以降低复杂度 当可以由一个东西或者两个东西确定另外一个东西的时候,我们最优办法是直接得到我们要的东西,然后看总量中是否存在这样一个东 阅读全文
posted @ 2020-01-31 23:08 caoanda 阅读(86) 评论(0) 推荐(0) 编辑
摘要: "D.小李打怪兽" 参考: "小李打怪兽——01背包" 通过化简可以得到最后所求东西为$sum (sum 2x)$(注:$sum=S_1+S_2,x=S_1 S_2$),当$S_1$与$S_2$最接近时,所求值最小。那么就只需要求出用$sum/2$的代价能够换得的最大值即可 代码: 阅读全文
posted @ 2020-01-31 21:33 caoanda 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数和欧拉定理 参考: "欧拉函数" 欧拉函数: 欧拉函数,即$\varphi(n)$,表示的是小于等于$n$和$n$互质的数的个数。 比如$\varphi(1)=1$。 利用唯一分解定理,我们可以把一个整数唯一地分解为质数幂次的乘积, 设 $n=p_1^{k_1}p_2^{k_2}...p_s 阅读全文
posted @ 2020-01-31 14:11 caoanda 阅读(243) 评论(0) 推荐(0) 编辑
摘要: "D Same GCDs" 参考: "欧拉函数" "CF1295D Same GCDs" 题意很明显要求出当$k\in [a,a+m),gcd=gcd(a,m)$时,满足$gcd(k,m)=gcd$的$k$的个数,由欧拉函数可以转换为$gcd(k/gcd,m/gcd)=1,k\in [a,a+m)$ 阅读全文
posted @ 2020-01-31 10:52 caoanda 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 区间筛法 对$[2,\sqrt{b}]$进行埃氏筛法的同时对区间$[a,b]$进行筛选 阅读全文
posted @ 2020-01-28 18:24 caoanda 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 埃氏筛法 复杂度:$O(nlog(log(n)))$ 模板: 阅读全文
posted @ 2020-01-28 11:28 caoanda 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 线性同余方程 参考: "线性同余方程" 同余方程$ax\equiv b(mod c)$ 定理1: 方程$ax+by=c$与方程$ax\equiv c(mod b)$是等价的,有整数解的充要条件为$gcd(a,b)|c$。 根据定理1,我们可以先利用扩展欧几里得算法求出$ax+by=gcd(a,b)$ 阅读全文
posted @ 2020-01-27 12:40 caoanda 阅读(201) 评论(0) 推荐(0) 编辑
摘要: "E Obtain a Permutation" 参考: "Codeforces Round 615 (Div. 3) Editorial" 其实这个算法的本质也就是暴力,只不过是更为有效的暴力 每一列之间不互相影响,那么只需要求出每一列的最小值即可 对于每一列:进行贪心,具体的贪心代码: 代码: 阅读全文
posted @ 2020-01-25 20:47 caoanda 阅读(265) 评论(0) 推荐(0) 编辑
摘要: "C Hacker, pack your bags!" 谨记 函数是$O(nlog(n))$的复杂度。 我们对每一个旅途进行遍历,分别找到开始符合条件的那一个旅途,这里的复杂度可以用二分来降低,但是我们还需要找到一个满足条件而且权值最大的旅途,如果我们此时进行遍历的话,就是$O(n^2)$的复杂度了 阅读全文
posted @ 2020-01-22 00:14 caoanda 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 29 下一页