数学一点皮毛
伟大的蚊子
这个作者很懒,什么都没留下…
展开
-
UVA 11525 好大好大的排列(线段树)
题目在这题意:求1-k的排列中第n大的序列,题目给出n的计算方法: n = si*(k-1)+s2*(k-2)…+sk*0!; 并给你s1~sk**分析:**n好大好大,,,,, n是给的一个一个的阶乘和,想想:k位的排列数是k! 从0!到(k-1)!,,,似乎,对应着什么 每一个s[i]对应全排列的一位数字 (蚊子数学太弱,,,证明什么的,,,额)原创 2016-03-10 19:03:00 · 539 阅读 · 0 评论 -
高斯消元 hdu5833,hdu3364,hihocoder1195
hdu5833刘汝佳训练指南160页原题题意:给300个数,选任意个数相乘,问多少种方法可以得到完全平方数(每个数LL范围,保证每个数的质因子不超过2000) 一点废话: 从提示可以看出,显然第一步分解质因数,由于每个数只能乘0或1次,所以4和16对于结果是等价的(3和27也是),统计每个数字的质因子个数然后模2,我们只需要最后每个质因子的指数是个偶数就行了,这里既然只有0或1,不如直接用异或来原创 2016-08-15 17:00:15 · 539 阅读 · 0 评论 -
CodeForces 27E 素数筛,暴力
题http://codeforces.com/problemset/problem/27/E题意 给定一个正整数n,求一个最小的正整数,使得它的因子个数恰为n。保证答案不超过10^18大家应该都知道质因数分解这玩意: 任意数字可以分解成x=p[1]^a[1]*p[2]^a[2]……p[k]^a[k] 此事x的因子个数等于π(a[i]+1)(连乘) (有证明不过链接我找不到了) 既然题目要因原创 2016-08-13 04:14:01 · 443 阅读 · 0 评论 -
hdu3388容斥还有二分
题http://acm.hdu.edu.cn/showproblem.php?pid=3388题意:有三个正整数m, n, k, 求与m和n都互质第k个正整数(按从小到大排列)。一点废话: 讲m,n所以质因子提出,去重排序 求出mid中含这些因子的数的个数=ans,然后mid-ans就是第k个与m,n互质的数 都用mid了,,,二分之 下面的问题还剩怎么求ans, 容斥了,对于素数p[i]原创 2016-08-13 14:51:09 · 306 阅读 · 0 评论 -
矩阵模板hdu5015,UVA 10655,UVA 11149
hdu5015n是<=10的,可以想到点什么,, 构造矩阵mat[n+2][n+2] 发现mat*a是答案矩阵第1列 mat的m次方再乘a就是答案矩阵的第m列,取最下面的就行了这板不错#include<cstdio> #include<cstring> #include<iostream> using namespace std; typedef long long ll; const i原创 2016-08-13 02:10:41 · 400 阅读 · 0 评论 -
poj2886 线段树单点修改+反素数(喵?)
题意:n个熊孩子每个人有个数字a[i],首先k号熊孩子出圈,然后第k+a[i]个熊孩子出圈,一个环,可以绕很多圈,如果a[i]为正则顺时针数,反之逆时针,相当于一个变体的约瑟夫游戏,第i个出圈的熊孩子,有f[i]的得分,f[i]为i的因子个数反正没人看的讲解:分为两个部分:线段树模拟约瑟夫游戏+寻找1到n范围内因数数量最多的那个ans,约瑟夫游戏只要做到第ans个人出圈就好了区间和的线段树,每个叶子原创 2017-07-05 02:38:54 · 263 阅读 · 0 评论