欧几里得算法
文章平均质量分 75
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
【NOI2014模拟7.11】数学题(math)
Description给出两个二维向量a和b,求两个整数λ1,λ2\lambda_1,\lambda_2不同为0,使得λ1a+λ2b\lambda_1a+\lambda_2b最小。Solution富榄教我学数学=w= 为了方便我们约定|a|<|b|,a⋅b>0|a|<|b|,a·b>0 如果不是的话可以通过调整λ\lambda的正负性和交换a,b来完成。 我们要让|ax+by|最小 那么同时原创 2017-03-24 19:22:20 · 602 阅读 · 2 评论 -
类欧几里得算法推导
由于博主很菜,在这里只想简单推导两个最经典的问题模型用类欧的做法。 这两个模型的扩展等哪天有梦想了再补吧。。。Part 1求∑i=0n⌊ai+bc⌋\sum_{i=0}^{n}\lfloor{ai+b\over c}\rfloor 设答案为函数f(a,b,c,n) 当a>=c或b>=c的时候,我们可以提出一个⌊ac⌋\lfloor{a\over c}\rfloor或⌊bc⌋\lfloor{b\原创 2017-08-08 22:50:15 · 450 阅读 · 0 评论 -
【WinterCamp 2013】阿凡达
Description维护一个序列,资瓷 1:将A[l]~A[r]中的每一个A[x]变为(x-l+1)*a mod b 2:询问A[l]~A[r]的和n<=1e9,m<=5*1e4Solution考虑将一次赋值看做一个颜色段,然后同一个颜色段里面的和我们可以用类欧来计算。 用线段树维护是log^2的,但我们其实有一种更加优美的写法 我们可以用一棵平衡树来维护每一个颜色端,这样子复杂度就变成了原创 2017-12-20 22:27:30 · 372 阅读 · 0 评论