摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1071 题意:给出抛物线的顶点和它与一直线的两交点,求他们围成的面积; 思路: 可以直接求出他们的方程式,再积分,这个方法就不说了; 偶然看见另一个解法,觉得蛮有意思的,就记一下好了。。 抛物线与直线为成 阅读全文
posted @ 2016-10-20 16:34 geloutingyu 阅读(3541) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018 题意:求n!的数位(即n!有多少位); 思路:对于一个数x,它的数位ans=log10(x); 证明:假设pow(10, y-1) <= x < pow(10, y) 1,显然有ans(x)=y; 阅读全文
posted @ 2016-10-19 17:36 geloutingyu 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/732/problem/D 题意: 在m天中要考k个课程, 数组a中有m个元素,表示第a[i]表示第i天可以进行哪门考试,若a[i]为0,则表示当天不能参加任何科目的考试,只能预习或者休息; 数组b中有k个元素,b[i]表示科目i 阅读全文
posted @ 2016-10-18 14:40 geloutingyu 阅读(151) 评论(0) 推荐(0) 编辑
摘要: euler(x)公式能计算小于等于x的并且和x互质的数的个数; 我们再看一下如何求小于等于n的和n互质的数的和, 我们用sum(n)表示; 若gcd(x, a)=1,则有gcd(x, x-a)=1; 证明:假设gcd(x, x-a)=k (k>1),那么有(x-a)%k=0 1式,x%k=0 2式; 阅读全文
posted @ 2016-10-16 16:09 geloutingyu 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 思想: 对于一个未排序数列a, 令key=a[left](可以是其他任意元素) 我们通过操作(1)将小于key的元素置于它左边,大于key的元素置于它的右边; 再递归对其右边和左边区间进行如上操作; 操作(1)的具体步奏如下: 对于当前数列a[left...right]: 1:将key从数列中挖出, 阅读全文
posted @ 2016-10-12 17:58 geloutingyu 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 归并平排序的思想:例如对a数组排序; 1:先二分递推至length[a]=1,此时a内元素已排序(只有1个元素嘛。。); 2:对于区间x~y,递归时合并两个已排序的数组到临时数组t并通过合并过程排好序; 3:此时临时数组t中元素即a数组中x~y区间元素已排序状态,将其复制到a数组x~y区间,则x~y 阅读全文
posted @ 2016-10-12 16:11 geloutingyu 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=744 思路:a^b可以得到a~b间任意两个数异或运算的长度的最大值,设为n,答案为:pow(2, n)-1; (1):如果a,b长度相同的话,假设a^b得到的最高为1的位置为q(前面都是1异或值 阅读全文
posted @ 2016-10-10 21:49 geloutingyu 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=451 就是求C(n, n-m)*s(m)的值啦,C(n, n-m)表示从n个人中任取n-m个人的组合数,s(m)表示m对人和纸条的完全错排种数; 组合数求法很简单就不细说了,推一下完全错排计 阅读全文
posted @ 2016-10-09 21:50 geloutingyu 阅读(1370) 评论(0) 推荐(0) 编辑
摘要: c/c++中好像没有直接计算任意底数对数的函数,函数log(a)只能计算自然对数log2(a);若要计算对数log(b)a,可以通过数学里面的换底公式完成,log(b)a=log(c)a/log(c)b,令c=2,得:log(b)a=log(a)/log(b); 1 #include 2 #define ll long long 3 using namespace std; 4 5 ... 阅读全文
posted @ 2016-10-07 16:16 geloutingyu 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=775 关于扩展欧几里得算法还是推一遍好啦; 有方程:a*x+b*y=d=gcd(a, b) 1式(只要a, b不全为0则此方程必有解,不过我不会证明,望大神路过时教一下); 又有gcd(a, 阅读全文
posted @ 2016-10-06 21:03 geloutingyu 阅读(368) 评论(0) 推荐(0) 编辑