数论
文章平均质量分 58
反向爆零直至AK
从零开始的编程生活,枯燥却紧张
展开
-
Problem H: tmk买礼物
题目链接:点击打开链接#include#include#includeusing namespace std;long long a[100009];int main(){ int n,t; scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;i<n;i++原创 2017-03-27 18:40:09 · 441 阅读 · 0 评论 -
Super Star(模拟退火算法)
题目链接:Super Star这个我真不会,只能给出代码了。//就是下面的我看不懂了,不清楚为什么要这样做,有看懂请留言告知 p.x+=(pot[id].x-p.x)/r_maxn*t; p.y+=(pot[id].y-p.y)/r_maxn*t; p.z+=(pot[id].z-p.z)/r_maxn*t;代码:#include#include原创 2018-02-01 09:01:47 · 435 阅读 · 1 评论 -
Holding Bin-Laden Captive!(母函数或多重背包)
题目链接:Holding Bin-Laden Captive!题目大意:给你一角,两角,五角硬币的个数num_1,num_2,num_5. 问:最小的不能组成的钱数。思路:母函数这种题基本上,都可以用背包的思想来写(可能我遇到的题比较简单吧)。母函数最主要的就是方程了:f(x)=(1+x^(1*1)+….+x^(1*num_1))(1+x^(2*1)+….+x^(2*num_2))(原创 2018-02-03 13:13:00 · 263 阅读 · 0 评论 -
Ignatius and the Princess III(母函数)
题目链接:Ignatius and the Princess III题目大意: 将正整数n,拆分成几个整数,有多少种。思路:母函数,f(x)=(1+x^1+x^2+x^3+…)(1+x^2+x^4+x^6+…)…(1+x^n),每一种情况相乘,从1到n。代码:#include#includeconst int maxn=1e4+9;int a[maxn],b[maxn原创 2018-02-03 14:37:31 · 236 阅读 · 0 评论 -
Square Coins
题目链接:Square Coins题目大意:给你一个数,问有多少种拆分方式,注意每一个数必须是平方数(如:1,4,9等),例如:1+4,和4+1是一种。思路:母函数,f(x)=(1+x^1+x^2…)(1+x^4+x^8+…)(1+x^9+x^18+…)…代码:#include#include#includeconst int maxn=1e4+9;int a[maxn]原创 2018-02-03 14:48:01 · 178 阅读 · 0 评论 -
The Balance(母函数或01背包)
题目链接:The Balance题目大意:给你n个砝码,问在砝码和的范围内,有多少个数值是无法称量出来的。 注意:砝码可以放在称量物一边,例如:4和5,能称量出1。思路: 首先我会想到01背包,其次是母函数。母函数思路: 这里我们要在创造一些砝码,就是他们的负砝码。 给你 m1,m2,m3,m4….mn,创造出-m1,-m2,-m3,-m4….-,mn. 这样我们就可以写母函原创 2018-02-03 15:09:42 · 219 阅读 · 0 评论 -
排列组合(指数型母函数)
题目链接:排列组合题目大意:中文题思路:指数型母函数模板。有关指数型母函数的详解: 先看:百度百科的讲解,再看博客:指数型母函数。代码:#include#includetypedef long long ll;const int maxn=20;ll a[maxn],b[maxn],n_jie[maxn];int main(){ int n,m;原创 2018-02-03 15:16:32 · 475 阅读 · 0 评论 -
欧拉函数
引入百度百科: 在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。此函数以其首名研究者欧拉命名(Euler’so totient function),它又称为Euler’s totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。通式:原创 2018-01-30 08:41:47 · 425 阅读 · 0 评论 -
数学有关的知识点
【球冠的面积】链接:传送门 假定球冠最大开口部分圆的半径为 r ,对应球半径 R 有关系:r = Rc osθ,则有球冠积分表达: 球冠面积微分元 dS = 2πr*Rdθ = 2πR^2*cosθ dθ 积分下限为θ,上限π/2 所以:S = 2πR*R(1 - sinθ) 其中:R(1 - sinθ)即为球冠的自身高度H 所以:S = 2πRH S=∫dS =∫2πr*...原创 2018-04-16 12:08:28 · 4376 阅读 · 0 评论 -
求一个数的约数有多少个
由题得出的小结论,题目:点击打开链接如果一个数n有质因子a,b,c...n=a^a1*b^b1.....则约数个数有(a1+1)*(b1+1).....#include#includeint zy[1000];int a[1000];int k;void zhi(int n)//存储n的质因数{ int i; fo原创 2017-04-01 17:18:28 · 7504 阅读 · 0 评论 -
hdu 6055 Regular polygon
Regular polygonTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1127 Accepted Submission(s): 420Problem DescriptionOn a two-dimensional plan原创 2017-07-28 11:28:56 · 223 阅读 · 0 评论 -
树状数组
看完视频讲解后还是不太明白,后来看了一个博客,终于是懂了,其实树状数组就是巧妙的运用到了二分,不得不佩服,发明的人真是脑洞大开;这是我看的博客实在是好:http://blog.csdn.net/int64ago/article/details/7429868对了(差点忘了),添加几道题目:1.hdu 1166 http://acm.hdu.edu.cn/showproblem.php原创 2017-04-26 19:31:57 · 238 阅读 · 0 评论 -
C. Co-prime(容斥原理)
题目链接:点击打开链接题目大意:有a,b,c,在【a,b】中,有多少个与c互质的数;#include#includelong long zy[1000];long long g[1000];int k;void zhi(long long n)//存储n的质因数{ long long i; for(i=2; i*i<=n; i++) {原创 2017-03-27 20:41:40 · 391 阅读 · 0 评论 -
Tell me the area
题目链接:点击打开链接计算两圆的相交面积;有三种 第一种是相离,面积为零 第二种是包含,小圆在大圆里面,面积为小圆的面积; 第三种是相交,b对应的扇形加上a对应的扇形再减去a所在的三角形和b所在的三角形,就是阴影部分的面积;如图 代码如下:#include#include#define原创 2017-04-06 22:00:10 · 257 阅读 · 0 评论 -
不可摸数
题目链接:点击打开链接大意:定义一个s[n],所有n的因数(除了n外)的和; 问:给一个数x,是否存在一个s[n]等于x;刚开始打个表,求出1000以内所有的s[n]是否有一个x于它对应,与问题的意思一样,后来发现是可以的,但用的方法不对;看代码:#include#include#include#includeint biao[501000];int原创 2017-04-07 17:35:25 · 411 阅读 · 0 评论 -
求任意多边形的重心
原本是一道题,从中分离出来的:点击打开链接计算多边形重心方法:(1)划分多边形为三角形:以多边形的一个顶点V为源点(V可取输入的第一个顶点),作连结V与所有非相邻顶点的线段,即将原N边形或分为(N-2)个三角形;(2)求每个三角形的重心和面积:设某个三角形的重心为G(cx,cy),顶点坐标分别为A1(x1,y1),A2(x2,y2),A3(x3,y3),则有cx = (x1 +原创 2017-04-01 10:14:54 · 8705 阅读 · 0 评论 -
求一个数的质因数
int n;int zy[1000];void zhi(long long n)//存储n的质因数 { long long i; for(i=2; i*i<=n; i++) { if(n%i==0) zy[k++]=i; while(n%i==0) n/=i; }原创 2017-04-01 17:09:41 · 671 阅读 · 0 评论 -
find a way to escape(物理真白学了)
题目链接:点击打开链接题意就不说了(都看得懂)在湖中我(R1)都能找到一个与岸上的人(R2)角速度相同的圆;由v=w*r;可知r1=v1*r/v2;在r1内R1的角速度大于R2的角速度,所以R1一定能走到如下图形式:所以只要(r-R)/v1省去了R1从原点到图中的位置;#include#define PI 3.141592int main(){原创 2017-04-02 15:48:02 · 387 阅读 · 0 评论 -
Turn the corner(三分)
题目链接:点击打开链接题目大意:求能否拐弯;思路:可以当一条边的宽度已知,求另一条路的最短宽度;(在其他的人的博客中找的图,画着太麻烦了)这样可以求出,任意角度下,所需要的y最小值;让h与y做对比,找h的最小值时,要用到三分来查找;代码:#include#include#include#define pi asin(1.0)double原创 2017-04-12 19:45:31 · 323 阅读 · 0 评论 -
中国剩余定理(韩信点兵)
题目链接:http://115.159.40.116/problem_show.php?pid=4646;以韩信点兵为例,写出中国剩余定理的过程;#includeint main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c);//a,b,c为余数; int a1=5*7,b1=3*7,c1=3*5; int sum=3*5原创 2017-05-10 20:41:14 · 715 阅读 · 0 评论 -
Scrambled Polygon(凸包+极角排序)
题目链接:Scrambled Polygon先给出知识点的讲解链接:传送门极角就是高中学的,极坐标系中的极角。 sort对结构体排序,不都有一个cmp的函数吗?就是这个函数。 我们都会按照一个参数来改,这回我们就按照极角来排序。bool cmp(node a,node b){ int f=mul(a,b,edge[0]);//以edge[0]点为三角形的角点,求他们的...原创 2018-04-11 20:06:36 · 485 阅读 · 1 评论