![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
文章平均质量分 65
流風回雪_YZK
只盼来日登蜀道..
展开
-
BOJ 2773 第K个与m互质的数
算法是关键,得出1-m内的互质数,然后类推计算即可。下面有详细说明。 #include#includeusing namespace std;int a[1000001];int p[1000000]; //用a来筛去m的唯一分解后的质因子及其倍数。int main(){ int m,k; while(cin>>m>>k) {原创 2013-08-20 11:10:14 · 1008 阅读 · 0 评论 -
acdream 1203 解三角形
已知角a,b,c,d求角aed.(0=思路:其实和边没关系,都相似的。不妨设ab=10.0;由正弦定理容易求出 ad,ae,余弦定理求出de。答案就呼出来了。最后求反三角。算法没问题。但是比赛时候一直跪。。。后来躺床上一想,哎!acrsin返回的是 (-pai/2,pai/2)!若是钝角他返回锐角啊!sb了!所以判断一下脚aed是否大于90,再做正弦定理。或者直接用arccos求,原创 2014-09-09 10:21:12 · 898 阅读 · 0 评论 -
hdu4983 / 枚举约数+欧拉函数
求满足 gcd(a,n)*acd(b,n)=n^k的整数对(a,b)。n特殊情况考虑一下(n=1,k>=2),问题很容易转化为求euter(n/g)*euter(g),g是约数。这题比赛时候竟然应该不会求n的约数二不会做!求约数时候,枚举(1,根号n),另一半对应啊!欧拉函数,这次有改进。#include#include#includeusing namespace std;l原创 2014-08-27 12:37:21 · 1104 阅读 · 0 评论 -
hdu4772 坐标旋转
俩个n*n牌,问旋转0,90,180,270,时候重叠在一起一样的数最多的情况。坐标旋转一下即可,推一下旋转公式:如90度,回忆在坐标系中,(x,y)关于(0,0)旋转90为(-y,x),若关于(a,b),则坐标转移,把(a,b)看错原点(x-a,y-b)->(b-y,x-a),再坐标系转换回来:(b+a-y,x).在数组坐标中类似可推:#includeusing namespace原创 2014-08-27 21:44:52 · 927 阅读 · 0 评论 -
poj 3070 矩阵快速幂简单题
基本运用,基本是模板题。求fi【n】. (1,1) *( 1 ) ( 1,0) ( 0)#include#includeusing namespace std;struct juz{ int bat[3][3]; int x,y; //行 列};juz mutp(ju原创 2014-09-16 20:34:35 · 985 阅读 · 0 评论 -
hdu 5015 大数量重复相似操作问题/ 矩阵快速幂
题意: 给一个矩阵a,第一行是 0, 233,2333,23333.....第一列读入,列数先转化操作: m是大数量,必然每次向前推一列,就是每次乘一个矩阵T,就推一列,画画草稿自热而然就想到了。转化阵T(n+2*n+2)和初始矩阵A(n+2*1 ): T={ 1,0,0,0,0,0,0,0,0,0...10,1 1 1 0 0 0 0 0 0 0 0 10 1原创 2014-09-17 15:42:55 · 1132 阅读 · 0 评论 -
poj 3735 大数量重复操作问题(矩阵快速幂)
题意:一个一维数组,3种操作: a: 第i个数+1,b: 第i个数=0 ,c::交换某俩处的数。 由三种基本操作构成一组序列,重复该序列m次(m属于一种综合操作重复型: 每次乘以一矩阵T,相当于做一次操作。关键是构造这个矩阵。先构造最初矩阵A : 1*(n +1) ={1,0,0,0...} , 第一个一时为了操作第一行数的, T的构造:初始是N+1 * N+1单位阵 这原创 2014-09-17 11:30:34 · 1035 阅读 · 0 评论 -
hdu 5073
#include#include#include#include#includeusing namespace std;int n,k;long double sumxx[50005];long double sumx2[50005];long long v[50005];int main(){ int T; cin>>T; while(T--)原创 2014-10-22 22:08:52 · 978 阅读 · 0 评论 -
hdu 2899 hdu 3400 三分/几何
hdu2899 ;水提,直接三分,其实求导后二分也可以。#include#includeusing namespace std; double y; double inline f( long double x){ return 6*x*x*x*x*x*x*x+8*x*x*x*x*x*x+7*x*x*x+5*x*x-y*x;}int main(){ in原创 2014-10-08 21:18:03 · 998 阅读 · 0 评论 -
hdu 5065 数学题
#include#include#includeusing namespace std;int A,B,y;double ans=0;double inline f(double x){ return A*x*x-(B*sin(x)+y);}double inline absf(double x){ if(f(x)<0)return -f(x); retu原创 2014-10-17 20:53:19 · 1107 阅读 · 0 评论 -
hdu 5035 概率论
n个服务窗口,每个服务窗口等待时间服从指数发布,求等待时间的期望。解: 分俩阶段:先是等待到轮到他,再是被服务的时间。 每个窗口的等待时间期望是1/ki(1/ki,指数期望发布公式),总等待时间期望为1/(求和ki),“一小撮方法”每个窗口平均单位时间处理1/(1/ki)个人,,单位时间可以处理(sum(ki))个人,一个的平均等待期望(1/(sum(KI)).再求被服务时间的期原创 2014-10-16 22:36:58 · 1046 阅读 · 0 评论 -
hdu5203
归纳:用〈a〉表示最接近a的整数。 (1) 当n为偶数时,周长为整数n的三角形总数S=482n; (2) 当n为奇数时,周长为整数n的三角形总数S=4832n。原创 2015-04-11 21:57:19 · 588 阅读 · 0 评论 -
hdu4972 数学杂题
题意:有俩个队进行n场比赛,每场只记录下分差的绝对值(不知道哪一方),求最后可能比分。思考了半天,还分类讨论。。结果也想到只有 1->2、2->1的情况有俩种可能。。。哎还是跪,这题坑点交多,自己弱爆。。官方正解:既然已经知道差值,那么只有知道双方最终得分之和就知道比分了!(x-y已知,当然要用x+y去确定!问题转化能力!)问题转化了!每次1-》2/2-》1有总分增加1/3的俩种可能,设有原创 2014-08-23 16:33:49 · 836 阅读 · 0 评论 -
hdu 4974 数学杂题/证明
题意模型:n个正数,每次可以做下面俩种操作之一:1:取一个数减一。2:取俩个数各减一。都必需保证每次操作的数>0.求使得所有数字为0的最少操作次数。都说是简单题,网上还有不少错误解法(排序后扫一遍,每次取最大的俩个数减到0: 2 2 2 这样是4次,正解3次)。应该是每次取最大的俩个数,各减1.若maxi>sum/2,则ans=max,每次操作都用那个max,和其他一个原创 2014-08-23 17:37:31 · 948 阅读 · 0 评论 -
hdu 4932 /bestcoder B题 #4 /思维题
题意:给一个数列(整数),用一些不相交的区间去覆盖(只能是用端点去覆盖,端点可以交)。而且区间出度相等。求最大区间长度。开始一下就敲了,枚举每个区间长度,判断合法,更新最大。但是后来一看小数,感觉不行,改为二分,后来还是挂了。。。赛后才知道,二分的时候,答案必需要满足单调性啊,这里小的数据不行,大的数据可以行!如 0 1 5 6 10, 3不行,4行。后来才知道,枚举时,每个差值的一半原创 2014-08-11 10:07:51 · 835 阅读 · 0 评论 -
ZOJ 2562 反素数
本次,学到了反素数相关知识,也更深地了解了DFS递归搜索。原创 2013-08-19 14:41:08 · 612 阅读 · 0 评论 -
poj2689素数问题
打算重新刷一下数论题,忘了很多了,水平也很差,此题入手就不顺了,刷了一个早上,只是一个简单的素数应用罢了。题意:找出区间长度不超过10^6的最近的素数和最远的素数(相邻的),算法:数在int范围内,不可能全部一次筛出,所以先筛出50000以内的质数,其他整数(若是合数)必然至少含有一个50000以内的质因子,所以,对每次区间,再筛,筛去区间中这些质数的倍数即可。未1A原因:1,原创 2014-02-18 11:58:37 · 807 阅读 · 0 评论 -
poj2773求第K个与m互质的数
//半年前做的,如今回顾一下,还是有所收货的,数的唯一分解,.简单题。#include#includeusing namespace std;int a[1000001];int p[1000000]; //用a来筛去m的唯一分解后的质因子及其倍数,流下就是与其互质的数。int main(){ int m,k; while(cin>>m>>k) {原创 2014-02-18 21:44:53 · 1159 阅读 · 0 评论 -
母函数初期简单入门题练习
母函数,关键是理解多项式和问题的联系,构造合适的多项式。1. hdu1557: 题意:给n个数,如果其中有m个数之和大于这n个数一半,则这m个数组成这个团体叫“获胜联盟”,这m个数中,若有一个数,去掉它,这个团体就不能成为获胜联盟了,那么这个数为关键加入者。每成为一次关键加入者,则这个数的权利加1,求所有数的权利(输出)。 思路:求出所有的数组合之和(任意几个数之和)(和小于所原创 2014-03-04 21:37:23 · 1007 阅读 · 0 评论 -
SGU 106 在区间范围内的线性方程解个数
题意:求解方程ax+by+c=0,在区间x1->x2和y1->y2的解的个数。看似简单,真心a的不容易啊!开始跪于第8组数据,原因是没用long long !后来改了,跪于12组,超时,于是,换方法,求出x的解,对应到y,然后算在y1,y2的解有几个(不要用枚举法,算有几个就行)。竟然又跪于第4组数据!!哎,弱爆了。才发现,x对应过去的y,x递增,y未必也递增,也未必递减啊!!做线原创 2014-04-01 12:04:35 · 710 阅读 · 0 评论 -
hdu 4885 (n^2*log(n)判断三点共线建图)+最短路
题意:车从起点出发,每次只能行驶L长度,必需加油到满,每次只能去加油站或目的地方向,路过加油站就必需进去加油,问最小要路过几次加油站。开始时候直接建图,在范围内就有边1.跑最短了,再读题后发现,若几个点共线,且都在范围内,那么中间有点的俩头的点就不能有边,否则与条件相悖。关键是怎么用n^2*logn,的复杂度判断三点共线:点先按X排序,考察每个点i时候,第二个点j,若直线ij斜率已经存在,则不原创 2014-07-28 12:46:03 · 1319 阅读 · 0 评论 -
hdu 4882 /按排顺序使序列最优问题
题意: 安排一个序列,该序列每个数有俩个属性:t[i]、val[i]。计算一个点的价值:到目前为止的总时间*val[i].,,求 安排顺序后使得 计算所有点的价值之和最小。思路:对于任意相邻俩项,考虑他俩顺序对总体的影响:前面的和后面的必然不变,设 他俩为 i,j. 俩种情况作差得:t/val小,就小。所以可以按之排序,则总体最小。#include#include#include原创 2014-07-27 15:18:49 · 905 阅读 · 0 评论 -
大数类模板(+-*/%等等)
注意:必需先定义,再使用。#include #include using namespace std;#define DIGIT 4 //ËÄλ¸ô¿ª,¼´Íò½øÖÆ#define DEPTH 10000 //Íò½øÖÆ#define MAX 1000typedef int bignum_t[MAX+1];/**************原创 2014-08-02 08:43:30 · 915 阅读 · 0 评论 -
省赛i题/求1~n内所有数对(x,y),满足最大公约数是质数的对数
求1~n内所有数对(x,y),gcd(x,y)=质数,的对数。思路:用f[n]求出,含n的对数,最后用sum【n】求和。对于gcd(x,y)=a(设x他们乘积的f[i*a]值包括i的欧拉函数值。时间复杂度(n*质数个数)#include#includeusing namespace std;const int maxx=100010;int mindiv[maxx+5],p原创 2014-07-13 10:35:21 · 1705 阅读 · 0 评论 -
湘潭oj1203/邀请赛A题 数论+java大数
求 n%1+n%2+n%3+n%4+.........n%n=,n<=10^12次。开始时盲目地找规律,结果一无所获。后来经学长点拨,天资愚钝,搞了半天才明白。原创 2014-07-13 08:52:57 · 1303 阅读 · 0 评论 -
hdu 4969 物理/积分
题意:a从圆心出发去追b,b沿着圆跑,速度分别是v2,v1(匀速),a,b,圆心始终三点共线,圆半径为R,问a在d距离内能否追到b。哎,大学的物理积分都忘记了。。。好陌生了。。。看了题解才会的。。。把a的速度v2分解为径向速度和切向速度,则切向速度和B的速度平行,角速度相等,w(哦米噶)=v1/R, 设某时刻a距离圆心距离为 r,则径向速度 dr/dt=根号下(v2^2-w^2*r^2),移项原创 2014-08-21 15:24:59 · 951 阅读 · 0 评论 -
codejam 2018 round c
熟悉环境练习赛,谷歌这种离线求解方式还是很不错的。三道题 分别为大数据小数据。第一题,求一个只有一个环的无向图,求出所有点到图中环的最小距离。dfs, 每次把点入栈,结束出栈,如果遇到祖先点就弹栈,(这时候这些点都是环中的点) 。然后bfs一遍求出所有点搭配环最短路。O(V+E)第三题,数学题,先模拟以下,求出A, 然后思考归纳下, 等比数列和,然后就是(除法取模)求逆元(O(N)预处理出逆元),...原创 2018-05-27 21:35:31 · 636 阅读 · 0 评论