摘要:
从正式入acm集训队后有一年有余,而今天打算结束了,这就是说,我今天晋级赛失败了。 而这一年多来所获得的是一块聊胜于无的区域赛铜牌,和一堆拖拖拉拉学的并不精通的初级的竞赛算法,而已。现状并不会令人过于悲伤,虽然就结果而言——走到今天,1月11日,然后结束了——这大抵会使人泄气,但换个角度,这其实就像 阅读全文
摘要:
题目:XOR Pair 分析: 官方题解看不太懂 ,还是套平常的板子做; 分析 |x-y| 的数位,用dp[pos][v1][v2]存满足条件的pair(x,y)的个数 按二进制位分析,最多有64位,所以pos==64 条件限制 : 1. x^y == n ,对数位来说即每一位都有 [x]^[y] 阅读全文
摘要:
数位dp是以数位上的关系为转移关系而进行的一种计数dp,题目基本类型是给定区间[l ,r] ,求l到r之间满足要求的数字的个数 . dp状态的转移方式通常是用 递归+记忆化搜索 ,转移顺序一般是由高数位转移到底数位 ,其中就是记忆化搜索保证了数位dp的高效率 例如千位2到百位转移要枚举0,1,2,3 阅读全文
摘要:
凸包:用一个凸多边形将所有点围起来,这个凸多边形就是凸包 1.先要引入一个数学工具,向量叉积 |c|=|a×b|=|a| |b|sinα (α为a,b向量之间的夹角) 则 |c| 为向量a ,b所组成的平行四边形的面积 这里是用叉积判断两向量的相对位置关系(非常有用!) 则 a x b < 0 (a 阅读全文
摘要:
大一以来有两门课程学了矩阵:离散数学的二元关系一章的关系矩阵 和 线性代数中的矩阵 矩阵是一种特别方便的数学工具,线性代数中,它可以用来解线性方程组 ,而离散数学中,他可以描述一个由 二元关系的集合(可以看成是有向图) 所构成的状态; 而dp解决的是通过状态之间转移寻找最优解的问题。 所以当一个dp 阅读全文
摘要:
之前学得好多算法都没写博客 ,来补一下板子 思想: dijkstra:贪心思想+最短路的最优子结构特性(也正是因为有负权的图没有此特性,因而不能适用 Bellman-Ford:动态逼近,不断松弛,算法基于这样一个事实:一条最短路最多包括V-1条边,所以进行E*V次松弛即可求得所有的单源最短路(否则就 阅读全文
摘要:
上周六南京邀请赛b题求幂塔函数 ,没做出来 ... 幂塔函数的关键就是说 am %mod 其中m特别大时的求法,会求这个直接递归求解就可以解决幂塔函数 当时打表发现了指数循环节(所以说以后要好好训练 打表 这种技能 ,虽然打cf时用不到 ,但比赛时经常会用到)这种东西,想到应该有确定循环节长度的算法 阅读全文
摘要:
题意:You are given two arithmetic progressions: a1k + b1 and a2l + b2. Find the number of integers x such that L ≤ x ≤ R and x = a1k' + b1 = a2l' + b2, 阅读全文
摘要:
crt: 问题: 求解形如: 的方程组 构造思想求解: 构造解 X = x1 + x2 + x3 +......+xn 其中 xi 的构造为 bi * (逆元项)*(消参项) 消参项: 使得 除了xi的其他项xj mod ai == 0 逆元项: 为消参项在mod ai 意义下的逆元 ,使得 bi 阅读全文
摘要:
扩展欧几里得定理用于解方程 ax + by = gcd(a,b) int Exgcd(int a, int b, int &x, int &y) { if (!b) { x = 1; y = 0; return a; } int d = Exgcd(b, a % b, x, y); int t = 阅读全文