随笔分类 -  数学

摘要:F. Fruit Sequences 参考:tutorial 遇到这种求\sum_^n\sum_^nf(l,r)的一般情况下都是固定一个端点,然后快速求解值即可。 这种题的解决办法就是寻找不同状态之间是如何转移的,然后要能够很快地转移过去,然后就可以得到答案了。 #include <bits/s 阅读全文
posted @ 2020-12-04 15:58 caoanda 阅读(84) 评论(0) 推荐(0) 编辑
摘要:B - Freebie 期望=i=1365i 把特殊天分为两类,一种是周末和周一,一种是周二三四五。 ① 对于假设把周末和周一合并为一天,也使得这一天在一年中出现的概率为3365。 要求出这一天是特殊天的概率有点复杂,正难则反。于 阅读全文
posted @ 2020-09-28 14:26 caoanda 阅读(239) 评论(0) 推荐(0) 编辑
摘要:求 n 以内的素数和以及素数个数 复杂度:O(n34) // Created by CAD #include <bits/stdc++.h> #define ll long long using namespace std; ll check(ll v,ll n,ll 阅读全文
posted @ 2020-09-24 10:26 caoanda 阅读(656) 评论(0) 推荐(0) 编辑
摘要:B. Binary Vector fn的意思是随机生成 n 个 n 维向量,这 n 个向量线性无关的概率。 线性无关指的是向量之间不能相互表示,既不存在解(至少要有一个 k 非0)使得k1+...+kn=0这个式子成立。 依次选取n个向量: 第一个向量非零即可,有$2n 阅读全文
posted @ 2020-07-28 10:20 caoanda 阅读(523) 评论(0) 推荐(0) 编辑
摘要:二次剩余 参考: 二次剩余Cipolla算法学习笔记 #include <bits/stdc++.h> using namespace std; const int mod=1e9+9; namespace TwoRemain { template <typename A, typename B> 阅读全文
posted @ 2020-07-22 12:42 caoanda 阅读(142) 评论(0) 推荐(0) 编辑
摘要:D - Omkar and Circle 参考:Codeforces Round #655 (Div. 2) 题解 (ABCD) 由题意可得,每次只取(n+1)/2个数,且只有一对数相邻。最后选取位置是奇数位或者偶数位。 用几个样例手推,来发现规律 // Created by CAD on 20 阅读全文
posted @ 2020-07-12 23:29 caoanda 阅读(345) 评论(0) 推荐(0) 编辑
摘要:"小V和方程" 需要用到的知识: "小球与盒子" 冷静分析,仔细思考 阅读全文
posted @ 2020-05-16 10:52 caoanda 阅读(382) 评论(0) 推荐(0) 编辑
摘要:"递归实现指数型枚举" 状态压缩: 分别遍历每一个状态即可。 阅读全文
posted @ 2020-02-26 15:24 caoanda 阅读(154) 评论(0) 推荐(0) 编辑
摘要:快速乘 参考: "小技巧1——长整型:64位整数的乘法模运算" 当 a 和 b 都大于1e9的时候,为了防止溢出,就需要一个算法,叫做快速乘。 实现方法一: 将乘法转换为加法,并且伴随着取模操作的进行,可以保证不会溢出。 而为了加速加法操作,可以利用快速幂的思路,对加法操作进行优化,复杂度为$O(l 阅读全文
posted @ 2020-02-22 16:13 caoanda 阅读(241) 评论(0) 推荐(0) 编辑
摘要:图中长度为k的路径的计数 Gk1+k2[u][v]=w=1nGk1[u][w]Gk2[w][v] 经过变形,Gk1+k2=w=1nGk1Gk2 所以Gk=G1k 阅读全文
posted @ 2020-02-21 22:58 caoanda 阅读(237) 评论(0) 推荐(0) 编辑
摘要:"Blocks" 利用递推的想法得到一个递推公式,在本质上它是一个 dp 的题目,但是由于 n 过大,不能使用 dp 解决,所以将递推公式化为矩阵乘法,所以可以用矩阵快速幂进行优化。 阅读全文
posted @ 2020-02-20 20:21 caoanda 阅读(417) 评论(0) 推荐(0) 编辑
摘要:矩阵快速幂 矩阵快速幂可以作为一种优化技巧,当知道第i+1项和第i项之间的递推式的时候,可以将其转化为矩阵运算,然后用矩阵快速幂进行优化。尤其适用于,要求第 n 项的值,而 n 很大的时候。 阅读全文
posted @ 2020-02-20 14:17 caoanda 阅读(143) 评论(0) 推荐(0) 编辑
摘要:O(m3log(n))求斐波那契数列 利用这个递推式:$(Fn+2Fn+1)=(1110)\begin{pmatrix}F_{n+1}\\F_{n}\end{ 阅读全文
posted @ 2020-02-19 10:08 caoanda 阅读(157) 评论(0) 推荐(0) 编辑
摘要:"D Domino for Young" 参考: "Codeforces Round 609 (DIV 2) D. Domino for Young" "D. Domino for Young" 题解的想法是将图形进行黑白交替染色 类似于: 黑白中个数最少的那个即是答案: 阅读全文
posted @ 2020-02-15 16:07 caoanda 阅读(144) 评论(0) 推荐(0) 编辑
摘要:"D Time to Run" "Codeforces Round 619 (Div. 2) Editorial" 特别要考虑到只有一行或者只有一列的情况。 如果由 k 直接正向推路径的话,难免会要考虑到很多种情况,不如先得到全部走完的路径,然后再从末尾开始减,一直到 k。另外,可以对将要输出的向量 阅读全文
posted @ 2020-02-14 22:23 caoanda 阅读(225) 评论(0) 推荐(0) 编辑
摘要:"C Ayoub's function" 参考: "Codeforces Round 619 (Div. 2) Editorial" 当从正面计算感觉很困难的时候,不如从反面来想,这是利用了容斥的思想。 我们只需要用所有子串的个数减去只包含0的子串个数即可。 而要是只包含0的子串的数量最少,那么就要 阅读全文
posted @ 2020-02-14 14:39 caoanda 阅读(202) 评论(0) 推荐(0) 编辑
摘要:"D Fill The Bag" 参考: "Educational Codeforces Round 82 A~E 题解" 因为这道题的 是2的幂次方,相当于是提示了我们需要用位运算来进行解决。 相当于二进制中的每一位,我们要做的是把 填进 n 的每一位中,一个 只能填一位。 低位的数字可以填高位, 阅读全文
posted @ 2020-02-13 15:26 caoanda 阅读(167) 评论(0) 推荐(0) 编辑
摘要:"D Aerodynamic" T所表示的图形就相当于是把原点放在P所表示的图形的边缘,然后不断的把图形平移,绕原点旋转,原点始终位于P所表示出的图形的边缘。 这样一来可以意识到只有当原图形是中心对称图形的时候,T与P才会相似。 "证明图形为中心对称图形" 阅读全文
posted @ 2020-02-11 15:16 caoanda 阅读(308) 评论(0) 推荐(0) 编辑
摘要:证明图形为中心对称图形 ①有偶数个点 ②所有第 i 个点和第 n/2+i 的中点的位置都一样 阅读全文
posted @ 2020-02-11 15:15 caoanda 阅读(528) 评论(0) 推荐(0) 编辑
摘要:逆序对 所求的交换次数等价于满足iaj(i,j)的数对的个数(这种数对的个数叫做逆序数)。 可以利用树状数组来求解逆序对的问题 阅读全文
posted @ 2020-02-09 11:28 caoanda 阅读(144) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示