数学
最菜的acmer
这个作者很懒,什么都没留下…
展开
-
hdu6143-(排列组合)
题解:假设放了x个字符在n个位置上的方案数位f[x]那么,f[x] = i^n-c[x][1]f[1]-c[x][2]*f[2]-…..c[x][x-1]*f[x-1]求出所有放满f[1~min(n,m-1)]的方案数,然后答案就是f[1]*c[m][1](m-1)^n+f[2]c[m][2](m-2)^n+……f[min(n,m-1)]c[m][min(n,m-1)](m-min(n,m-1))^原创 2017-08-18 20:28:56 · 330 阅读 · 0 评论 -
worldfinal2017-I题-warshall算法
题目大意就是给你字符a和b字符a能翻译成b然后给你两个字符问是否能够从字符串一翻译到字符串二 题解思路:因为如果a能翻译到b,b能翻译到c,a也能翻译到c所以要满足传递性相当于求矩阵的传递闭包利用warshall算法即可 用数组模拟矩阵即可#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using原创 2017-05-25 20:40:34 · 1226 阅读 · 0 评论 -
hdu6169-(容斥原理)
题解:如果k不是质数肯定不是最小除数,如果k是质数的话,那么就是k的倍数的那么些数,但是其中一些数最小除数不是k的话那么就是那些k和比k小的质数配的数但是这些数可能会重复那么就得用容斥原理做。 质数的话只要打到根号1e11即可,因为大于根号的话不会出现两个大于根号1e11的质数配的情况。最后注意一下在一些可能越界的情况下取余即可#include<iostream>#include<cstring原创 2017-08-23 19:12:10 · 678 阅读 · 2 评论 -
uva10655(矩阵快速幂)
题意:给你a+b,a*b的值让你求a^n+b^n题解:a^2+b^2 = (a+b)*(a+b)-2*ab a^3+b^3 = (a^2+b^2)(a+b)-(a+b)ab设f(n) = a^n+b^2那么就可以得到递推公式f(n) = f(n-1)*(a+b)-f(n-2)*ab最后跑个矩阵快速幂即可#include#include#include#include原创 2017-11-11 23:47:28 · 249 阅读 · 0 评论 -
UVa 10213 How Many Pieces of Land (欧拉定理)
题解:根据欧拉定理V+F-E = 2,V是点数,E是边数,F是面数欧拉公式V−E+F=2所以找出顶点数和边数就行了,枚举两个点,在左半边的如果有i个,右边有n−i−2个,交点个数i∗(n−i−2),然后这条线段被分成了i∗(n−i−2)+1部分,然后外围凸包上的边有n条,圆弧分成了n段,所以V,E就能算出来了。V=n+n4∑i=1n−3i(n−2−i)因为经过交点的有两条线会被原创 2017-12-24 23:58:22 · 360 阅读 · 0 评论 -
hdu1134(数学+大数)
题意:给你2×n个点然后连起来,每个点只连了一个线并且这些线不能相交题解:以第一个点为标准,接着和2、4、6。。。2×n点相连然后分成上下两边,上面有2×i-2个点下面有n-2×i个点然后方案数就是f[n] += f[2*i-2]*[n-2*i];因为数很大要用大数模板#include<iostream>#include<cstring>#include<algo...原创 2018-02-11 14:57:01 · 268 阅读 · 0 评论 -
2015-2016 ACM-ICPC, Central Europe Regional Contest (CERC 15)F
题意:给你F[1,i]和F[i,1] 接着有递推式F[i, j] = a ∗ F[i, j − 1] + b ∗ F[i − 1, j] + c.让你计算F[n,n]题解:这题F[1,i]的贡献很显然是,F(i,1)的贡献同理对于c的贡献我们每个点都计算很显然不好求我们可以做如下操作并且那么我们解得并且那么我们就可以得出以下式子然后打个表就可以O(n)计算每个点的贡献...原创 2019-05-03 08:05:10 · 598 阅读 · 1 评论