数学
d12155214552
这个作者很懒,什么都没留下…
展开
-
UVALive 7147 -智商题
UVALive 7147 World Cuphttps://icpcarchive.ecs.baylor.edu/index.phpoption=com_onlinejudge&Itemid=8&page=show_problem&problem=5159题目大意:一场比赛,赢的得A分,输的得C分,平手都得B分。有n支队伍,分别比赛一次,选前m个队伍晋级(分数相同的随机排名)。问:可能的最大落榜分数原创 2017-10-02 22:16:34 · 285 阅读 · 0 评论 -
二分-POJ1905
大致题意: 一根两端固定在两面墙上的杆 受热弯曲后变弯曲 求前后两个状态的杆的中点位置的距离解题思路: 几何和二分的混合体如图,蓝色为杆弯曲前,长度为L 红色为杆弯曲后,长度为s h是所求 依题意知 S=(1+n*C)*L又从图中得到三条关系式; (1) 角度→弧度公式 θr = 1/2*s (2) 三角函数公式 sinθ= 1/2*L/r (3)转载 2017-08-25 20:59:22 · 252 阅读 · 0 评论 -
积性函数性质-POJ2480
这个题需要用到欧拉函数的知识……欧拉函数的定义:对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(我们定义φ(1)=1)欧拉函数的的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)……*(1-1/ps)(p1,p2,p3,……ps均是n的质因子)欧拉函数有这么几个比较重要的性质:性质1:如果n是质数p的k次幂,那么φ(n)=p^k-1*(p-1)性质2:欧拉函数是积性函数转载 2017-08-25 21:23:36 · 439 阅读 · 0 评论 -
HDU 2814 斐波那契循环节+欧拉函数降幂
https://vj.xtuacm.cf/contest/view.action?cid=115#status//-/0/ 求F(a^b)^(F(a^b)^(n-1))%c a,b,n是longlong范围内的正整数 c是一个小于300的余数思路: 不难发现c小于300是有意而为的 这里有两个定理: 1.在模c的状态下,斐波那契具有循环节性质,即F[a^b]=F[a^b%len] len原创 2017-08-07 10:46:55 · 361 阅读 · 0 评论 -
数论-HDU1852
https://vj.xtuacm.cf/contest/view.action?cid=59#problem/A 这道题目求2008^n的方法要记住 详细讲解参考:http://blog.csdn.net/s_black/article/details/51581709这道题和HDU1452类似。题意:给你一个n、k,让你求2008^n所有因子的和(包括1和本身)%k,得到m,然后输出2008原创 2017-07-29 12:38:07 · 208 阅读 · 0 评论 -
暴力脑洞-CSU1803
https://vjudge.net/contest/173678#problem/Ax,y分别对2016取余,如果x*y 是2016的倍数的话,那么(2016*k + x)*y也是2016的倍数。所以只需要统计这n个数之内,对2016取余后的数所出现的次数就可以了。分两部分统计:1.对于1~2016*k(k>=1)的数来说,2016的每个余数都已经出现了k遍,所以每个余数的出现次数都+k;2.对于原创 2017-07-28 10:23:54 · 186 阅读 · 0 评论 -
二分-UVA10341
https://vj.xtuacm.cf/contest/view.action?cid=115#problem/J 二分简单题#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#define ll long longusing namespace std;原创 2017-08-05 10:05:17 · 179 阅读 · 0 评论 -
三分-HDU3714
https://vj.xtuacm.cf/contest/view.action?cid=115#problem/D三分简单题#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>#define ll long longconst int maxn=10000;原创 2017-08-05 10:02:27 · 194 阅读 · 0 评论 -
欧拉函数-LightOJ1007
https://vj.xtuacm.cf/contest/view.action?cid=86#problem/E 这个题目用java大数写的时候TLE,有时候java大数并不一定可以过即使时间复杂度可以 后来用c++高精度写,超内存 最后明白用unsigned long long可以过,在做题时如果超longlong可以用unsigned long long试试。 代码一用一个数组的方式存原创 2017-07-26 19:12:35 · 227 阅读 · 0 评论 -
不互质的中国剩余定理-HDU1573
https://vj.xtuacm.cf/contest/view.action?cid=86#problem/C 不互质的中国剩余定理模板,有些细节需要注意 在中国剩余定理中如果没有解会返回-1 另外题目要求是正整数,最后有一些小技巧#include<iostream>#include<cstdio>#include<cstring>#define ll long longusing原创 2017-07-26 18:57:15 · 247 阅读 · 0 评论 -
唯一分解定理+容斥-HDU4497
https://vj.xtuacm.cf/contest/view.action?cid=59#problem/L 这个题目的关键在于map的用法,通过map的灵活运用减少代码量和思维难度题意: 求同时满足gcd(x,y,z)==g&&lcm(x,y,z)==L的(x,y,z)组合数.题解: 1.很直观的:若l%g!=0||g>l时,答案为0; 2.若果满足l%g==0,用唯一分解定理把个g原创 2017-08-03 19:11:14 · 235 阅读 · 0 评论 -
数学模拟 HDU-4814
题目地址:https://vjudge.net/problem/HDU-4814题意很简单:给定一个十进制数,要求输出在(1+sqrt(5))/2进制中的数的表示。 φ + 1 = φ 2 .11(φ) = 100(φ).由于x的0次幂等于1 所以完全可以把n当成对应的x进制数的个位 现在要做的就是把这个数转化成二进制题目给出的公式可以在两边同时乘x的若干次幂 那么这两个式子就变成了 x原创 2017-08-27 21:05:46 · 214 阅读 · 0 评论 -
数学-HDU4790
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4790 题目意思是:从区间[a,b]选取一个数字x,区间[c,d]选取一个数字y,使得(x+y)%p=m。问你几率有多大。最简分式输出(除gcd就可以)。 总的事件总数就是(b-a+1)*(d-c+1)。 关键是求 满足(x+y)%p=m 的选择方法总数。 如何求呢? 其实直接求不好求,而且容易超原创 2017-08-28 20:52:15 · 296 阅读 · 0 评论 -
数学学习计划
1.burnside定理,polya计数法 这个大家可以看brudildi的《组合数学》,那本书的这一章写的很详细也很容易理解。最好能完全看懂了,理解了再去做题,不要只记个公式。 *简单题:(直接用套公式就可以了) pku2409 Let it Bead http://acm.pku.edu.cn/JudgeOnline/problem?id=2409转载 2017-08-26 10:56:59 · 573 阅读 · 0 评论 -
欧拉函数(或者容斥)-HDU5514
题目题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5514题目来源:2015沈阳区域赛,现场A的题,银牌题。简要题意:n个青蛙在m长的环上从0开始无限跳,每只跳ai远,求所有会被青蛙跳到的格子下标之和。数据范围:T⩽20;1⩽n⩽104;1⩽m⩽109;ai⩽109 开心的题显然很容易看出格子是否被跳和gcd(ai,m)有关。对于任意一个gcd(ai原创 2017-09-22 16:58:52 · 218 阅读 · 0 评论 -
构造矩阵+矩阵快速幂 POJ3735
https://vjudge.net/contest/182427#problem/C这题题意如下,有n 只猫咪,三种关于花生的命令 ( 得花生,吃花生,交换花生 ) ,给出一套命令,重复 n 次,问最后每只猫咪得到多少花生。 M那么大,毫无疑问,矩阵快速幂。先构造一个单位矩阵,因为只需在单位矩阵上进行操作,然后用操作完之后得到的矩阵乘以初始的状态就得到最终的状态。 看下图:第 i 只猫咪得花生原创 2017-09-02 22:40:59 · 217 阅读 · 0 评论 -
容斥原理 HDU-5072
https://vjudge.net/contest/183008#problem/C解题思路:“如果三个数a, b, c不符合条件,那么一定有一对是互质的,有一对是不互质的。不妨令a, b互质,b, c不互质。于是我们可以枚举b来统计答案。在除了b自己的所有数中,要么与b互质,要么与b不互质。假设n个数中有x个与b不互质的数,那么b对答案的贡献就是(x - 1) * (n - x)。注意这里的求出原创 2017-09-02 19:04:25 · 362 阅读 · 0 评论 -
概率期望 LightOJ-1038
https://vjudge.net/contest/182687#problem/C题意: 给出一个数字D 我们可以选择1-D中可以被D整除的数字,然后用D出得到一个新的数字D1; 然后在找所有D1的因子,用D1除,直到得到1; 问除的次数的期望值;思路: d[i] 代表从i除到0的期望步数;那么假设i一共有c个因子(包括1和本身) d[i] = ( d[1] + d[a2] + d[原创 2017-08-31 20:40:18 · 196 阅读 · 0 评论 -
找规律-POJ3372
http://poj.org/problem?id=3372一群小孩围成一个圈,老师顺时针发糖,分别每间隔0,1, 2, 3, 4……发一颗,问是否每个同学都有糖打印了前几项看出来得规律,只要n是2^k则输出YES,否则输出NO数论解法:N个人围成一个圈,老师给N个人分糖果.第i次分到的人的编号是f(x) = (x*(x+1)/2)%N,这N个人能不能至少获得1个糖果.易知必然存在i使得f(N -原创 2017-09-09 20:53:11 · 291 阅读 · 0 评论 -
矩阵快速幂+高斯消元解递推方程-HDU6185
http://acm.hdu.edu.cn/showproblem.php?pid=6185题目描述Bob’s school has a big playground, boys and girls always play games here after school. To protect boys and girls from getting hurt when playing happi原创 2017-08-31 19:16:07 · 2164 阅读 · 1 评论 -
贪心-HDU5976
https://vjudge.net/contest/185614#problem/F题目大意给定一个数,让你分成互不相等的n个数(n为自然数),使这些数的乘积最大,输出最大乘积。题目分析拿到一个数的时候分配,肯定是要分配到的数越小越好,但是不能分配出1,因为分配出1相乘之后得到的结果不会增加,因为想法就是枚举2,3,4,5……知道不能枚举即可。这个可以预处理一下,当然肯定还有未分配完的数,这时候要原创 2017-09-17 21:13:47 · 220 阅读 · 0 评论 -
数论-HDU5974
A Simple Math Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Problem Description Given two positive integers a and b,find suitable X and Y to meet the cond转载 2017-09-16 21:16:01 · 234 阅读 · 0 评论 -
等比矩阵求和-POJ3233
https://vjudge.net/contest/182427#problem/BDescriptionGiven a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak.InputThe input contains exactly one test case. The first lin原创 2017-08-30 22:08:50 · 621 阅读 · 0 评论 -
组合数学-HDU5894
https://vjudge.net/contest/183475#problem/C题目大意:圆周上有N个不同的椅子,要让M个相同的人坐在上面,使得两人之间至少隔K把空椅子,求方案数(模1e9+7)。0< M < N<1e6, 0< K<1000.题解:考虑每两个人之间隔了几把椅子。可以发现,一共有M个数,和为N-M,且每个数都>=K.将每个数都减去K-1,即得到:M个正数之和为N-K*M,方案数原创 2017-09-07 18:03:13 · 309 阅读 · 0 评论 -
递推(dp)-HDU5366
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5366Problem DescriptionZJiaQ want to become a strong man, so he decided to play the mook jong。ZJiaQ want to put some mook jongs in his backyard. His backy原创 2017-09-07 17:03:59 · 241 阅读 · 0 评论 -
高斯消元求解模线性方程-poj2947
https://vj.xtuacm.cf/contest/view.action?cid=115#problem/P这题目难点在于矩阵构建和取模strcmp(s, “MON”)==0 如果等于0两个字符串相同#include<stdio.h>#include<algorithm>#include<iostream>#include<string.h>#include<math.h>us原创 2017-08-10 15:11:00 · 268 阅读 · 0 评论 -
高斯消元模板(kuangbin版)
//基本版 #include<stdio.h> #include<algorithm> #include<iostream> #include<string.h> #include<math.h> using namespace std; const int MAXN=50; int a[MAXN][MAXN];//增广矩阵 int x[MAXN];//解集 bo原创 2017-08-10 14:43:14 · 211 阅读 · 0 评论 -
二分+容斥原理-HDU3388
http://acm.hdu.edu.cn/showproblem.php?pid=3388 从1到1e18二分查找,然后进行容斥原理计算 容斥原理在运用的时候要结合题意,有可能不是计算lcm 注意容斥原理的灵活运用#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstr原创 2017-07-19 12:30:47 · 255 阅读 · 0 评论 -
线性方法求欧拉数-POJ2478
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/I1.当需要求1到N的欧拉数之和时用线性方法(本题) 2.当需要求单个欧拉数但数据很大用标准方法求 例如:https://vj.xtuacm.cf/contest/view.action?cid=57#problem/H线性的方法求欧拉数代码(模板):#include<stdio.h>原创 2017-07-22 19:58:03 · 633 阅读 · 0 评论 -
中国剩余定理(不互质的情况)-HDU3579
https://vjudge.net/problem/HDU-3579 套模板 先可以先找两个同余方程 设通解为N;N=r1(mod(m1)),N=r2(mod(m2));显然可以化为k1*m1+r1=k2*m2+r2;—>k1*m1+(-k2*m2)=r2-r1;设a=m1,b=m2,x=k1,y=(-k2),c=r2-r1方程可写为ax+by=c;由欧几里得解得x即可,那么将x化为原方程的原创 2017-07-22 16:26:43 · 568 阅读 · 0 评论 -
中国剩余定理
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/B 这题目除数互质,裸的模板#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cstring>#include <vector原创 2017-07-22 16:08:53 · 200 阅读 · 0 评论 -
容斥原理+质因数分解-HDU4135
https://vjudge.net/problem/HDU-4135掌握质因数分解和容斥原理的应用#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace std;typedef long long ll;const int inf=10056;const int m原创 2017-07-18 18:00:55 · 326 阅读 · 0 评论 -
容斥原理(枚举二进制)-HDU1796(重)
https://vjudge.net/problem/HDU-1796 给定一个包括m个数的集合,数不超过20,问有多少个#include <iostream>#include <cstdio>using namespace std;typedef long long ll;const int inf=0x3f3f3f3f;const int maxn=25;ll num[maxn];原创 2017-07-18 10:07:26 · 233 阅读 · 0 评论 -
N很大情况下的Fibonacci前四位-HDU1568(重要)
http://acm.hdu.edu.cn/showproblem.php?pid=1568 参考博客:http://www.cnblogs.com/Yu2012/archive/2011/10/09/2199156.html (很重要) http://blog.csdn.net/lvshubao1314/article/details/38013897 #include <iost原创 2017-07-16 17:45:14 · 169 阅读 · 0 评论 -
数学- 找规律 HDU3054
*HDU3054 强调内容http://acm.hdu.edu.cn/showproblem.php?pid=3054* 类似数据量很大 没思路的题目可以先打表找规律 先通过打表输出找到规律,然后根据规律解题 运行完打表代码之后会发现1,3,4,5,6,7,……都是到第9个数增量是有一个变化!而2是到第4个数增量有了变化! 打表代码: #include <iostream>原创 2017-07-16 14:41:04 · 264 阅读 · 0 评论 -
错排列
全错排直接用全错排公式 部分错排先把那一部分看做全错排,然后从总的里面抽取部分 https://vjudge.net/problem/HDU-2049(部分错排)#include <stdio.h>#include <iostream>using namespace std;long long dp[55];int N,M;int main(){ dp[1]=0; dp原创 2017-07-13 15:09:18 · 277 阅读 · 0 评论 -
数学 找规律HDU-1030
https://vjudge.net/contest/99636#problem/J 题目难点在于找到规律 根据公式求解 :http://www.cnblogs.com/ACMan/archive/2012/05/30/2526798.html 从三个角度看这个图,level,left,right,如下图,题目的答案就是3个图上2个点之间的层数的高度差之和。例如 6 12 ,level=1,l转载 2017-04-16 18:31:33 · 289 阅读 · 0 评论 -
数学-组合数学
http://codeforces.com/contest/553/problem/A 这道题目难点在于找到规律,另外求组合数也是难点,不能用常规求法 A. Kyoya and Colored Balls time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputst原创 2017-04-15 14:37:51 · 303 阅读 · 0 评论 -
卡特兰数+逆元-HDU4828
https://vj.xtuacm.cf/contest/view.action?cid=57#problem/J 逆元是模板#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <queue>#define ll long longusing namespace std;cons原创 2017-07-23 14:18:01 · 217 阅读 · 0 评论 -
高斯消元求解-HDU3359
https://vj.xtuacm.cf/contest/view.action?cid=115#problem/M这个题目用的模板是直接求解方程式题解及代码: 这是一个double精度的高斯消元,方程建立直接暴力枚举每个点与当前点的距离就可以了,注意一下题目中给出的输入 先是列数,后是行数#include <iostream>#include <cstdio>#include <cmath>原创 2017-08-08 15:35:57 · 205 阅读 · 0 评论