
矩阵
文章平均质量分 68
pizzaaaaa
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 3483 A Very Simple Problem
这题目。。。还是和上次CF的E题差不多(其实是阉割版)。 注意到x比较小。。。所以可以考虑二项展开再利用矩阵就能求解。 #include #include #include #define MAX 128 using namespace std; typedef __int64 i64; i64 MOD; i64 cb[MAX][MAX]; i64 v[MAX]; //先初始化c原创 2014-02-26 21:37:50 · 562 阅读 · 0 评论 -
HDU 3306 Another kind of Fibonacci
这题和上次的CF的E题是差不多的,可能还要简单一点。 还是求Sn mod 一个数的值,n这么大,肯定不能暴力吧。。。还是只能找log n的做法。。。 这时候我们又想起了我们的矩阵君。。。 Sn=Sn-1+An^2 An+1^2=(xAn+yAn-1)^2=x^2*An^2+y^2*An-1^2+2*x*y*An-1*An 然后就很好搞了。。。构造出来的矩阵见代码就行了。。。 你要是问我原创 2014-02-26 21:34:45 · 471 阅读 · 0 评论 -
UVA 10655 Contemplation! Algebra
这题给出a+b,a*b,让你求a^n+b^n。 第一直觉肯定是求出a和b,然后直接暴力求解。但是这里就有两个问题了。 一个是精度的浪费,当n很大的时候,如果a和b是小数,那就会带来很大的精度浪费,最终导致答案的错误。 第二个就是,可能这样的a和b是复数。 所以可以考虑利用递推求解。 (a^n+b^n)*(a+b)=a^(n+1)+b^(n+1)+ab*(a^(n-1)+b^(n-1))原创 2014-02-23 11:11:58 · 493 阅读 · 0 评论 -
POJ 3233 Matrix Power Series
矩阵类的题目。 这个k有点大,所以你单纯地快速幂然后求和是不可行的。 我们不妨令Sn=I+A+A^2+...+A^n 那么,Sn=Sn-1+An。写成矩阵的话我们有: Sn = I I * Sn-1 An+1=0 A An 此处的I是指单位矩阵。 然后矩阵快速幂即可。 #include #include #include #define MAX原创 2014-02-23 11:05:06 · 472 阅读 · 0 评论 -
BITACM 1047 Fibonacci Numbers
矩阵快速幂,没啥好说的。。。当时写得还是蛮难看的。 #include #include #define LL long long using namespace std; LL m; LL a[2][2]; LL b[30]; LL f1(LL n) { LL len=0; while(n) { b[len++]=n%2; n/=2;原创 2014-03-04 21:04:06 · 505 阅读 · 0 评论 -
Codeforces Round #263 (Div. 1)
56.Codeforces 461 A. Appleman and Toastman:简单的贪心. 57.Codeforces 461 B. Appleman and Tree 题意:给定一棵包含n个节点的树,这棵树的一些节点(至少一个)被染成黑色,现在可以删除一些边,使得删完边后的每个联通分量中恰好只有一个黑色节点.问满足条件的方案数一共有多少(对1e9+7取mod). 解法:树形原创 2014-11-05 11:05:02 · 577 阅读 · 0 评论 -
网络教室 Xor Sum
给定n个数,求取若干个数,使得这些数异或和最大.贪心:按位从高到低进行处理,若某一个数的第i位的值是1,则将其他第i位上是1的数都与之异或,可以证明这样贪心地做是正确的,顺带提一句,这样的过程很像gauss消元.原创 2014-11-03 22:30:47 · 466 阅读 · 0 评论