数学
文章平均质量分 66
BraketBN
这个作者很懒,什么都没留下…
展开
-
【BZOJ1045】[HAOI2008] 糖果传递【绝对值不等式】【中位数】【数形结合】
【题目链接】大白上一开始的题...一开始只会O(n^2)做法,后来发现是大白上原题,发现原来是个数形结合。设xi表示第i个人给了第i-1个人的糖果数,x1表示第1个人给了第n个人的糖果数。设目标糖果数为M(是已知的,为平均值)。设一开始每个人的糖果数为numi。那么有:对于第1个人,num1 - x1 + x2 = M → x2 = M - num1 + x1 = x1原创 2016-03-29 14:50:05 · 950 阅读 · 0 评论 -
【BZOJ1696】[Usaco2007 Feb]Building A New Barn新牛舍【中位数】【绝对值不等式】【贪心】
【题目链接】经典中位数排序。分奇偶讨论。(1)奇,取最中间的点,如果上面无牛,直接算;如果有牛,那么取周围四个点,算。(2)偶,取中间两个点,分别记为(x, y) (xx, yy),那么最短距离确定了,点数为(xx - x + 1) * (yy - y + 1) - 内部的牛的个数/* Pigonometry */#include #include using原创 2016-04-06 08:23:41 · 589 阅读 · 0 评论 -
【BZOJ1041】[HAOI2008]圆上的整点【数学】
【题目链接】奇怪的姿势。【csyzcyj的题解】/* Footprints In The Blood Soaked Snow */#include #include typedef long long LL;LL R;inline int gcd(LL a, LL b) { for(; b; b ^= a ^= b ^= a %= b); return a;原创 2016-03-28 20:25:54 · 346 阅读 · 0 评论 -
【BZOJ1197】[HNOI2006]花仙子的魔法【递推】
【题目链接】【VFK的题解】边界条件可以用样例推出来。首先m = 0时是1(即空空间)然后n = 1时是m * 2(用样例画一画)由递推式可以得到n = 0时是2。/* Telekinetic Forest Guard */#include #include #include using namespace std;typedef long long LL;原创 2016-05-24 17:41:01 · 443 阅读 · 0 评论 -
【BZOJ2876】[Noi2012]骑行川藏【二分】【拉格朗日乘数法】
【题目链接】显然是一个约束条件下多元函数最值问题,那么就用拉格朗日乘数法就行了。然后二分lambda的值,解方程。具体见POPOQQQ大爷的题解【POPOQQQ的题解】/* Telekinetic Forest Guard */#include #include #include using namespace std;typedef long double原创 2016-05-03 11:40:01 · 496 阅读 · 0 评论 -
【BZOJ1485】[HNOI2009]有趣的数列【Catelan数】【线性筛】
【题目链接】这个质因数分解劲啊【xkui的题解】/* Telekinetic Forest Guard */#include #include #include using namespace std;typedef long long LL;const int maxn = 2000005;int n, m, p, prime[maxn], mn[maxn]原创 2016-05-26 16:41:18 · 607 阅读 · 0 评论 -
【BZOJ2875】[Noi2012]随机数生成器【矩阵快速幂】
【题目链接】1A。/* Telekinetic Forest Guard */#include #include using namespace std;typedef long long LL;struct _mat { LL num[2][2];} trans, E;inline LL mul(LL a, LL b, LL p) { return (a *原创 2016-05-13 18:06:06 · 408 阅读 · 0 评论 -
【BZOJ3656】异或【扩展Lucas】【线性无关】
因为新数列中的数线性无关,所以答案就是C(n, k) % p,因为p比较小,写个扩展Lucas就好了。证明一下线性无关:首先有两个引理:定理1:一个n×n的矩阵A是非奇异的充要条件为 A的行列式不等于0。定理2:令x1, x2, ..., xn为R^n中的n个向量,并令X = (x1, ...,xn)。向量x1, x2, ..., xn线性无关的充要条件是X原创 2016-02-26 19:46:53 · 1406 阅读 · 0 评论 -
【BZOJ2445】最大团【推公式】【中国剩余定理】【扩展Lucas】
【题目链接】公式为:设 ans = ∑(n! / ((d!)^(n/d)*(n/d)!))则答案为m ^ ans证明:考虑现在有d * k个点,d代表每个团的点数,那么k就是个数了,记方案数为Ak。然后现在又来了d个点,记方案数为Ak+1。(即现在有n = d * (k + 1)个点)我们选择一个点,让这个点与其他的d - 1个点组成团,方案数为C(d *原创 2016-05-30 07:54:07 · 999 阅读 · 0 评论 -
【BZOJ2326】[HNOI2011]数学作业【矩阵快速幂】
【题目链接】原来矩阵快速幂还可以分段玩。/* Telekinetic Forest Guard */#include #include #include using namespace std;typedef long long LL;LL n;int p; struct mat { int num[3][3];} E, ans;inline LL mu原创 2016-05-20 11:16:21 · 392 阅读 · 0 评论 -
【BZOJ3032】七夕祭【绝对值不等式】【中位数】【数形结合】
【题目链接】这题是BZOJ1045的二维版本。因为行列独立,所以分别跑一次就行啦。【BZOJ1045题解】/* Pigonometry */#include #include using namespace std;typedef long long LL;const int maxn = 100005;int n, m, t, x[maxn], y[m原创 2016-04-05 22:14:02 · 1065 阅读 · 0 评论 -
【SPOJ-HIGH】Highways【高斯消元】【Matrix Tree定理】【行列式】
求生成树个数...n 注意开LL。(又写了一发高斯消元)#include #include #include using namespace std;typedef long long LL;typedef long double LD;const int maxn = 15;const double eps = 1e-3;原创 2016-02-18 17:42:53 · 965 阅读 · 0 评论 -
【BZOJ3293】[Cqoi2011]分金币【绝对值不等式】【中位数】【数形结合】
【题目链接】同【BZOJ1045题解】/* Pigonometry */#include #include using namespace std;typedef long long LL;const int maxn = 1000005;int n, num[maxn];LL C[maxn], M;inline int iread() { int f =原创 2016-04-03 23:31:08 · 616 阅读 · 0 评论 -
【BZOJ1089】[SCOI2003]严格n元树【递推】【高精度】
以为可以组合数分类递推求和,然而还是too naive。设f[i]为高度小于等于i的树的方案数,那么有f[i] = (f[i - 1] ^ n) + 1。答案为f[d] - f[d - 1]然后敲个高精度就好啦。话说最大数据似乎根本跑不了。/* Footprints In The Blood Soaked Snow */#include #i原创 2016-03-04 20:56:37 · 457 阅读 · 0 评论 -
【SPOJ-KNJIGE】KNJIGE【思维】【贪心?】
特别有趣的题...已知一个1到n的排列,每次可以把其中一个数放到最前面,问至少经过多少次操作,可以使这个排列变为升序。我们可以发现,处于原排列的一段 (1)以n结尾 (2)大小相邻(可以不连续)的子序列,是没有必要去操作的。比如1 3 2 4 5中,可以找到3 4 5这个子序列。我们通过操作其他的数字,上面这个例子里就是1和2,达到最终排序的效果。显然一原创 2016-02-19 12:49:28 · 405 阅读 · 0 评论 -
【SPOJ-IWGBS】0110SS【Fibonacci】【高精度】
显然是Fibonacci数列,然后写个高精度就好了。目测赋值可能会慢,于是用了类似滚动变量的东西...#include #include using namespace std;const int maxn = 10005;struct bigint { int num[maxn], len; bigint() { for(int i = 0; i原创 2016-02-19 11:07:10 · 810 阅读 · 0 评论 -
【SPOJ-TSHOW1】Amusing numbers【二进制】
把5当成0,把6当成1。先找第k个数的长度是多少,然后再看是第几个数。#include typedef long long LL;const int maxd = 52;LL n, pos[maxd], bin[maxd];int main() { pos[0] = 1; bin[0] = 1; for(int i = 1; i < maxd; i++) p原创 2016-02-18 23:34:27 · 534 阅读 · 0 评论 -
【SPOJ-CRDS】Cards【数数】
小学数学...观察规律可得:ans = (3 * n ^ 2 + n) / 2提前算出2在1000007下的逆元,然后就没什么了...(PS:看下面第一个评论:Pranay Kumar: 2016-02-04 12:11:33 Too easy!! Move to tutorials!!!!)原创 2016-02-18 12:41:19 · 688 阅读 · 1 评论 -
【SPOJ-TRIGALGE】Easy Calculation【二分法】【牛顿迭代法】
题意:求Ax+Bsinx=C的解。一开始,我高高兴兴的写了二分法:虽然比较长,但是一发AC了。#include #include const double eps = 1e-9;double A, B, C;bool check(double x) { if(A * x + B * sin(x) - C < eps) return 1; retur原创 2016-02-21 21:48:47 · 618 阅读 · 0 评论 -
【BZOJ4236】JOIOJI【数学】【排序】【乱搞】
【题目链接】%%%【lych_cys的题解】/* Footprints In The Blood Soaked Snow */#include #include using namespace std;const int maxn = 200005;int n, si[maxn], sj[maxn], so[maxn];char str[maxn];struc原创 2016-03-31 17:24:01 · 583 阅读 · 0 评论 -
【Codeforces659G】Fence Divercity【数学】【计数DP?】
【题目链接】题意:给出一些积木,现在可以拿走一些积木,但是拿走一个积木的要求是该积木上面的积木都被拿走,并且要求拿走的积木构成的阴影图是连通的。最底下一层不能拿走。求方案数。其实是个数学计数问题,题解说的很详细了,不多说了。/* Footprints In The Blood Soaked Snow */#include #include using namespace原创 2016-03-31 22:48:43 · 815 阅读 · 0 评论 -
【POJ2926】Requirements【二进制】【最大曼哈顿距离】
【题目链接】手被烫伤了,只能一只手敲题了,随便敲个短的。论文题,见《浅谈信息学竞赛中的“0”和“1”》武森/* Pigonometry */#include #include using namespace std;typedef double DB;const int maxn = 100005, maxd = 7, inf = 0x3f3f3f3f;int n,原创 2016-04-03 21:59:23 · 423 阅读 · 0 评论 -
【BZOJ1300】[LLH邀请赛]大数计算器【快速幂】【姿势】
【题目链接】比较有意思...经典的组合数取模问题,我们用质因数分解解决。低位的计算就不说了,直接快速幂取模就可以。对于高位的计算,我们计算log10下的答案,即log10(p1^a1*p2^a2*...*pk^ak) = a1*log10(p1) + a2*log10(p2) + ... + ak*log10(pk)记上式为ans,那么答案应该为10^ans,但是我们只要最原创 2016-06-02 15:21:32 · 712 阅读 · 0 评论