3037专题

HDU 3037 今年暑假不AC

题目: http://acm.hdu.edu.cn/showproblem.php?pid=2037 题解: 对结束时间排序,然后进行一次遍历,寻找开始时间不小于上一个结束时间的节目。 代码: #include<stdio.h>#include<iostream>using namespace std;struct program{int start,end;}p[101

HDU 3037 Saving Beans 大组合数 lucas定理

直接lucas降到10w以内搞组合数 #include <cstdio>#include <cstring>typedef __int64 LL;LL f[110010];LL pow(LL a, LL b, LL c){LL ans = 1;while(b){if(b&1)ans = (ans*a) % c;b >>= 1;a = (a*a) % c;}return ans;}

HDU1006、3037、2084、1176题解

最近就只有早起做题,做完就上课,周六日可以做些恶心点点的,平时要上课就只有做做DP,数学题什么的了。 HDU1006,十分恶心的一题,实际上我还不是很懂,看着kuangbin大神的代码基本对着拍,没有什么改进。 题目的意思就是时钟里有三条针,时分秒针,两两超过D度就开心,问一天有百分只几是开心的。 思路就是:模拟,区间交,关键,精度问题,这个针算是连续的~不是60秒动一下分针! /*

hdu 3037 Skiing

组合数学-大组合数取模(Lucas定理) 题意: 将不超过m颗的相同的豆子放在n棵不同的树上,每棵树可以为空,求方案数mod p (1 <= n, m <= 1000000000, 1 < p < 100000,p是质数) 分析: 可以理解为有m颗豆子,在n棵树上放k颗,然后再加一棵树,放m-k颗,于是变成了m颗相同的豆子放在n+1棵不同树上的方案数。 也就是求

Lucas模板(hdu-3037)

Lucas定理解决的问题是组合数取模。数学上来说,就是求:C(n,m)%p 这里n,m可能很大,比如达到10^15,而p在10^9以内。显然运用常规的阶乘方法无法直接求解,所以引入Lucas定理。如果素数P可以先确定,则可以O(P)预处理,每次计算时间复杂度为 O(logPlogN)。不预处理的时间复杂度,O(PlogN)。 模板代码:(以hdu-3037为例) #pragma commen

poj 3037 Skiing

//每个点的速度固定,与路径无关,SPFA #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<cmath> using namespace std; const double inf=1e200; const int maxn=10005; double p2[105]; int h[10

zoj - 3037 - Ladies' Choice(稳定婚姻)

题意:N个女生,N个男生,女生对每个男生的好感程度不同,男生对每个女生的好感程度也不同,现在要男女生搭配跳舞,求配对方法,使得每个人都有舞伴,且不存在男A与女B是舞伴,男C与女D是舞伴,但(比起女B)男A更喜欢女D且(比起男C)女D更喜欢男A。配对完后,女生较男生更(或者同等)“幸福”(1 <= N <= 1000)。 题目链接:http://acm.zju.edu.cn/onlinejudge