----数学知识------
HAI__嗨I起来
IT
展开
-
周赛一 ACdream 1199 排列组合
DescriptionThere are n swords of different weights Wiand n heros of powerPi.Your task is to find out how many ways the heros can carry the swords so that each hero carries exactly one sword.原创 2015-09-07 20:20:14 · 372 阅读 · 0 评论 -
HDU 5651xiaoxin juju needs help 带模除法逆元+有重复元素的全排列值
点击打开链接xiaoxin巨从小就喜欢字符串,六年级的时候他就知道了什么是回文串。这时,xiaoxin巨说到:如果一个字符串 SSS 是回文串,那么该字符串从前往后看和从后往前看是一样一样的。六年级的暑假,xiaoxin很快就做完了暑假作业,然后到腾讯做起了实习生。这日,leader给了xiaoxin一个字符串,请xiaoxin帮忙写一个函数来生成所有可能的回文串,可以任意改变字符串的顺序原创 2016-03-28 19:48:44 · 371 阅读 · 0 评论 -
SDUT 3257 Cube Number 素数筛的应用加强版 立方数的性质
题意: 给n个数然后让你从中挑出两个数,使这俩个数相乘为一个立方数,求n个数中有多少对。思路:首先分析立方数的性质,立方数的构成性质。 n^3=a^3*b^3*c^3.... //最小单位划分其中a,b,c..都为素数或者 是1然后再来看x*y=n^3 的性质,x=a^3*b^3...*d^2*e;y=a^3*b^3....*d*e^2; 所以求个数,只需要枚举统原创 2016-05-25 18:01:31 · 369 阅读 · 0 评论 -
SDUT 2605 大幂和的分解,转化成R进制进行哈希 高效率打表(花样哈希)
A^X mod PTime Limit: 5000ms Memory limit: 65536K 有疑问?点这里^_^题目描述It's easy for ACMer to calculate A^X mod P. Now given seven integers n, A, K, a, b, m, P, and a function f(x) which defi原创 2015-10-30 10:48:39 · 415 阅读 · 0 评论 -
SDUT 2608
题意;给一个多项式,然后给你多个p让你求x^p对应的系数思路:每个p都可以由唯一的一组二进制数相加的到,然后只需要将他们的系数乘起来就行了。#include#define LL long longusing namespace std;#define eps 1E-10#define INF 0x3f3f3f3fint a[10000];原创 2016-05-01 22:15:10 · 354 阅读 · 0 评论 -
水题 实现分数加的模板
#include using namespace std;long long gcd(long long a,long long b){ return b==0?a:gcd(b,a%b);}struct node{ long long x,y;}p[1000];int main(){ int n; scanf("%d",&n) ; long long a,a1; f原创 2016-05-16 14:57:45 · 237 阅读 · 0 评论 -
HDU 5245 Joyful 经典概率题目推公式
公式题别人的很详细的推理过程,复制过来做笔记。题意大致是:进行K次染色,每次染色会随机选取一个以(x1,y1),(x2,y2)为一组对角的子矩阵进行染色,求K次染色后染色面积的期望值(四舍五入)。[html] view plain copy样例1:(n,m,k)=(3,3,1) Case #1: 4 (这组样例中原创 2016-05-11 17:59:23 · 313 阅读 · 0 评论 -
HDU 5690 查找循环节 数学公式快速幂+乘法逆元(除法取模)
因为m为10^10 次方,很大,所以猜测应该会出现循环节,于是找到循环节映射出来即可#include#include#include#define LL long long#define INF 0x3f3f3f3f#define bug puts("**********");using namespace std;int vis2[200000];int vis[原创 2016-05-21 19:42:55 · 487 阅读 · 0 评论 -
HDU 5762 Teacher Bo 2016多校赛第三场 鸽巢原理
点击打开链接题意:给你n个点,让你找两个数对,A,B和C,D,使得A和B的曼哈顿距离等于C和D的曼哈顿距离,问是否存在这样的对,A!=C且B!=D.因为点坐标的范围为105,所以说,两个点的曼哈顿距离最多只有2∗105,根据鸽巢原理,所以说暴力枚举的复杂度也是2∗105,#include#define LL long longconst int NN=1e6+10;using原创 2016-07-29 08:58:07 · 261 阅读 · 0 评论 -
HDU 5761 Rower Bo 物理题(积分求时间)
点击打开链接题意:有一个船在(0,a),船头的方向一直指着(0,0)位置,速度是v1,然后有一个水流速度是v2,朝着x轴正半轴方向流。问你什么时候船到达(0,0)位置题解:首先这个题微分方程强解显然是可以的,但是可以发现如果设参比较巧妙就能得到很方便的做法。先分解v_1v1,设船到原点的距离是rr,容易列出方程\fr原创 2016-07-29 10:51:38 · 346 阅读 · 0 评论 -
HDU 5792 World is Exploding 2016多校赛第五场 树状数组+容斥原理
点击打开链接找出有多少个四元组(a,b,c,d)满足a≠b≠c≠d,a Ad.思路:计算像a,b这样上升的有sm对,像c,d这样下降的有bg对,ans=la*lb。这样是有重复的,重复的就是a与c重合,a与d重合,b与c重合,b与d重合这四种情况。那么减去这四种情况就ok了。可以用树状数组预处理出每一位i的左边比a[i]大的有多少Lb[],小的有多少Ls[],右边比a[i]大的有原创 2016-08-03 21:00:41 · 308 阅读 · 0 评论 -
sg函数应用 多校 HDU5795A Simple Nim 与其他题 NIM变形
点击打开链接题意:一个n堆的取石子游戏,每次可以取一堆中的任意个,或者将当前堆分为三个非空堆。求先手/后手必胜。思路:根据sg定理,游戏和的sg函数等于各个游戏的sg函数的nim和。所以需要把各个状态的sg函数打表打出来,找找规律。该题有两种操作方式,一种是任意一堆拿任意数量,另一种是将任意的一堆分成三等份。其他题目链接http://acm.hust.edu.cn/vjud原创 2016-08-09 18:42:19 · 349 阅读 · 0 评论 -
HDU 5750 数学题
随便推导下, 令y=xdy=xd, 如果dd是yy的maximum positive proper divisor, 显然要求xx是yy的最小质因子. 令mp(n)mp(n)表示nn的最小质因子, 那么就有x \le mp(d)x≤mp(d), 同时有y yn, 那么x \le \lfloor \frac{n-1}{d} \rfloorx≤⌊dn−1⌋.原创 2016-08-10 10:05:58 · 368 阅读 · 0 评论 -
POJ 2886Who Gets the Most Candies? 线段树+反素数求因子个数最多
点击打开链接题意:n个熊孩子按顺时针排列,每个人受伤都有一张牌,牌上有一个数字,从第k个孩子开始出队,出队的熊孩子卡上数字是K,则顺时针第k人是下一个出队的,负数则逆时针,第P个出队的会得到的糖果数是p的因子个数,输出得到最多糖果的人和他的糖果数,如果有多个,则输出最先出队的。思路:用线段树来存储整个区间中的剩余人的个数、然后用反素数来找因子数最多的人的出队的序号。反素数就是原创 2016-08-08 13:55:34 · 359 阅读 · 0 评论 -
POJ 3318 Matrix Multiplication 随机化算法
题意:给出三个n*n的矩阵A,B,C看是否A*B=C;#include#include#include#include#include#include#include#define bug puts("************")#define INF 0x3f3f3f3f#define LL long longusing namespace std;const in原创 2016-09-02 21:59:39 · 325 阅读 · 0 评论 -
POJ 2454 Jersey Politics 分组问题 随机化算法
题意:给出3*k个数,将它们分成三分,每份k个数,要求至少存在有两份,使得每一份的k个数的和大于500*k。思路:先从大到小的进行排序,然后只需要将前2*n大的数进行随机的分配成两组就行了。#include #include #include #include #include #include #include #include #define LL long lon原创 2016-09-03 21:12:39 · 339 阅读 · 0 评论 -
POJ 1129 Channel Allocation DFS+四色定理
点击打开链接题目翻译:当一个广播电台在一个非常大的地区,广播站会用中继器来转播信号以使得每一个接收器都能接收到一个强烈的信号。然而,每个中继器必须慎重选择使用,使相邻的中继器不互相干扰。如果相邻的中继器使用不同的频道,那么就不会相互干扰。由于无线电频道是一有限的,一个给定的网络所需的中继频道数目应减至最低。编写一个程序,读取一个中继网络,然后求出需要的最低的不同频道数。建模原创 2016-02-27 17:02:04 · 366 阅读 · 0 评论 -
POJ 1905 Expanding Rods 二分加数学公式的推导
点击打开链接题意:给你一个L长的细棒然后将他卡在两个板子之间进行加热 ,然后他会变成长度为S=L*(1+n*c)的弧线棒 求出该弧线棒的中心比以前高出多少(H)思路: 已知 图可得 : R 为圆弧的半径 S为弧长 θ为弧度角 为半个弧长对应的角度大小 H 为高出的长度 ①R^2-L^2/4=(R-H)^2 ②sinθ=L/2R原创 2016-02-24 20:55:20 · 327 阅读 · 0 评论 -
SDUT 3322 DFS暴力 数论
Collatz问题Time Limit: 250ms Memory limit: 65536K 有疑问?点这里^_^题目描述一下迭代序列定义在整数集合上:n = n/2 (n 是偶数)n = n*3 + 1(n 是奇数)应用以上规则,并且以数字13开始我们得到一下序列:13,40,20,10,5,16,8,4,2,1可以看出这个以13开始以1结原创 2015-09-15 21:28:04 · 397 阅读 · 0 评论 -
SDUT 3320 GCD问题 莫比乌斯反演
GCD问题Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述给出区间 [a,b] , [c,d]求有多少对数满足gcd(x,y) = k,a 。输入 输入一个T(1 接下来的T行,每行五个整数a,b,c,d,k(1 。输出 输出T行,每行一个整数代表对应输入的答案。原创 2015-09-16 10:49:40 · 318 阅读 · 0 评论 -
SDUT 3347 矩阵的快速转置
数据结构实验之数组三:快速转置Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述转置运算是一种最简单的矩阵运算,对于一个m*n的矩阵M( 1 = 稀疏矩阵M 稀疏矩阵T输入连续输入多组数据,每原创 2015-11-06 16:07:54 · 510 阅读 · 0 评论 -
CodeForces 453A 概率题
DescriptionTwilight Sparkle was playing Ludo with her friends Rainbow Dash, Apple Jack and Flutter Shy. But she kept losing. Having returned to the castle, Twilight Sparkle became interested in th原创 2015-08-22 14:45:11 · 673 阅读 · 0 评论 -
SDUT 3115 查找一个数中素数的种类数
小鑫找基友Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述小鑫身上有一个特殊的光环,就是吸引基友的光环。小鑫身上有一个能力值,小鑫能吸引基友的数量为能力值内的质因子的个数。例如:小鑫的能力值为12,12 = 2^2*3,那么12包含两个质因子2和3,所以小鑫可以吸引2个基友。注:在数论里,某一原创 2015-11-06 21:30:41 · 299 阅读 · 0 评论 -
SDUT 1919 规律,思维
GCCTime Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述The GNU Compiler Collection (usually shortened to GCC) is a compiler system produced by the GNU Project supporting various pro原创 2015-10-27 22:06:33 · 568 阅读 · 0 评论 -
SDUT 2500 统计N!中包含末尾0 的个数
0\'sTime Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述计算整数n!(n的阶乘)末尾有多少个0。输入 第一行输入一个数T代表测试数据个数(T输出对于每个测试数据输n!末尾有多少个0,每行输出一个结果。示例输入31510示例输出012原创 2015-11-01 00:11:53 · 510 阅读 · 0 评论 -
poj 1019 Number Sequence 找规律 思维题 ()
点击打开链接/*题意:给你一个单独的串,1121231234.。。。。然后让你输出第i位置上的对应的数字此处的数字 是某一个数拆分之后对应的值 例如 10可以查分成 1 0第80的位置上对应0而不是10;思路:1 计算某一个数的长度 (int)log10(n)+1;2 可以把有规律的串拆分成几组小串。 假设第i个小串 存1234...i3 将最长的子串每原创 2016-02-19 23:15:32 · 441 阅读 · 0 评论 -
POJ 1845 sumdiv 数论 A^B 的所有约数之和
点击打开链接题意:求A^B的所有约数(即因子)之和,并对其取模 9901再输出。思路: 1 需要掌握的定理 (1) 整数的唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式。 A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 其中pi均为素数 A^原创 2016-02-21 10:48:41 · 426 阅读 · 0 评论 -
POJ 3292 数论 类似素数筛
POJ 3292 数论 类似素数筛题意:一个定义的类型数 :是A-number 是模 4 余 1的数A-prime h是只能由 1* h(不能由其他的A-number数相乘得到)得到的数A-semis-primes 数是由且只能由 两个 A-prime数相乘得到求一个数中存在多少 A-semis-primes类似素数筛的做法#include#inc原创 2016-01-26 08:39:15 · 323 阅读 · 0 评论 -
3314 扩展gcd 及 扩展gcd的原理
lTime Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^题目描述给出2个数M和N(M 输入输入2个数M, N中间用空格分隔(1 输出 输出一个数K,满足0 示例输入2 3示例输出2提示 扩展欧几里德算法是用来在已知a, b求解一组x,y使得a*x+b*y=Gcd(原创 2015-08-31 09:47:40 · 753 阅读 · 1 评论 -
POJ 2115 C Looooops 扩展gcd的应用 及其 gcd exgcd的讲解
点击打开链接题意1 .对于C的for(i=A ; i!=B ;i +=C)循环语句,问在k位存储系统中循环几次才会结束。 若在有限次内结束,则输出循环次数。 否则输出死循环。思路: 2 扩展欧几里德算法源于欧几里德算法。欧几里德算法:gcd(a,b)= gcd(b,a%b)。证明:a可以表示成a = kb + r,则r = a原创 2016-02-21 17:03:29 · 540 阅读 · 0 评论 -
POJ235 The Embarrassed Cryptographer
点击打开链接题意:给一个大整数 k 他是由两个大素数相乘得到的。然后给你一个L 让你判断 L 是否大于 K中的那个最小素数是输出 BAD 素数不是 GOOD思路1 素数筛将100w中的素数全都存入表中2 将大整数转换成 10000 进制存入数组中 ///转换成10进制 会TLE(时间浪费在Mod()中的进制转换上了 (进制转换的跨度太小)) 3 大原创 2016-02-21 23:34:51 · 325 阅读 · 0 评论 -
poj 3258 River Hopscotch 二分查找
点击打开链接题意:题意:牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离,现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值 max。思路;对要保留的最小距离的最大值max进行二分枚举#include#include#include#include#include#incl原创 2016-02-24 11:35:52 · 267 阅读 · 0 评论 -
POJ 3122 Pie 二分查找 +高精度
点击打开链接题意:作者要开一个生日party,他现在拥有n块高度都为1的圆柱形奶酪, 已知每块奶酪的底面半径为r不等,作者邀请了f个朋友参加了他的party, 他要把这些奶酪平均分给所有的朋友和他自己(f+1人), 每个人分得奶酪的体积必须相等(这个值是确定的),形状就没有要求。 现在要你求出所有人都能够得到的最大块奶酪的体积是多少? 一个人只能从其中一个蛋糕中 取一部原创 2016-02-24 14:50:55 · 1006 阅读 · 0 评论 -
POJ 1061扩展gcd
扩欧的使用,要学会构建方程,首先要先写出等式关系出来,然后再将等式关系进行构建方程。这道题是:假设两只青蛙都跳了t步之后两者相遇。则 青蛙A 的位置为x+mt ,青蛙B为 y+nt。则 x+mt-y-nt=pL (p为圈数)所以t*(n-m)+pL=x-y; 套入extend_gcd 既可以得到x1(n-m)+y1L=gcd;之后求出gcd与x-y的倍数关系。原创 2016-08-25 10:44:43 · 272 阅读 · 0 评论