
*Math
WANSNIM
NULL.
展开
-
LightOJ 1370 Bi-shoe and Phi-shoe (欧拉函数+二分)
include <iostream>include <cstdio>include <cstring>include <math.h>include <algorithm>using namespace std;const int N = 1e6 + 5000;int phi[N];void init(){ memset(phi,0,sizeof(phi)); ph原创 2015-09-08 17:40:02 · 559 阅读 · 0 评论 -
3280 Cheapest Palindrome(尺取法)
http://poj.org/problem?id=3320 Jessica's Reading ProblemDescriptionJessica’s a very lovely girl wooed by lots of boys. Recently she has a problem. The final exam is coming, yet she has原创 2015-12-05 18:32:21 · 437 阅读 · 0 评论 -
LightOJ 1336 Sigma Function(求1~n的因数和为偶数的个数)
题意就是给一个数n,然后求1n能分解成所有正因数的和为偶数的个数。 考虑到求所有正因数的和利用到算术基本定理的公式: http://blog.youkuaiyun.com/codeblocksm/article/details/48318985稍加分析我们可以知道: 1.p=2的时候,无论ai等于多少,结果总为奇数 2.p≠2的时候,若ai为偶数,则结果为奇数 所以不妨先把所有结果是奇数的情况求出来再原创 2015-09-10 23:58:18 · 742 阅读 · 0 评论 -
HDU 5432 Pyramid Split(浮点数二分查找)
http://acm.hdu.edu.cn/showproblem.php?pid=5432题意: 小明有n个金字塔,已知它们的高和宽,小明打算重铸,想将它重铸成两个体积一样的物体。 他现在把所有金字塔正放(即底面贴地放)在水平地面上,用屠龙刀切割一个平面,该平面与水平面平行,称之为割平面。 我们的任务是找到一个这样的割平面,使得这个割平面上方的体积之和等于下方的体积之和,该割平面称之为平均割原创 2015-09-19 22:17:34 · 1431 阅读 · 0 评论 -
LightOJ 1341 Aladdin and the Flying Carpet(算术基本定理)
算术基本定理又叫唯一分解定理。 算术基本定理内容:任何一个大于1的自然数 ,都可以唯一分解成有限个质数的乘积 ,这里 均为质数,其中指数 ai是正整数。算术基本定理的几个应用: 下面的p1,p2…pn都是素数。 同时全体正因数的和也可以写作: 本题就是第一个应用。 有几个注意的地方:获得质数的个数的时候,可以先不筛选素数,但是本题时间卡的紧,必须要先筛素数。还有注意当b*b>原创 2015-09-09 17:20:13 · 1033 阅读 · 0 评论 -
一些数学小思维Tips长期更新积累
1.数根的求法 数根的概念:如果把一个数的各位数字相加得到一个和,再把这个和的各位数字相加又得一个和,再继续作数字和,直到最后的数字和是个位为止,那么这个数就是该数的数根。求法:int num[]={9,1,2,3,4,5,6,7,8};root_x = num[x%9];如果x特别大,比如x有100位,可以先用字符串模拟一次得到一个较小的数x’,然后就可以知道x的数根为 root_x=nu原创 2015-08-27 23:58:52 · 914 阅读 · 0 评论 -
二分二分(POJ 2785 + HDU 2289)
手写二分: 若x在数组a[N]中,查找x在数组中的位置:int find(int x){ int mid,l=0,r=n-1; while(l<=r) { mid=(l+r)/2; if(a[mid]==x) return mid; else if(a[mid]>x) r=mid-1; else l=原创 2015-07-16 11:28:17 · 677 阅读 · 0 评论 -
CodeForce 584D Dima and Lisa(哥德巴赫猜想)
http://codeforces.com/problemset/problem/584/D题意: 将奇数n拆成1个,2个或者3个素数的和。解题思路:如果n本身就是素数的话,就直接输出本身如果(n-2)是素数,直接输出 2和n-2分解成三个素数的时候比较复杂。首先我们知道哥德巴赫猜想—一个大于3的偶数可以拆成两个素数的和,由于题目中已经给了n是奇数,而且除了2以外所有的素数都是奇数,所以我们原创 2015-10-09 22:26:41 · 690 阅读 · 0 评论 -
快速幂模板 -->加法快速幂+乘法快速幂+矩阵快速幂
加法快速幂: int quick_pow(int a,in b){ int ans=0; while(b) { if(b&1) ans+=a;原创 2015-06-19 22:53:41 · 861 阅读 · 0 评论 -
CodeForces 592C (胡搞)
http://codeforces.com/problemset/problem/592/C题意是: 两个人A和B每个人每走一步的距离分别为w,b。现在给一个跑道,跑道后面是悬崖,人不能掉进悬崖。问最终A和B谁离起点越远谁获胜。 然后给一个长度L,问在长度L的范围里面,不能判断胜负的概率是多少。解题思路: 1.当距离小于min(w,b)时,两人都在原点,不能判断出胜负。 2.当距离为w,b的原创 2015-11-03 22:29:55 · 1126 阅读 · 0 评论 -
HDU 5685 Problem A (求逆元)
http://acm.hdu.edu.cn/showproblem.php?pid=5685(b/a) % mod = ( b*q ) % mod 。 其中 q 是 a 的逆元。逆元模板:int extendGcd(int a,int b,int &x,int &y){ if (b==0) { x=1; y=0; return a原创 2016-08-01 15:46:18 · 556 阅读 · 0 评论