数学
Jiahe Xu
为何要去攀登珠穆朗玛峰,因为她就在那里啊.
展开
-
hdu1757 A Simple Math Problem 矩阵乘法
简单矩阵,注意相乘的时候是a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10);原创 2014-10-27 18:58:17 · 511 阅读 · 0 评论 -
codevs 1631组合数 乘法逆元求组合数
由于组合数有时候m和n比较大,这样就无法一开始打表求得,原创 2014-10-17 18:30:54 · 846 阅读 · 0 评论 -
bzoj1007: [HNOI2008]水平可见直线 凸包
一种类似于凸包的做法。相同斜率的直线 b小的会被b大的遮住。不同斜率的直线最后就会构成一个像开口向上的二次函数的图像。按照斜率排序,再一个个加到栈里面。相同斜率的直接判断,不同斜率的直线间可以发现,设栈顶编号为(top);如果当前直线和栈中编号为(top-2)的交点横坐标在 直线(top-1)和(top-2)交点的左侧,那么当前直线就把top遮住了。建议自己画图。交点横坐标原创 2014-11-28 23:36:38 · 631 阅读 · 0 评论 -
BZOJ1011: [HNOI2008]遥远的行星 乱搞
这真是一道坑爹的题目啊,虽然我猜到怎么做了,但是还是不会搞。 设f[i]表示第i个行星所受的引力,g[i]表示第i个行星所受引力的最后来源行星。 则: 注意到题目中说了误差允许在百分之五之内,所以我们考虑f[i+t]与f[i]的关系。 由于:#include #include #原创 2014-11-29 12:50:14 · 719 阅读 · 0 评论 -
BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
不停地把第i列上的未知数消去。* 裸的高斯消元题* 二维平面上的圆上的点与圆心的距离有(x-a)^2+(y-b)^2 = r^2* 三维空间上的球上的点与球心的距离有(x-a)^2+(y-b)^2+(z-c)^2 = r^2* 同理:在n维空间上的球上的点与球心的距离有sigma((xi-ai)^2) = r^2,圆心为(a1,a2,...,an)** 另外,在二维平面上,原创 2014-12-03 12:53:26 · 515 阅读 · 0 评论 -
bzoj3143: [Hnoi2013]游走 高斯消元求概率
设p[i]为点i经过次数的期望.d[i]为点i的度数这个对于1特殊地,p[1]=1+sigma(p[j]/d[j]) (i,j之间有连边) 而虽然n点会被经过好多次,但是n点对它连接的边是不会有贡献的,所以p[n]=0。由于是连通图,必然有唯一解.高斯消元解即可.对于每一条边(v,u)它的期望经过次数为p[v]/d[i]+p[u]/d[v原创 2014-12-05 00:47:50 · 745 阅读 · 0 评论 -
bzoj3105: [cqoi2013]新Nim游戏 高斯消元
Sol:我们第一次拿完后,要使得剩下的火柴中不存在异或和为0的子集,否则对方会将先手必败的状态留给我们。因此我们需要寻求极大的线性无关组,答案即为总和减去极大线性无关组的权值和。显然存在线性无关组,因此必然存在解。那么如何求解极大线性无关组呢?我们能够证明这是一个拟阵,因此只需要从大到小排序,依次贪心的添加到当前集合就可以了。有关拟阵的证原创 2014-12-22 12:54:20 · 839 阅读 · 0 评论 -
bzoj1005: [HNOI2008]明明的烦恼
转自 http://www.cnblogs.com/zhj5chengfeng/archive/2013/08/23/3278557.html题目大意 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为 1 到 N 的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为原创 2014-12-27 21:06:36 · 683 阅读 · 0 评论 -
bzoj1042: [HAOI2008]硬币购物 容斥原理
神一般的容斥原理,主要是方法难想题意:给出四种面值的硬币c1,c2,c3,c4。n个询问。每次询问用d1、d2、d3、d4个相应的硬币能够拼出多少种总和为s?思路:(1)首先,用完全背包求出f[i]表示四种硬币的数量无限制拼出i的方案数。(2)接着我们来理解x=f[s]-f[s-(d1+1)*c1]的含义:x表示c1硬币的数量不超过d1个而其他三种硬币的数量不限制拼成s原创 2014-12-12 21:04:52 · 721 阅读 · 0 评论 -
hdu1576 ex_gcd
#include #include #include #include using namespace std;int ex_gcd(int a,int b,int &x,int &y){ if(b==0) { x=1; y=0; return a; } int r=ex_gcd(b,a%b,x,y);原创 2014-08-11 15:35:11 · 566 阅读 · 0 评论 -
HDU5955 Guessing the Dice Roll AC自动机+高斯消元
10个人围在一起丢色子,每个人给一个长度为l的序列,色子可以丢无限次,谁的序列先出现谁就胜利,游戏结束。先说个暴力Y解,先建立AC自动机,然后很容易想到dp[I][J] 第i步走到状态j的概率,然后很明显次数可以用矩阵优化,然而我的姿势怎么也卡不过去。。。。正解是喜闻乐见的高斯消元,和 游走 一样,先对每个状态建立方程组,然后把初始状态的概率设为1(初始状态即为失配状态)由于一开始由0出发原创 2016-11-17 14:02:02 · 1585 阅读 · 0 评论 -
hdu 1402 A * B Problem Plus FFT模板
FFT的实现..涉及大量的数学知识..搞不来..更玄学了.....反正FFT就是能够在O(nlogb)时间内将系数表示法转化为点值表示法,相乘后再将点值表示法转为系数表示法,然后实现卷积。FFT过程:两个次数界为n的多项式A(x)和B(x)相乘,输入输出均采用系数表示法。(假定n为2的幂)1)使次数界增加一倍:A(x)和B(x)扩充为次数界为2n的多项式,并构造起系数表示。2)原创 2017-07-08 16:16:01 · 519 阅读 · 0 评论 -
CF475D. CGCDSSQ
同时打两场比赛果然是作死,原创 2014-10-06 09:52:00 · 687 阅读 · 0 评论 -
HDU1713 gcd
GCD乱搞。。。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define ll __int64ll gcd(ll n,ll m){ if(n==0)原创 2014-08-11 10:11:47 · 514 阅读 · 0 评论 -
HDU1262 素数筛
#include #include #include #include #include using namespace std;#define maxn 11000int prime[maxn],cnt;bool isprime[maxn];void init(){ for(int i=2;i<=maxn;i++) { if(isprime[i原创 2014-08-11 10:48:47 · 613 阅读 · 0 评论 -
voj1781 ex_gcd
由拓展欧几里得可以得到 ax+by==1原创 2014-08-11 14:26:47 · 557 阅读 · 0 评论 -
hdu2136 素数筛
素数筛。。。#include #include #include #include #include using namespace std;#define maxn 1100000int isprime[maxn],cnt;void init(){ isprime[1]=0; for(int i=2;i<=maxn;i++) { if(!原创 2014-08-11 10:30:30 · 510 阅读 · 0 评论 -
poj2823 优先队列
简单优先队列#include #include #include #include #include #include using namespace std;#define maxn 1100000int q[maxn],h,t;int n,m,k,save[maxn],num[maxn];vectorans;void great(){ h=1; t=0;原创 2014-08-13 10:46:53 · 505 阅读 · 0 评论 -
hdu4556 欧拉函数
#include #include #include #include #include using namespace std;#define maxn 1000005#define ll __int64ll phi[maxn],ans[maxn];void init(){ phi[1]=1; for(int i=2;i<maxn;i++) {原创 2014-08-11 16:16:29 · 668 阅读 · 0 评论 -
hdu1695 dfs+欧拉函数
很经典的题,值得一做。。。#include #include #include #include #include #include using namespace std;#define ll __int64#define maxn 160000bool f[maxn] ;ll phi[maxn] ;//记录欧拉函数值ll prime[maxn] ;vectorg[max原创 2014-08-11 18:21:08 · 422 阅读 · 0 评论 -
bzoj1045: [HAOI2008] 糖果传递 贪心
贪心,找中位数,白书原题。原创 2014-07-10 20:59:57 · 732 阅读 · 0 评论 -
bzoj1048: [HAOI2007]分割矩阵 记忆化搜索
#include #include #include #include const int INF = (int)(1e9) + 10; const int N = 10 + 2;int d[N][N][N][N][N];//x1,y1,x2,y2,lim int r, c, lim; int ar[N][N];int sum(int x1, int y1, i原创 2014-08-04 09:16:01 · 734 阅读 · 0 评论 -
FFT快一些的模板
10w个火柴 问随机取三个能拼成三角形的概率#include #include #include #include #include using namespace std;const double pi = acos(-1.0);struct complex{ double r,i; complex(double _r = 0,double _i = 0)原创 2017-07-10 11:45:44 · 477 阅读 · 0 评论