基础数学
文章平均质量分 70
ACMiao_
Passion、Love、Action
展开
-
UVa 11401 Triangle Counting(Water~)
题意不再赘述。对一个n,假设三边为a = n,b,c且a > b > c,则先枚举b,再枚举c。显然b > n / 2,所以枚举b的情况有 n / 2 - 1种。对于每个b,c最大为b - 1,最小为 n / 2 + 1,即有 b - 1 - (n / 2 + 1) - 1 = b - n / 2 - 3种情况。n / 2 + 3 是定值,且我们枚举的b是从 (n + 1) / 2 到 n原创 2015-11-01 22:13:00 · 476 阅读 · 0 评论 -
POJ2785 4 Values whose Sum is 0
题意:给4个数组,问有多少种组合可以使得a + b + c + d = 0。思路:预处理A + B,然后每次算C + D求匹配的A +B的个数。 O(n^2 log n)。#pragma warning(disable:4996)#include #include #include #include #include using namespace std;const int原创 2015-12-22 19:39:37 · 463 阅读 · 0 评论 -
Codeforces Round #334 (Div. 2) D. Modular Arithmetic(置换)
题意:给出方程 f(kx%p)=kf(x)%p ,问在集合A->B上不同的映射函数f有几种,其中A=B={0,1,2..p-1},p为素数(除了2),k为小于p的一个常数。思路:f(kx1%p) = kf(x0)%p,f(kx2%p) = kf(x1)%p = k^2 * f(x0)%p,f(kx3%p) = ... = k^3 * f(x0)%p,......f(kxm%p)原创 2015-12-02 19:40:23 · 377 阅读 · 0 评论 -
POJ 2369 Permutations(置换)
题意:求一个置换的最小循环节。思路:各个自循环长的LCM。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long LL;#de原创 2015-12-02 19:40:16 · 470 阅读 · 0 评论 -
POJ 3270 Cow Sorting(置换群)
题意:每次交换两数,花费为两数和。最后得到递增序列。求最小花费。思路:找到所有置换群。两种方法,和置换群里最小的交换或和整个数列最小的交换。#include #include #include #include #include #include #include #include #include #include #include #include using原创 2015-12-02 10:43:49 · 386 阅读 · 0 评论 -
POJ 3128 Leonardo's Notebook(置换)
题意:给定置换B,求是否存在置换A使得A^2 = B。思路:对一个长度为n的循环。n为奇数,则平方后仍为奇数。n为偶数,则分裂成两个n / 2的循环。所以一个置换若要由平方得到,则包含的偶数循环个数一定为偶数个。#include #include #include #include #include #include #include #include #include原创 2015-12-02 16:37:34 · 392 阅读 · 0 评论 -
POJ 1721 CARDS(置换)
题意:i位置的每次换成x[i]位置的。k次后得到输入的序列。问初始序列为咩。思路:置换有循环节。2 ^ t = 1 (mod n)。找到t即可。f[i][N]表示第i次变换后的序列。#include #include #include #include #include #include #include #include #include #include #incl原创 2015-12-02 15:20:20 · 349 阅读 · 0 评论 -
UVALive 4683 Find The Number(容斥原理)
题意:k大小的元素集合,得到一个递增数列,这个数列中的数能且仅能被这个元素集合的一个元素整除。求第n大的数。思路:与一般的容斥不同,这里的能整除1个元素的算了1次,能整除2个的算了2次,能整除3个的算了3次......奇加偶减。算的过程中会爆long long,所以注意和1e15比较一下。#include #include #include #include #include原创 2015-11-29 18:00:14 · 688 阅读 · 0 评论 -
POJ 2773 Happy 2006(容斥原理)
题意:给n和k,求与n互素的第k个数。思路:二分+容斥原理。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long LL;#d原创 2015-11-28 23:19:04 · 426 阅读 · 0 评论 -
ZOJ 2836 Number Puzzle(容斥原理)
题意:求[1, M]中因子包含A数列里数的个数。思路:容斥。奇加偶减。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long L原创 2015-11-28 13:17:42 · 339 阅读 · 0 评论 -
HDU 4336 Card Collector(状压期望DP || 容斥原理)
题意:n张卡,选到第i张概率为p[i],求取到n张的期望次数。思路:状压期望DP。设取不到卡片概率为none,状态s里为1的位表示已经取到的卡片。求解dp[s],枚举s里为1的位i,则拿到新卡片的概率为sigma(p[i]),拿不到或拿到已有的概率为 1 - sigma(p[i])。这样有dp[s] = (1 - sigma(p[i])) * dp[s] + sigma(p[i] * dp原创 2015-11-28 12:12:01 · 516 阅读 · 1 评论 -
HDU 1796 How many integers can you find(容斥原理)
题意:给一个m个数的集合,求[1, n)因子含有这个集合里数的个数。思路:容斥。奇加偶减。注意集合里的数可能为0,读入的时候不读就好了。#include #include #include #include #include #include #include #include #include #include #include #include using原创 2015-11-28 13:05:33 · 354 阅读 · 0 评论 -
HDU 4059 The Boss on Mars(容斥原理)
题意:求[1, n]与n互素的数的4次方的和。思路:求1到n的4次方和公式, sigma(i^4) = n * (n + 1) * (2 * n + 1) * (3 * n * n + 3 * n - 1) / 30.由于要取模,所以要对30求下逆元。剩下的就是,每次求出不互素的,然后根据容斥加减前缀四次方和。#include #include #include原创 2015-11-28 17:27:08 · 405 阅读 · 0 评论 -
HDU 5495(置换群)
两个数组a和b,将其看做一个由a到b的置换,那么可以得到若干个环,显然环之间是独立的。不难看出对每个长度大于1的环,一定可以得到一个len-1的LCS。所以答案就是n-长度大于1的循环的个数。#include #include #include #include #include #include #include #include #include #include #i原创 2015-10-06 17:13:02 · 406 阅读 · 0 评论 -
HDU 1588 二分矩阵连乘求和
Gauss Fibonacci涨姿势的一题Orz。对斐波那契数列,很容易构造矩阵 A = [1 1][1 0],从而有f(n) = A ^ n,那么久很容得到sum(f(g(i)) = A ^ b * ( I + A ^ k + A ^ 2k + A ^ 3k + ... + A ^ (n - 1)k)。其中I为单位矩阵。但是显然我们不能对每一个A ^ mk都进行快速幂,所以要进行二分原创 2015-09-28 12:37:00 · 371 阅读 · 0 评论 -
UVa 10560 Minimum Weight
题意:砝码称重1~N,问最少要几个砝码。思路:很容易得到b[i] = sum[i-1] * 2 + 1。因为sum[i-1]的都是已表示完备的,因此下一个需要多出sum[i-1] + 1。#include #include #include #include #include #include #include #include #include #include #i原创 2015-12-04 13:06:04 · 435 阅读 · 0 评论