摘要: 莫比乌斯反演 PoPoQQQ的讲义例一的一半……好吧这题是那题的基础部分= =很水……WA了一次:因为没强制类型转换LL 1 /************************************************************** 2 Problem: 1101 3 ... 阅读全文
posted @ 2015-02-16 17:28 Tunix 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 莫比乌斯反演 PoPoQQQ讲义第二题。 暴力枚举每个质数,然后去更新它的倍数即可,那个g[x]看不懂就算了…… 为什么去掉了一个memset就不T了→_→…… 1 /************************************************************** ... 阅读全文
posted @ 2015-02-16 16:03 Tunix 阅读(224) 评论(0) 推荐(0) 编辑
摘要: T1 啊……a^b与 c^d比较大小,我们可以两边取对数,转化成 log(a^b)=b*log(a)和d*log(c) 这样就能直接算了……然后稍微搞一下精度什么的就A了=。= 1 //BC #29 2 #include 3 #include 4 #include 5 #include 6 #i... 阅读全文
posted @ 2015-02-07 22:13 Tunix 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 莫比乌斯函数:http://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html Orz PoPoQQQ 这个证明过程第三步和第四步一开始没看懂…… 第三步:观察计算左边f(k)的系数,可以看出只要d不大于n/k均可以使μ(d)成为f(k... 阅读全文
posted @ 2015-02-06 23:26 Tunix 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 莫比乌斯反演/容斥原理 OrzPoPoQQQ PoPoQQQ莫比乌斯函数讲义第一题。for(i=1;i12 #include13 #include14 #include15 #include16 #define rep(i,n) for(int i=0;i=n;--i)19 using name... 阅读全文
posted @ 2015-02-06 23:22 Tunix 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 生成函数+FFT Orz PoPoQQQ 这个题要算组合的方案,而且范围特别大……所以我们可以利用生成函数来算 生成函数是一个形式幂级数,普通生成函数可以拿来算多重集组合……好吧我承认以上是在瞎扯→_→ 这个东西我也不记得是多会儿看的了……找本《组合数学》自己看看好了……或者问学数学竞赛的同... 阅读全文
posted @ 2015-02-06 19:08 Tunix 阅读(539) 评论(0) 推荐(1) 编辑
摘要: FFT c[k]=sigma a[i]*b[i-k] 这个形式不好搞…… 而我们熟悉的卷积的形式是这样的 c[k]=sigma a[i]*b[k-i]也就是【下标之和是定值】 所以我们将a数组反转一下就可以卷积了=。= 1 /**********************************... 阅读全文
posted @ 2015-02-06 17:30 Tunix 阅读(202) 评论(0) 推荐(0) 编辑
摘要: BSGS BSGS裸题,嗯题目中也有提示:求a^m (mod p)的逆元可用快速幂,即 pow(a,P-m-1,P) * (a^m) = 1 (mod p) 1 /************************************************************** 2 ... 阅读全文
posted @ 2015-02-06 16:03 Tunix 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 组合计数/乘法逆元 排列组合求总方案数 这个可以用一个一维的动态规划解决: f[i][0]表示第i头牛是牝牛的方案数 f[i][1]表示第i头牛是牡牛的方案数 则转移为:f[i][0]=f[i-1][0]+f[i-1][1]; f[i][1]=f[i-K-1][... 阅读全文
posted @ 2015-02-06 12:13 Tunix 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 快速幂/扩展欧几里得/BSGS 经典好例题!! 三个问题三种算法…… 算法:白书(算法竞赛入门经典——训练指南)全有…… 1 /************************************************************** 2 Problem: 2242 ... 阅读全文
posted @ 2015-02-05 23:51 Tunix 阅读(252) 评论(3) 推荐(0) 编辑
摘要: 之前一直有些疑惑……在群里问了下,ydc神犇的回复解决了我的疑惑,写篇博客记录一下这个做法。对于线性同余方程组: a1*x≡b1 (mod c1) a2*x≡b2 (mod c2) …… an*x≡bn (mod cn)1.若有c1、c2、c3、……cn两两互质,则可以用中国剩余定理直接算出... 阅读全文
posted @ 2015-02-05 22:44 Tunix 阅读(1126) 评论(0) 推荐(1) 编辑
摘要: 扩展欧几里德+快速幂 每次转换位置:第x位的转移到2*x %(n+1)这个位置上 那么m次后就到了(2^m)*x %(n+1)这个位置上 那么找洗牌m次后在 l 位置上的牌就相当于解线性模方程: (2^m)*x ≡ l (mod n+1) 扩展欧几里得即可 这里扩展欧几里得解的是ax+by=... 阅读全文
posted @ 2015-02-04 16:58 Tunix 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 插头DP 插头dp模板题…… 这题比CDQ论文上的例题还要简单……因为不用区分左右插头(这题可以多回路,并不是一条哈密尔顿路) 硬枚举当前位置的状态就好了>_ 3 #include 4 #include 5 #include 6 #include 7 #define rep(i,n) for(... 阅读全文
posted @ 2015-02-04 15:50 Tunix 阅读(179) 评论(2) 推荐(0) 编辑
摘要: 模拟退火 Orz HZWER 这题的题意是在二维平面内找一点,使得这点到给定的n个点的距离和最小……0.0 模拟退火算法请戳这里 1 //POJ 2420 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #... 阅读全文
posted @ 2015-02-03 21:00 Tunix 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数/莫比乌斯函数 嗯……跟2190很像的一道题,在上道题的基础上我们很容易就想到先求出gcd(x,y)==1的组,然后再让x*=prime[i],y*=prime[i]这样它们的最大公约数就是prime[i]了…… 当然我们完全没必要这样做……对于每个prime[j],计算在(1,n/pr... 阅读全文
posted @ 2015-02-03 18:34 Tunix 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数/莫比乌斯函数 Orz iwtwiioi 这个嘛……很明显在同一条线上的两个点一定是满足 x1*k=x2,y1*k=y2,(好吧这个表示方式有点傻逼,懂得就好了)那么这条线上的点只有第一个会被看到,即x,y互质的那一个点(如果gcd(x,y)==k>1那么肯定在它前面还有点(x/k,y/... 阅读全文
posted @ 2015-02-03 16:34 Tunix 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 中国剩余定理 没啥重要的……模板题,中国剩余定理就是解出模线性方程组的一个可行解(好像也是唯一解?) 这是一种神奇的构造方法……明白了为什么这样构造是对的就行了=。=至于怎么想到这种构造方法的……去问孙子去→_→ 1 //Vijos 1164 2 #include 3 #include 4 #i... 阅读全文
posted @ 2015-02-03 00:16 Tunix 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 排列组合 蛮逗的…… 这题题干描述的就一股浓浓的Kruskal的气息……很容易就想到是求一个n个点的完全图的生成树个数,然后由于有序,再乘一个n-1的排列数(n-1条边的全排列)即(n-1)! 但是我一下就卡在了 完全图的生成树个数这个地方……怎么也想不出来……后来看了题解,原来这是一个奇葩的... 阅读全文
posted @ 2015-02-02 20:50 Tunix 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 虚树+树形DP 本题100W的点数……不用虚树真的好吗…… Orz ZYF我的感悟: dp的过程跟SPOJ 1825 FTOUR2 的做法类似,依次枚举每个子树,从当前子树和之前的部分中各找一条最长(短)路径更新答案,再把这个子树的最短路径加入到x节点中去(之前算过的部分)这样就实现了枚举所有... 阅读全文
posted @ 2015-02-02 20:09 Tunix 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 经典证明:Prüfer编码与Cayley公式(转Matrix67)Cayley公式是说,一个完全图K_n有n^(n-2)棵生成树,换句话说n个节点的带标号的无根树有n^(n-2)个。今天我学到了Cayley公式的一个非常简单的证明,证明依赖于Prüfer编码,它是对带标号无根树的一种编码方式。给定一... 阅读全文
posted @ 2015-02-02 17:23 Tunix 阅读(3667) 评论(0) 推荐(0) 编辑
摘要: 虚树+树形DP OrzZYF……果然好神……建虚树先按dfn排序,再用一个单调栈来维护当前这条【链】,往里加边……说实话还没弄懂- -留个坑吧……RE的原因:这条链往出退的时候没写top--;在第112行……导致死循环了! 1 /*********************************... 阅读全文
posted @ 2015-02-01 22:46 Tunix 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 扩展欧几里德根据题意列出不定方程: (x+m*T)-(y+n*T)=k*L; //T表示跳了T次,由于是环,可能追了多圈,所以结果应为k*L化简得 T(m-n)-kL=y-x;这就成了我们熟悉的ax+by=c的形式,扩展欧几里得求解T即可(一定要分清哪个是变量x,哪个是常量a)在研究ax+by==c... 阅读全文
posted @ 2015-02-01 11:54 Tunix 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法 普通的求个gcd即可……思路题 因为要求尽量是整数……所以 $\frac{x_1}{x_2*x_3*x_4*....*x_n}$是最大的结果了,因为$x_2$必须为分母,$x_1$必须为分子……$x_3$ ~ $x_n$可分子可分母,所以都丢到分子上,结果ans为整数的可能性最大=... 阅读全文
posted @ 2015-02-01 11:19 Tunix 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 高斯消元解Xor方程组Orz ZYF o(︶︿︶)o 唉我的数学太烂了……错误思路:对每个格点进行标号,然后根据某5个异或和为0列方程组,高斯消元找自由元……(目测N^3会TLE)ZYF的正确思路:如果第一行的数知道了,我们就可以推出其他行的数。那么如何判断第一行的数的一种填法是否合法呢?很简单,我... 阅读全文
posted @ 2015-01-31 17:31 Tunix 阅读(633) 评论(1) 推荐(0) 编辑
摘要: 把大象放进冰箱里!一 数学家的办法把大象放到冰箱里的分析学方法1)先把大象微分,然后把它放到冰箱里,再在冰箱里把它积分。2)重新定义冰箱或者大象的测度(如Radon测度)。3)用Banach-Tarski定理。把大象放到冰箱里的代数学方法1)先证明大象的每一部分都可以放到冰箱里。2)再证明冰箱对加法... 阅读全文
posted @ 2015-01-31 15:42 Tunix 阅读(538) 评论(0) 推荐(0) 编辑