数学题
文章平均质量分 63
冷月残星
这个作者很懒,什么都没留下…
展开
-
数学,期望(Balls and Boxes,HDU 5810)
本题是半推半猜做出来的。n个球放到m个盒子。第i个盒子有Xi个球。可知Xi~b(n,1/m)E(Xi)=n/mVar(Xi)=n(m-1)/m^2如果Xi相互独立,那么Xi可以看成第i次独立重复实验随机变量X的值,其中X~b(n,1/m)那么V=∑mi=1(Xi−X¯)2m就是对X方差的无偏估计。(已知均值,所以分母不是m-1)关于样本均值和总体均值:https原创 2017-07-26 17:58:19 · 284 阅读 · 0 评论 -
数学题(总是整数,LA 4119)
判断一个关于n的多项式是否在n取所有正整数时都是D的倍数。如关于n的多项式2n+2在n取所有正整数时都是2的倍数,而不都是3的倍数。是否都是D的倍数,最好的方法就是证明多项式是一个等差数列,且首相和公差都是D的倍数即可。设k为多项式的次数。当k=0时,多项式是一个常数,因此只需要判断P(1)。当k=1时,有多项式P(n)=an+b。原创 2016-11-17 11:50:28 · 476 阅读 · 0 评论 -
大步小步算法(网格涂色,uva 11916)
算法详解http://blog.miskcoo.com/2015/05/discrete-logarithm-problem参考代码http://blog.csdn.net/u011345136/article/details/38796399M至少应当等于不能涂色的格子的行编号的最大值。。。好咯。。。就算这样也还是不会做,还有太多知识点不知道了。主要问转载 2016-11-21 16:32:21 · 799 阅读 · 0 评论 -
数学(Anton and School,cf 734F)
首先要知道 (a&b)+(a|b)=a+b我也不知道怎么才能想到这个,只能说按位运算是有很多规律的,以后遇到类似的题可以尝试着去寻找一些规律。讲解:已知 b[i]=∑(a[i]&a[j]),(1 c[i]=∑(a[i]|a[j]),(1根据公式,易得 b[i]+c[i]=∑(a[i原创 2016-11-29 13:41:49 · 264 阅读 · 0 评论 -
欧拉函数(森林里的树,uva 10214)
求小于等于n中互质的数的对数,可以用欧拉函数。但是如果两个数互质的数的取值范围不同,就有一个小技巧。紫书上讲的很清楚了。#includeusing namespace std;typedef long long ll;ll phi[2010];ll a,b;ll ans;void init(){ phi[1]=1; for(ll i=2;i<=2000原创 2016-10-20 20:19:55 · 393 阅读 · 0 评论 -
筛法,欧拉函数,递推(帮帮Tomisu,uva 11440)
x的所有素因子都大于M ==> x与M!互质。若x>M!,那么x与M!互质 ==> x%(M!)与M!互质。因为M如何求M!的欧拉函数呢?用递推的方法。phi[i]表示i!的欧拉函数。phi[1]=phi[2]=1; for(ll i=3;i<=n;i++) if(vis[i]) phi[i]=phi[i-1]*i原创 2016-10-20 16:49:19 · 387 阅读 · 0 评论 -
找规律(约瑟夫的数论问题,uva 1363)
感觉你现在的知识储备还可以了,问题在于如何做题。很多时候题目都不是模板题,不是说你一定要知道某个经典算法才能做的。大部分时候都是依靠着基础的算法,自己创造出一个解决办法。这就需要对基础知识掌握得十分牢固以及大量的做题思考后才能达到。希望自己以后做题要多乱搞,或者说多分析思考,而不是总想着套什么算法。找规律就是一种乱搞,能优化时间复杂度。至于怎么想到答案,我只能说,就认真想就好了。认原创 2016-10-20 15:22:19 · 719 阅读 · 0 评论 -
约瑟夫环(约瑟夫问题的变形,LA 3882)
只是问最后剩下的是哪个,而没有问具体是怎么删除的,所以不需要完全模拟,只需要模拟编号就好了。一开始有n个,分别编号为 0,1,2,3,...n-1。删除第k个,即编号为k-1的那个,那么删除后剩下 0,1,...k-2,k,...,n-1。然后对n-1个物品重新编号,以便递归调用。0 n-k1 n-k+1...原创 2016-10-27 23:51:04 · 3950 阅读 · 0 评论 -
概率(多边形,uva 11971)
#includeusing namespace std;typedef long long ll;ll mypow(ll x,ll n){ ll ret=1; while(n) { if(n&1) ret*=x; x*=x; n>>=1; } return ret;}ll gcd(ll a,ll原创 2016-10-03 22:58:51 · 380 阅读 · 0 评论 -
递推,概率DP,概率(你想当2^n元富翁吗?,uva 10900)
http://blog.csdn.net/yeyeyeguoguo/article/details/43503277其实每个问题都一模一样,答不答只看你现在已拥有多少钱。其实已拥有多少钱是固定的,所以只看概率。dp[i]就是回答完前i题的期望。显然能答到第i题,那么前面的题肯定都答对了,因此影响期望的只能是后面的题目了。所以要从后往前推。答对的概率是在[t,1]转载 2016-10-03 14:32:20 · 339 阅读 · 0 评论 -
连续概率(概率,uva 11346)
又读错题,浪费大量时间,好久没碰数分,连最简单的积分都不熟练了= =。求概率转化为求面积比,要用到积分。求面积用割补法,因为直接算不方便积分。极端情况要特殊处理,如0%或100%的时候。#includeusing namespace std;double a,b,s;int main(){ int t; scanf("%d",&t);原创 2016-10-03 12:31:36 · 396 阅读 · 0 评论 -
数学期望(优惠券,uva 10288)
要先求出有n种图案,已拥有k种,平均拿几次就能获得一种新图案。累加起来就是答案。那怎么求平均拿几次就能获得一种新图案呢?我们设拿到一种新图案需要次数t的概率为p,令s=k/n很容易求得p=s^(t-1)*(1-s)。累加t到正无穷。发现是一个差比数列,计算出平均拿n/(n-k)能获得一种新图案。代码#includeusing namespace std;typedef lo原创 2016-10-02 18:39:08 · 388 阅读 · 0 评论 -
递推,计数(危险的组合,uva 580)
#includeusing namespace std;typedef long long ll;ll dp[35];ll mypow(ll x,ll n){ ll ret=1; while(n) { if(n&1) ret*=x; x*=x; n>>=1; } return ret;}vo原创 2016-09-29 12:20:16 · 473 阅读 · 0 评论 -
排列组合,递推,记忆化搜索(葛伦堡博物馆,LA 4123)
就是容易发现一共有numo=(n-4)/2个O,一共有numr=(n+4)/2个R。然后不能有两个O连在一起,头和尾同时为O也不行。就是插空法啦。现在C(numr+1,numo)-C(numr-1,numo-2)。意思是numr+1个空里选numo个减去numr-1个空里选numo-2个。即随便插空减去头和尾都是O的情况。由于(numr-numo)书上用的是递推,记忆化搜索。虽然麻烦但原创 2016-11-15 09:45:37 · 594 阅读 · 0 评论 -
概率(和朋友会面,UVA 11722)
横坐标t表示你的时间,纵坐标s表示你朋友的时间。因为你的火车会在[t1,t2]时间段内等概率的到达,你朋友的火车会在[s1,s2]时间段内等待率的到达。所以由t=t1,t=t2,s=s1,s=s2四条直线围成的矩形就是概率空间,设这个区域为A。点(t,s)在矩形内表示你和你朋友分别在t时刻与s时刻刚好到达这座城市。矩形内每个点发生的概率都相等。由于火车到达后一定会停留w分钟,所以当且仅当你原创 2016-11-22 11:27:38 · 434 阅读 · 0 评论 -
物理题(physics,HDU 5826)
高中物理题:汽车以恒定功率启动。https://www.zybang.com/question/3a5bdab5c8422ba094cba86fb5dcdcdc.html用到一些积分技巧。还有大白书P9的一道思维题——蚂蚁http://blog.csdn.net/xl2015190026/article/details/52909647代码#include原创 2017-07-25 17:52:15 · 345 阅读 · 0 评论 -
数学题(Hard problem,HDU 5858)
样例给的那个0.29就是面积的比例嘛,如果知道精确的比例,乘以面积就是答案了。只不过小数点后面还有8位需要确定。。。题目说这是一道小学奥数题,我感觉这难度怎么说也应该是初中奥数题吧。思考了一会然后发现自己竟然连小学奥数题都不会做。然后我就开始思考自己和小学生究竟有什么区别。然后开始思考数学竞赛和算法竞赛究竟有什么区别。然后觉得可以尝试用投点法来模拟出这个面积的比例。然后跑了原创 2017-07-23 19:31:34 · 303 阅读 · 0 评论 -
莫队算法,gcd(The sum of gcd,HDU 5381)
有一个小失误,WA了很久。转移的顺序应该是①增加r②减少l③减少r④增加l否则可能会出现错误比如想从[a,b]转移到[c,d]但是c如果顺序不对的话,按照我自己的算法,就会算错。代码#include#include#include#includeusing namespace std;typedef long long ll;原创 2017-07-16 11:20:45 · 235 阅读 · 0 评论 -
数学题(First One,HDU 5358)
学习一下吧。参考博客:http://blog.csdn.net/u013007900/article/details/47323347http://bestcoder.hdu.edu.cn/blog/2015-multi-university-training-contest-6-solutions-by-zju/http://www.cnblogs.com/yfceshi/p/6原创 2017-07-13 10:24:29 · 255 阅读 · 0 评论 -
多项分布(FZU 2103,Bin & Jing in wonderland)
多项分布介绍:http://blog.csdn.net/shuimu12345678/article/details/30773929每个事件p必须相互独立。所以在本题中需要枚举最小的那个事件的次数。然后比最小的还小的概率当成一个独立的事件,然后正常算就好了。代码#include#include#includeusing namespace std;const int ma原创 2017-05-04 20:47:19 · 414 阅读 · 0 评论 -
组合数学(UESTC 488,Rebuild the Sequence)
https://vjudge.net/problem/UESTC-488一道组合数学题。就是求n个数里选m个数,可以重复,问有多少种组合。https://www.zybang.com/question/afc18393bfb1110a150ac7531cfa3aec.html范围看错了,数组开小了。。。WA+RE不知所措。谁叫你不好好读题的。。预处理阶乘的逆,可以只快速原创 2017-05-02 10:55:59 · 299 阅读 · 0 评论 -
组合数学(Anton and School - 2,cf 785D)
就当背一下公式以及学一下思路吧。http://www.cnblogs.com/chendl111/p/6561079.htmlhttp://www.cnblogs.com/Dragon-Light/p/6559771.htmlhttp://codeforces.com/blog/entry/50996代码#includeusing namespace std;t转载 2017-03-29 14:06:15 · 432 阅读 · 0 评论 -
数学题(Vladik and fractions,743C)
哎,总觉得是搜索(记得埃及分数问题吗),或者是解方程。。。然后。。。感觉自己天天跪数学题,亏自己还是数院的学生。。。可能自己那天晚上太累了,连scanf都写不好了。至少说还是学到了一些东西,以后做题就有更新的思路了。代码#includeusing namespace std;int main(){ int n; scanf("%d",&n);原创 2016-12-15 10:13:54 · 428 阅读 · 0 评论 -
欧拉定理(Tetration,玲珑杯 Round#5 E lonlife 1060)
就是需要用到一个欧拉定理(a^b)%p=(a^(b%phi(p)))%p。但是这个公式只在a与p互质的情况下才可以用。所以需要用到一个适用范围更广的公式。如果b>=phi(p) (a^b)%p=(a^(b%phi(p)+phi(p)))%p。否则 (a^b)%p=(a^b)%p。这样就可以降幂,然后原创 2016-11-26 22:55:13 · 524 阅读 · 0 评论 -
线段树,方差,数学(Variance,玲珑杯 Round#5 H lonlife 1063)
以前只知道方差=(∑(xi-x)^2)/n,1没有办法用一棵线段树来维护方差。现在知道了方差=Var[x] = E[x^2] - E[x]^2,就是平方的期望减去期望的平方。所以用两颗线段树分别维护区间和与平方的区间和。然后算出答案就好了。我们都知道,我们都知道,但我咋就不知道呢以后要多打比赛,感觉打比赛收获很大。代码#include#原创 2016-11-26 18:31:38 · 461 阅读 · 0 评论 -
自适应辛普森法,曲线积分,二分法(桥上的绳索,LA 3485)
就是本题让我又翻出了半年未动的数学分析讲义,把曲线积分以及不定积分又复习了一遍。如果已知函数值想求自变量而反函数又难以解出的话,可以利用函数的一些性质,比如单调性,然后二分自变量求解。如果是单峰函数的话,可以先三分求出极值点,然后转化成两个单调函数。其他就是纯数学问题了。代码#includeusing namespace std;const doub原创 2016-12-08 15:48:12 · 745 阅读 · 0 评论 -
随机转移(Race to 1,UVA 11762)
就是状态转移是有概率的,但要求的是期望,那就用全期望公式写出状态转移方程就好了,这个状态机有些有趣,就是一定概率变成自己,所以写出出全期望公式后变形一下就是状态转移方程,然后正常的记忆化搜索就好了。画出状态转移图有助于写出正确的公式。在动态规划里状态转移方程就是一切,写错一点就什么都没了。画图是个不错的辅助技巧。写出公式后一定要化简,这甚至可能是最关键的一步。代码#include原创 2016-11-24 22:26:17 · 320 阅读 · 0 评论 -
求期望,对数的应用,预处理(糖果,uva 1639)
思路有,但一看到n那么大,就不会做了。。。利用对数来计算期望,以保证精度。学到了!然后。。一定要先证明自己的数学公式一定是对的,再去编写代码,否则就是白费时间。0的对数是负无穷,所以要特殊判断,不过不判断也不会错。预处理时打表,以快速求出log(C(m,n))。也就是带了对数而且允许误差才能这么算吧。第一次见到卡long double的。。。cb没法正确的输原创 2016-09-29 17:59:50 · 1327 阅读 · 0 评论 -
全期望(过河,uva 12230)
#includeusing namespace std;int n;int kase;int D;double p[15];double L[15];double v[15];int main(){ while(~scanf("%d %d",&n,&D)&&(n+D)) { double ans=0; for(int i=1;i原创 2016-09-29 15:45:54 · 435 阅读 · 0 评论 -
找规律,数学(巨大的斐波那契数列,uva 11582)
18446744073709551615=2^64-1是unsigned long long能表示的最大的数,输入输出用%llu或%I64u。发现很多数学题都是要你找规律的,只不过要注意特殊数据。#includeusing namespace std;typedef unsigned long long ll;vectorf[1010];void init(){原创 2016-09-26 23:44:23 · 1353 阅读 · 0 评论 -
gcd,高效(魔法GCD,uva 1642)
感觉前面高效算法设计白学了,除了O(n^2)和一些乱七八糟的想法外什么都不知道。枚举j,快速找出最优的i。一边枚举j,一边更新查找表。每次遍历查找表寻找最优的i即可。查找表一开始还用set搞来搞去。代码又麻烦,速度也不快。其实对于这种需要频繁更新和删减的,不如重开一个vector,把更新后的内容放在里面,再赋值给原vector。然后数据范围要用long long。gcd(a原创 2016-10-22 10:31:45 · 564 阅读 · 0 评论 -
gcd,枚举,数学(高速公路,uva 1393)
枚举所有类型的对角线,计算出每种对角线的总个数,注意不要重复计算。包围盒这个思想很不错。先算总的,再减去重复的。因为总的也好算,重复的也好算。#include#define maxn 310using namespace std;int n,m;int GCD[maxn][maxn];int gcd(int a,int b){ return a%b==0?b:g原创 2016-10-22 09:09:02 · 328 阅读 · 0 评论 -
【2016-沈阳赛区网络赛-J】大素数模板(Count primes,uva 5901)
http://blog.csdn.net/chaiwenjun000/article/details/52589457#include#define ll long longusing namespace std;ll f[340000],g[340000],n;void init(){ ll i,j,m; for(m=1;m*m<=n;++m)f[m]=n转载 2016-09-23 10:07:32 · 394 阅读 · 0 评论 -
扩展欧几里得算法,中国剩余定理(Two Arithmetic Progressions,cf 710D)
理论知识http://blog.csdn.net/xiaofengsheng/article/details/4813170参考代码http://blog.csdn.net/miracle_ma/article/details/52290256http://blog.csdn.net/wust_zzwh/article/details/52287769WA在转载 2016-08-24 16:20:07 · 523 阅读 · 0 评论 -
除法逆元(ZS and The Birthday Paradox,cf 711E)
这题真挺不错的,需要一些数学知识,对细节要求高。一些资料与参考:除法逆元 http://blog.csdn.net/acmmaxx/article/details/18409701逆元详解 http://blog.csdn.net/acdreamers/article/details/8220787参考代码 http://blog.csd转载 2016-09-01 20:29:22 · 376 阅读 · 0 评论 -
勾股定理(Pythagorean Triples,cf 707C)
只能说以后编程要先讨论清楚各种情况,保证不重不漏了,再开始编写程序吧。百度勾股定理,发现推论一只。勾股数组勾股数组是满足勾股定理的正整数组,其中的称为勾股数。例如就是一组勾股数组。任意一组勾股数可以表示为如下形式:,,,其中均为正整数,且。定理用途已知直角三角形两边求解第三边,或原创 2016-08-21 03:56:07 · 602 阅读 · 0 评论 -
【2016-CCPC-H】计算几何(Special Tetrahedron,hdu 5839)
http://www.cnblogs.com/Sunshine-tcf/p/5770545.html本来暴力枚举O(n^4)铁定超时的。但是这种方法枚举得很有技巧。前两层是暴力枚举,第三层筛选,第四层在筛选的结果中枚举。前三层是O(n^3),第四层在筛选出来的点中枚举,枚举量十分小,可以理解为常数极小的O(n^4)。还要考虑清楚各种情况下重复或错误的枚举。四转载 2016-09-09 14:23:04 · 432 阅读 · 0 评论 -
【2016-CCPC-B】高斯消元(Zhu and 772002,hdu 5833)
http://blog.csdn.net/chy20142109/article/details/52206558#include#define maxn 350using namespace std;typedef long long ll;const ll mod=1000000007;int n;int p[2000];int cnt;int jz[maxn][转载 2016-09-09 10:04:36 · 371 阅读 · 0 评论 -
矩阵快速幂(233矩阵 HDU 5015)
http://blog.csdn.net/rowanhaoa/article/details/39343769我的代码#include#include#define mod 10000007using namespace std;struct Mat{ int n,m; long long MAP[15][15]; Mat(){memset(MA转载 2016-07-21 03:03:45 · 315 阅读 · 0 评论 -
排列组合,斯特林数(安排机器,HDU 4045)
排列组合与第二类斯特林数,关于斯特林数详情百度百科。排列组合,第二类斯特林数的模板 http://blog.csdn.net/acm_cxlove/article/details/7857785把状态转移方程改为f[i][j]=(i-1)*f[i-1][j]+f[i-1][j-1]就是第一类。我的代码#include#define LL long long#define m转载 2016-07-21 01:20:14 · 414 阅读 · 0 评论