数学
韦我独尊-德天独厚
这个作者很懒,什么都没留下…
展开
-
HDU4565 So Easy!
#include#include#include#include#include#include#include#includeusing namespace std;struct Matrix { __int64 m[3][3]; }E,D; __int64 a,b,n,mod; void init() { for(int i=1;i<=2转载 2013-08-02 15:47:29 · 676 阅读 · 0 评论 -
CodeForces 449C Jzzhu and Apples 数学+素数
这道题目晚上本来就花了很多把都××了,着实觉得自己思路没错啊,回顾一下思路,给你n个数,分成两两组合一对,分成最多组如何分,但是组合的两个数 不能互素,所以呢 偶数肯定是好的了,所以先放着,先把素数给搞定,10^5所以枚举所有包含该素数因子的数,如果刚好分组则最好,不然的话其中有偶数的踢掉一个给下面的偶数处理部分,最后再处理偶数的部分,这样肯定满足组数最多,完全没有问题,后来方法确实是没问题啊,只原创 2014-07-20 21:31:34 · 913 阅读 · 0 评论 -
Codeforces 223C Partial Sums 数论+组合数学
题意很简单,求不是那么好求的,k很大 要操作很多次,所以不可能直接来的,印象中解决操作比较多无非线段树 循环节 矩阵 组合数等等吧,这道题目 也就只能多画画什么 的了 就以第一个案例为主吧 ,3 1 2 3k我们依据画的次数来自己定好了下面的每个数表示这个位置的 数由最初的 数组num[]中多少个数加起来得到的当k为0的时候呢,就是1 1 1k为1的时候呢1 2原创 2014-07-23 22:15:26 · 1280 阅读 · 0 评论 -
Codeforces Round #224 (Div. 2) B 数学推理
挺有意思的一道题目,一开始发现了循环节,做了一下,发现许多小地方要补,比较繁琐,做了几个小时的无用功吧,但是循环节肯定可以只是我写搓了,后来又推了公式,发现可以的首先当b=x的时候,这个时候只有c--,但是答案要求的 是多少次,在b=x,所以第二部分对答案有影响,但是 设方程的话 就不需要多设一个未知数,因为 第一部分肯定 是要进行(c - a)次才行推一下b第一步: b1 =原创 2014-08-11 14:40:40 · 738 阅读 · 0 评论 -
HDU3076 ssworld VS DDD概率DP
kao,WA了那么多次这题目数据是错的,两个人的血量弄错了,输入的 A的血量其实是B的,输入B的其实是A的,由于有平局现象的干扰,所以一开始先把平局包括进去 的 A赢的概率B赢的概率都算出来,然后减去以后就是平局的概率,再在已经除去平局的情况里 算一下A赢的概率,B赢得概率计算出来,这样就可以计算了,假设方程dp[i][j]代表 A赢了j次B赢了i次的概率,然后状态转移就比较简单了 :dp原创 2014-11-08 22:50:40 · 743 阅读 · 0 评论 -
HDU3853 LOOPS 概率DP
十多分钟做出来了呃,虽然是入门级别的题目,但是还算是比较开心了呵呵题意:从一张r*c的图中 由左上角走向右下角,每一步 有一定概率不动,也有一定概率往下,还有一定概率向由走一步,每一次花费2方程: 是最一般的思路,以目标状态为边界,当前状态到目标状态所需期望 为方程dp[i][j] 代表在(i,j)到目标 需要的期望那么很显然dp[i][j] = dp[i + 1][j原创 2014-11-14 12:58:52 · 923 阅读 · 0 评论 -
Codeforces Round #105 (Div. 2) D 概率DP
题目呃 琢磨了半天还是琢磨出来了,题意有些模糊哈,有w个白色物品,b个黑色物品,A,B轮着抽,A先开始,谁先抽到白色谁赢,若最终都没有抽到白色 则算B赢,抽出来的物品不会放回去,B抽完以后 物品还会有一个额外产生丢失,问A赢的概率为多少依旧是以目标状态为边界,当前状态到目标状态所需要的概率为 方程dp[i][j] 代表当前轮到A抽的时候,还有i个白色的j个黑色的A赢的概率为多少则当原创 2014-11-16 21:20:42 · 803 阅读 · 0 评论 -
SGU495 Kids and Prizes 概率DP,期望公式
题目这题目首先进去以后,没地方提交,第一次做SGU的题目,只能在HUSTOJ上提交了有n个盒子,里面有礼物的,m个人,每个人拿,拿过以后 把礼物取出来 把盒子放回去,求选中礼物数的期望其实一开始就假设方程 dp[i]为 第i个人获得礼物的概率,但是状态转移方程不知道该怎么办,想了很久都没有办法,其实首先边界为dp[1] = 1 第一个上来选的人肯定必中接下来一个人的 则由两部分原创 2014-11-17 01:42:23 · 1159 阅读 · 0 评论 -
Codeforces Round #226 (Div. 2) C 数论
题目:CF机子真心强大啊,这样才跑了600ms,给了你n个数的序列,然后m次询问,每次询问求出序列中每个数是 区间[a,b]内的 几个素数的倍数统计一下,然后对于个数求和,看了题目下面的hint很易懂,然后看到a,b的范围有些大哈,2*10^9,不知道怎么处理,但是后来发现,序列中的数 最大为10^7,所以就算a,b,再大也无所谓的,大于序列中的最大数的部分的素数,序列中不会有任何数 是它倍数原创 2014-11-17 22:45:37 · 752 阅读 · 0 评论 -
CodeForces 398B 概率DP 记忆化搜索
题目:http://codeforces.com/contest/398/problem/B有点似曾相识的感觉,记忆中上次那个跟这个相似的 我是用了 暴力搜索过掉的,今天这个肯定不行了,dp方程想了很久也没有想出来,有点无从下手的感觉,最后还是尝试了一下记忆化搜索,以dp[0][0]为边界,dp[x][y]代表当前有x行y列没有彩色的 瓷砖,搜索起来思路还是很清晰的,可惜最后那个 算期原创 2014-11-05 19:59:52 · 869 阅读 · 0 评论 -
HDU 4711 Weather 概率DP
题意:有个人,他在某个区域待了n天,这个区域有m个地方,有w种天气情况,先给出这个人行程的每天的天气情况,然后给出 从第i个地方到第j个地方的概率,也可以自身到自身,然后给出 某个地方 是某种天气的概率,问你 这个人最优可能的行程路线也就是每天待在哪个地方,概率DP,求出哪些路线概率最大 再在其中取最小字典序的假设方程 dp[i][j] 代表 第i天待在j城市,状态转移dp[i][j]原创 2014-11-23 19:42:57 · 845 阅读 · 0 评论 -
CodeForces 471C MUH and House of Cards
看题目的Hint 图形就知道题意了,对着图形,稍微观察一下就会发现,每一层需要的卡牌数目为 2 * n + (n - 1)个,然后大致就有个思路,暴力枚举,但是仅仅这样没法子枚举,这个公式 只代表其中一层,不可能对每一层都枚举吧,可以化简一下 公式就是 3 * n - 1,这样就会发现 每次差1就是3的倍数了,然后每一层都差1,如果有i层的话,那么其实就是差了i,这样就很容易想到了,假设共有卡牌原创 2015-03-18 21:52:42 · 727 阅读 · 0 评论 -
POJ3252 Round Numbers 组合数学||数位DP
这题目做了两个小时,调试的头都晕了。。。题型是数位DP中很常见的,给一个区间[l,r]求区间[l,r]中的 符合题目要求的数的个数,本题求的 是 区间中 的数 它的二进制中0的个数大于等于1的个数的 这些数的个数,不好意思表达能力有点差。。。例如[1,4]答案是2, 因为 2的二进制是10,0的个数大于等于1的个数,4的二进制是100,0的个数大于1的个数,所以答案是两个原创 2015-04-01 22:36:58 · 999 阅读 · 0 评论 -
Codeforces Round #252 D 置换群的简单应用
题目:http://codeforces.com/contest/441/problem/D 对于这道题目,也只能用 长知识 来安慰自己了,数学知识面有点狭窄,一开始在往逆序数方面想,发现不行,后来又强行模拟去搞,发现有漏的情况,后来看了 巨巨博客发现了新知识推荐题解:http://www.cnblogs.com/xiaohongmao/p/3777794.html原创 2014-08-01 21:30:14 · 807 阅读 · 0 评论 -
Codeforces 448E Divisors
数学型的题目吧,一开始太过于想去构造,发现不行,现在一直忙着补题,终于补到了这道,特意去看了后面很大的案例,发现了后面全是1,想想应该是数学思维型题目,对于1肯定要特殊处理,而且 在K超过 100000的情况下肯定全为1,因为每一次 k从0开始 k若比原来大1的话,肯定答案中会比原来多一个1,所以10^5那肯定就有10^5个1 了,若k为0肯定就是n本身了,剩下的部分 对于一开始就把n给分解,当然原创 2014-07-22 22:32:42 · 1095 阅读 · 0 评论 -
反素数的应用 hdu4228 zoj2562
问题描述:对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0现在给一个N,求出不超过N的最大的反素数.比如:输入1000 输出 840思维过程:求[1..N]中约数在大的反素数-->求约数最多的数如果求约数的个数 756=2^2*3^3*7^1(2+1)*(3+1)*(1+转载 2013-08-23 20:04:36 · 769 阅读 · 0 评论 -
Uva12517
#include#include#include#include#include#include#include#include#include#define ll long longusing namespace std;ll dp[22],k[22],digit[202];ll detal(ll x){ ll i,ans=0,now; for(i=18;i原创 2013-09-08 20:54:01 · 574 阅读 · 0 评论 -
HDU4740
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711743题意:驴和老虎在方格中跑,跑的方式:径直跑,若遇到边界或之前走过的点则转向,驴向右转,虎向左转,若转向后还不能跑则一直呆着不动,问:他们是否会相遇,会输出相遇坐标,不会输出-1#include #include #include #i转载 2013-09-15 18:37:11 · 598 阅读 · 0 评论 -
zoj3716
#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define LL __int64using namespace std;double dis(double a,doubl原创 2013-09-20 09:23:56 · 826 阅读 · 0 评论 -
长沙站G题
#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long#define LL __int64using namespace std;vectorG[100002];const int原创 2013-09-23 09:46:28 · 895 阅读 · 0 评论 -
FZU2148 Moon Game
给你一些点,让你找出不同的凸四边形的个数,一开始可能想到的是凸包,后来发现n只有30,所以可以暴力枚举,那怎么样来判断是一个凸四边形呢,只要排除凹四边形就可以了, 对于一个凹四边形,总存在一个点d,跟另外三个点a,b,c, 满足这样一个关系 Sabd+Sacd+Sbcd = Sabc,自己画图可以发现的,暴力枚举四个点,四个点中若任意找出一个 满足这个式子,那么它就不是凸四边形了,就排除,若都不满原创 2014-02-23 19:35:49 · 915 阅读 · 0 评论 -
POJ1833 排列
好久不见的中文题目,排列,组合数学,对许多人都是很头疼的,这道题目算是应验了 计算机就是让人偷懒的 这句话,其实在STL里,我们用过了vector,queue,stack,map等等,都比较好用的,尽管有些耗时,这道题目可以用STL中的next_permutation(opt1,opt2)排列函数来轻松解决,pot1是指向需要数组头地址,opt2代表需要排列的长度,而且排列完全符合题目要求的:如原创 2014-02-24 16:22:34 · 928 阅读 · 0 评论 -
FZU2037 Maximum Value Problem 规律 + 递推
给你一个n,再给你一个 max=0,1到n这个序列进行全排列,一共有n!个排列,对于个每一个排列 max=0从第一个开始跟序列的值比较,比序列值小就更新,问max对于这些所有的全排列 一共更新了几次,并且输出更新的次数除以全排列数得到的值 保留六位小数,计算过程中要对1000000007进行取模找规律f[]表示更新MAX的次数,num[]表示全排列,有多少个排列,ans[]表示除以得到的值原创 2014-03-01 21:03:01 · 875 阅读 · 0 评论 -
HDU1296How many integers can you find 容斥原理+DFS ZOJ2836 Number Puzzle
容斥原理的题目,还是比较简单的,基本上看了没多久,觉得暴力不行,那么应该就是容斥原理了,DFS结合容斥原理 在数论学习中做过几道,基本套法 还是比较统一的,顶多也就是DFS中变量传递的 少与多而已 题意比较简单,n,m,然后给出m个数,求出 区间[0,n-1]内 能被这m个数中任意一个数 整除 的 个数,运用容斥原理 答案比较清晰,奇数相加偶数相减,能被k个数整除的 数就原创 2014-03-29 21:37:04 · 806 阅读 · 0 评论 -
HDU3892 Common Roots 多项式欧几里德求最大公共多项式
这就是数论坑的地方了把,有些题目真心偏到你无法想象,需要用到多项式欧几里德求多项式的最大公共多项式题意:给你n个多项式,问他们有没有共同的根先分析把,假设有多项式a,b,同时又有多项式k,r,令 a = k*b +r,应题目要求,令解为0,那么a = 0,同时b也要等于0,那么这时候要满足a=b=0 其实 r = 0,这时候就不需要去管k了,有没有发现跟那个扩展欧几里德有点相似的方程,这时原创 2014-05-01 21:44:10 · 1180 阅读 · 0 评论 -
UVA 10951 Polynomial GCD 多项式欧几里德求最大公共多项式
今天作比赛遇上了HDU3892,都分析出来怎么做了,可惜不会求多项式的最大公共多项式,当时写了半天,案例也没有跑出来,赛后搜了一下题解,发现有大神做出了,而且是有模版的,不过又搜了一下关于这方面的题目,很少,只发现了这一道,所以先做一下这一道吧题意,给你两个多项式,求他们的最大公共多项式,然后输出即可,无齿的套用了别人的模版,呵呵!#include#include#in原创 2014-05-01 21:36:22 · 1585 阅读 · 0 评论 -
ZOJ2855 Google Map 经纬度
题目 难理解,最后选用的方法是仿照了二分的思想方法来做的,感觉还是比较灵活的刚看到可能没什么思路,但是想到可以把图分为四个象限,所以可以用类似与二分的方法去做题意讲的是一个地图,输入三个值的最后一个值L,代表要把这个地图分成 4^L 份,每一次分 就是把整个地图的每一份小地图分成四份,左上的在其名字后面加上一个字母q,右上的r,左下的t,右下的s,给出两个值 longitude and l原创 2014-03-22 21:05:24 · 1046 阅读 · 0 评论 -
Ural 1903 Unidentified Ships 组合数 + 乘法逆元
一开始题意没读懂,英语是硬伤,其实是这道题目真的有点饶人,后来补题,看懂了意思,从n个数中挑出t个,然后第k个必须要在,挑出的t个数要排序成不下降的顺序,然后 原本那个第k个数在这个跳出的t个数当中要在第x的位置分析:直接找出比第k个数小的数的个数,还有比第k个数大的数的个数,当然啦还有可能存在与第k个数相等的数的个数,唉呀,一开始漏了相等的情况,没看题目案例,真是作死啊,后来全弄好了原创 2014-07-19 15:06:21 · 896 阅读 · 0 评论 -
HDU4565 So Easy! 矩阵快速幂外加数学
easy 个屁啊,一点都不easy,题目就是要求公式的值,但是要求公式在最后的取模前的值向上取整,再取模,无脑的先试了快速幂 double fmod来做,结果发现是有问题的,这题要做肯定得凑整数,凑整 题目给 a+√b 那么加上a-√b就可以了,可是这样加上后面怎么处理还得减去,想了半年也想不出来,原来用了负数的共轭思想,还有就是题目给的b的范围 是 ((a-1)*(a-1),a*a),所原创 2014-07-09 21:08:56 · 751 阅读 · 0 评论 -
POJ2635 The Embarrassed Cryptographer 简单数论
题目链接看到这题的示意图也是醉了~题意:给你一个k,他是两个素数之积,然后给了一个数字L,然后找到具体是哪两个素数相乘等于k,较小的那个素数是否小于L,若小于L就输出 "BAD"外加较小的那个素数,否则就输出“GOOD”,刚拿到这题目,有些钻牛角尖外加题意没看清楚,一开始纠结于 K很大,若想具体找出两个素数不可能,因为总有一个很大很大,求出其中一个素数 是否在10^6内是可以的,但是那时候原创 2015-04-14 20:37:45 · 632 阅读 · 0 评论