数学
meopass
即使摸爬滚打,满身泥泞,我也要前进
展开
-
HDU 6195 数学
简略题意:MM个物品,KK个光源。要求任意取KK个物品都能被KK个光源照到,问至少需要多少电缆。看了下样例,大致知道怎么构造的,我们首先取出K个物品,使得物品和光源一一对应。为了满足题意,身下的所有物品都得连上所有的光源。 Ans=(M−K)∗K+KAns = (M - K) * K + K。 但是为什么这是最优解呢? 希望知道的人能够在下面评论一下,谢谢。#include <bits/std原创 2017-09-13 14:42:43 · 268 阅读 · 0 评论 -
HDU 6305 RMQ Similar Sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6305意识到RMQ相同的含义就是序列的相对大小关系保持一致,而相同的大小关系建立出的笛卡尔树相同(特殊的不是笛卡尔树,而是建树的方式)。 考虑B数组的排列中能够符合A数组构成的笛卡尔树的概率为1/∏sz[i]1/∏sz[i]1/\prod sz[i],可以简单理解为,在对应笛卡尔树的节点上,当前位...原创 2018-07-29 01:32:09 · 232 阅读 · 0 评论 -
sgu106 扩展欧几里德
简略题意: 给出aaa, bbb,ccc和x1x1x1, x2x2x2, y1y1y1, y2y2y2, 问满足ax+by+c=0ax+by+c=0ax + by + c = 0的xxx和yyy的对数有多少。首先把输入处理成ax+by=cax+by=cax + by = c的形式,且a,b,ca,b,ca,b,c都为000或正数。然后分类讨论a,b,ca,b,ca,b,c分别是000的情...原创 2018-05-04 18:57:08 · 168 阅读 · 0 评论 -
朝花夕拾之欧几里得
gcd(a,b)=gcd(b,a%b)gcd(a, b) = gcd(b, a\%b).证明: 设r=gcd(a,b)r = gcd(a, b) 那么存在 r|a,r|br|a, r|b. 又因为a%b=a−a/b∗b=a−k∗ba \% b = a - a/b * b = a - k * b. a−k∗ba - k * b是aa和bb的一个线性组合,因此r|(a%b)r|(a\%b)。原创 2018-04-26 18:41:14 · 132 阅读 · 0 评论 -
sgu105 找规律
打个表,显然是n - (n + 2) / 3.#define others#ifdef poj#include <iostream>#include <cstring>#include <cmath>#include <cstdio>#include <algorithm>#include <vector>...原创 2018-04-26 15:12:03 · 174 阅读 · 0 评论 -
sgu102 欧拉函数
phi[x]=x∗∏ni=1(p[i]−1)/(p[i])phi[x] = x * \prod_{i = 1}^{n} (p[i]-1)/(p[i])#define others#ifdef poj#include <iostream>#include <cstring>#include <cmath>#include <cstdio>#include <algorithm>#incl原创 2018-04-25 14:31:12 · 247 阅读 · 0 评论 -
ProjectEuler 108 Diophantine reciprocals I
1x+1y=1n\frac{1}{x} + \frac{1}{y} = \frac{1}{n} =>1y=x−nnx\frac{1}{y} = \frac{x-n}{nx} =>y=nxx−ny = \frac{nx}{x-n}令b=x−n,x=b+nb = x - n, x = b + n y=nxx−ny = \frac{nx}{x-n} =>y=n∗(b+n)b=n+n2by = \f原创 2018-04-05 09:23:47 · 188 阅读 · 0 评论 -
UVALive - 8144 Sacred Scarecrows DP + FMT 未解决
简略题意:R∗CR*C的庄稼地,有些地方已经种了庄稼了。现在需要放置一些稻草人,使得满足以下两个条件: 11. 所有行都包含稻草人。 22. 相邻的两列至少包含两个稻草人。这题目前还没有ACAC,但是值得记录。注意到行很少,因此可以状压进行DPDP。 令dp[i][0/1][j]dp[i][0/1][j]代表,前i列的稻草人存放了那些行,当前列是否有稻草人。用∗∗**代表集合并卷积,那么转移有原创 2018-04-17 17:10:52 · 274 阅读 · 1 评论 -
关于积性函数求和的几种方法 未完待续
前言:之前一直没有系统的学习过积性函数相关的知识,这方面过于依赖队友,从而不知不觉降低了对自己的要求,深感惭愧,因此补上。参考文献:国家集训队2016论文集 - 任之洲1.定义 1.1 定义域为正整数,陪域为复数域的函数是数论函数,以下所讨论的都是数论函数。 1.2 若f(x)为数论函数,且对于任何互质数a, b,满足f(a)*f(b) = f(a*b),则f(x)为积性函数。...原创 2018-02-10 00:43:54 · 973 阅读 · 0 评论 -
codeforces 895E Eyes Closed 线段树 期望 数学
简略题意: 两种操作。 1. [l1, r1]之间随机一个数,[l2, r2]之间随机一个数,把两个交换 2. 问[l, r]区间和的数学期望是多少。先考虑左部分区间,假设其总和为sum1sum1, 长度为len1len1, 右部分区间总和为sum2sum2,长度为len2len2。 那么对于左区间随机一个数xx,进行操作后的数学期望值为: len1−1len1∗x+1len1∗sum2l原创 2017-11-27 16:34:12 · 679 阅读 · 0 评论 -
浅谈生成树计数问题,以SPOJ HIGH, BZOJ 4894, BZOJ 1016为例
关于矩阵树定理详见周冬:生成树的计数。给定一个包含n个节点,m条边的无向图,问图中的生成树的种类数有多少。点我,喵=w=? 这就是一个最基本的生成树问题,由此我们可以引出生成树计数的矩阵树定理。矩阵树定理: 一个无向图G的生成树的个数为其基尔霍夫矩阵的任意n-1阶主子式的行列式的绝对值。 G的度数矩阵: D[i][j]=(i==j)?deg[i]:0;D[i][j] = (i==j)?deg[原创 2017-12-20 18:17:36 · 302 阅读 · 0 评论 -
HDU6217 BBP Formula
简略题意:问π的十六进制表示的小数点后第n位是多少。关于BBP公式详见WIKI百科这个公式的作用就是计算十六进制下的小数点后第n位,而不必计算前n-1项。 π=∑∞k=0[116k(48k+1)−(28k+4)−(18k+5)−(18k+6)]\pi = \sum_{k=0}^{\infty}[\frac{1}{16^k}(\frac{4}{8k+1})-(\frac{2}{8k+4})-(\fr原创 2017-10-24 11:19:42 · 1873 阅读 · 0 评论 -
HDU 6211 本源勾股组 + 法里数列
简略题意:给出2k2^k个数v,求出(xi,yi,zi)(x_i, y_i, z_i)满足xi<yi<zi<1e9x_i < y_i < z_i < 1e9的所有本源勾股组之后,问∑v[yi%(2k)]问\sum v[y_i\%(2^k)]的答案是多少。本源勾股组的构造: 找出m,n(m>n)满足x=m2−n2,y=2mn,z=m2+n2,(x,y,z)m, n(m>n)满足x = m^2-n^2原创 2017-10-09 15:19:32 · 579 阅读 · 2 评论 -
HDU 6209 数学
简略题意:问分母在1e5范围内的最简分数中,距离y=k/xy=k/x和y=(√x)y = \sqrt(x)的在第一象限的交点的xx坐标最近的分数是什么。k/x=(√x)k/x = \sqrt(x) => x=k2/3x = k^{2/3}。 我们可以先暴力找到最接近k的整数部分,如果直接找到了答案就输出即可。 否则答案即在x−11和x1\frac{x-1}{1} 和 \frac{x}{1}之间,原创 2017-10-09 15:05:30 · 405 阅读 · 1 评论 -
51NOD 1188 数学
简略题意:求∑n−1i=1∑nj=i+1gcd(i,j)\sum_{i = 1}^{n - 1}\sum_{j=i+1}^{n} gcd(i, j)。∑n−1i=1∑nj=i+1gcd(i,j)\sum_{i = 1}^{n - 1} \sum_{j=i+1}^{n} gcd(i, j) =∑ni=1∑i−1j=1gcd(i,j)= \sum_{i = 1}^{n}\sum_{j = 1}^{i原创 2017-09-26 16:42:40 · 229 阅读 · 0 评论 -
51NOD 1179 数学
简略题意:给出n个数,求两两之间的最大公约数的最大值。枚举gcd即可,复杂度O(nlogn)O(nlogn)#include<bits/stdc++.h>using namespace std;typedef long long LL;namespace sss { int cnt[1100000]; int n; void solve() { scanf(原创 2017-09-26 16:25:35 · 145 阅读 · 0 评论 -
HDU6198 矩阵快速幂
简略题意:问kk个斐波那契数不能组成的最小的数是多少。DP打个表,发现规律很显然是f(2∗k+3)−1f(2*k+3)-1…#include <bits/stdc++.h>using namespace std;typedef long long LL;const LL mod = 998244353;const int maxn = 2;struct Matrix{ int a[maxn原创 2017-09-13 21:33:44 · 281 阅读 · 0 评论 -
2018ACM-ICPC徐州网络赛 D Easy Math
求解∑mi=1μ(in)求解∑i=1mμ(in)求解\sum_{i=1}^{m}\mu(in) 记:S(m,n)=∑mi=1μ(in)S(m,n)=∑i=1mμ(in)S(m, n) = \sum_{i=1}^{m}\mu(in) =μ(n)∑mi=1μ(i)[gcd(i,n)==1]=μ(n)∑i=1mμ(i)[gcd(i,n)==1]=\mu(n)\sum_{i=1}^{m}\mu(i)[...原创 2018-09-14 14:54:41 · 256 阅读 · 0 评论