数学
文章平均质量分 56
神奇豆子
这个作者很懒,什么都没留下…
展开
-
2014多校联赛第八场 1008 Number Transformation
题目问是x经过k次变换得到的值是多少原创 2014-08-14 17:12:30 · 506 阅读 · 0 评论 -
lightoj 1078 - Integer Divisibility 暴力数学
给定一个n和x,问最少多少个x组成的数字可以整除n...直接暴力,依次枚举x的数量...因为没想到其他做法只能尝试暴力了..没想到过了。大概是如果有解的话余数最多出现n个...所以n次内必然有解?n*t貌似不超时#includeusing namespace std;#define ll long long#define ull unsigned long long#def原创 2016-04-13 15:32:37 · 295 阅读 · 0 评论 -
lightoj 1116 - Ekka Dokka 简单数学
给定一个w,问能否分解为一个奇数乘一个偶数...如果不能就是impossible,否则输出偶数最小的答案。偶数最小的情况就是把所有的2提取出来的...否则另外一个数字一定是偶数...#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod 1000007#de原创 2016-04-13 15:41:12 · 397 阅读 · 0 评论 -
lightoj 1148 - Mad Counting 简单数学
统计人数,询问了n个人每个人都回答了除了自己外支持同一球队的其他人数是多少,问最小有多少人。统计每个数字出现多少次,有a[i]+1个人回答的一样可以刚好组成一个团体...如果有剩余的话也是一个新的团体。#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod 1原创 2016-04-13 15:53:40 · 373 阅读 · 0 评论 -
lightoj 1179 - Josephus Problem 约瑟夫环
约瑟夫环问题,采取递推式求解....#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod 1000007#define inf 0x3f3f3f3f#define N 100100using namespace std;int a[50];int ma原创 2016-04-13 15:59:24 · 428 阅读 · 0 评论 -
lightoj 1214 - Large Division 大数对小数取余
给定一个200位的大数和一个int范围整数,问大数是否是小数的倍数。同之前的某到简单数学题#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod 1000007#define inf 0x3f3f3f3f#define N 100100using nam原创 2016-04-13 16:12:42 · 402 阅读 · 0 评论 -
lightoj 1294 - Positive Negative Sign 简单数学
给定n,m代表n个数字,每m个一次变换符号..先减再加,n是2m的倍数。其实对于1-m来言m+1 - 2m可以一一对应,差值都为m...那么n里面共有n/2对#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod 1000007#define inf 0x3原创 2016-04-13 16:23:30 · 287 阅读 · 0 评论 -
lightoj 1297 - Largest Box 三分查找
给定一个盒子,选取一个x值,使得盒子体积最大。体积公式为(a-2*x)(b-2*x)*x,那么这是一个一元三次方程。脑子里突然跳出来一个三分法..用了三分真尼玛过了我现在还在惊吓之中,不理解...#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod原创 2016-04-13 16:52:08 · 270 阅读 · 0 评论 -
lightoj 1369 - Answering Queries 数学
对于所有的i>j都有sum+=a[i]-a[j],有n个数字q次修改或查询,1代表查询当前sum值,0 u v代表a[u]=v;之前做过无修改的,有修改的只是多了一点点操作...对于每个数字来言,他被加上了n-1-2*i次,i从0开始..#includeusing namespace std;#define ll long long#define ull unsigned lon原创 2016-04-13 19:27:46 · 321 阅读 · 0 评论 -
lightoj 1275 - Internet Service Providers 一元二次方程
求T(C-N*T)答案最小的T的取值。方程展开是-NT*T+T*C...那么T的取值为-(-N*2)/C,负号化简...最后要输出整数,而这个可能会是小数...要判断一下T+1的情况...#includeusing namespace std;#define ll long long#define ull unsigned long long#define mod 100000原创 2016-04-13 19:50:01 · 360 阅读 · 0 评论 -
lightoj 1008 - Fibsieve`s Fantabulous Birthday 乱搞
给定一个数字,输出其坐标,坐标从下往上从左往右递增...方法就如矩阵里面的。对于一个数字,如果是完全平方数就直接特判输出,非完全平方数的话可以判断出在第几层(半包围结构).第n层的元素有2n-1个。判断完层数可以得知起点终点的方式就知道如何输出。然后如果大于层数元素的一半,那么方式再次变化...其实方式就是层数到底是x坐标还是y坐标...#includeusing names原创 2016-04-13 14:40:56 · 431 阅读 · 0 评论 -
lightoj 1060 - nth Permutation 组合数学
给定一个字符串和k,求字符串第k大字典序的排列...康拓逆展开...可以求没有重复元素的第k个排列,有重复的话,方法是一样的,只是求解方案数变了。由单纯的阶乘变为len!/cnt[i]!(0而且某一位要放置的字母出现多次,那么只需要计算一次就好,因为所有的排列都是一模一样的。#includeusing namespace std;#define inf 0x7fffffff#原创 2016-03-25 16:52:59 · 418 阅读 · 0 评论 -
lightoj 1170 - Counting Perfect BST 数学+DP
给定一个区间范围a,b,a,b内所以可以表示为x^y的数字可以组成的二叉排序树有多少种...只知道n个节点能够成的二叉排序树种类是卡特兰数...可以DP求...(leetcode某题)那么现在 任务就是求出所有的x^y的数字...肯定要筛法..一直在考虑81是9^2也是3^4那么会重复算啊..我那么傻逼不会容斥。然后网上看到别人引入了一个基的概念...定义一个数是基,当原创 2016-03-31 11:43:10 · 312 阅读 · 0 评论 -
整数划分
整数划分 --- 一个老生长谈的问题: 1) 练练组合数学能力. 2) 练练递归思想 3) 练练DP 总之是一道经典的不能再经典的题目: 这道好题求: 1. 将n划分成若干正整数之和的划分数。 2. 将n划分成k个正整数之和的划分数。 3. 将n划分成最大数不超过k的划分数。 4. 将n划分成若干奇正整数之和的划分数。 5. 将n划分成若转载 2014-11-10 17:18:38 · 523 阅读 · 0 评论 -
hdu 3766 Knight's Trip
最近练习BFS,看某位大神博客的小结跟着做来着,然后碰到原创 2014-08-12 15:48:41 · 1324 阅读 · 2 评论 -
light oj 1236 Pairs Forming LCM(整数分解)
大概题意是找出对于整数对(i,j),他们的lcm为n,这样的整数对有多少。看了大牛博客才懂,假设lcm(X,Y)=M,分别分解X,Y,M X=x1^a1*x2^a2...Y=x1^b1*x2^b2..M=x1^c1*x2^c2.. 因为是公倍数 所以质因数肯定要相同 那么max(a1,b1)=c1...max(a2,b2)=c2。当b1=c1的时候a1的取法原创 2015-03-18 20:33:06 · 392 阅读 · 0 评论 -
Uva 11426 GCD - Extreme (II)(基本数论)
筛选法求欧拉函数值,之后筛选法求出g[i]的值,然后遍历求解....关于g这个值,可以断定g[i]=phi[i]+gcd(i,j),1设函数g(n) = gcd(i,n) (1<=i<=n),对于任意给定的i 。 g(1) = 1 ,g(n)=g(m1)*g(m2) (n=m1*m2 且 (m1, m2)= 1),由积性函数定义,g是积性函数。由具体数学上的结论,积性函数的和也是积性的原创 2015-03-26 20:15:09 · 444 阅读 · 0 评论 -
扩展gcd模板,a^x=b。
前些天学习了扩展欧几里得,好不容易弄懂了一些,做了两个模板题目。void exgcd(LL a,LL b,LL &x,LL &y){ if(b==0) { x=1; y=0; return ; } exgcd(b,a%b,x,y); LL t=x; x=y; y=t-(a/b)*x;}原创 2015-03-24 20:17:58 · 537 阅读 · 0 评论 -
Light oj 1245 Harmonic Number (II)(基础数论)
题意在题目给出的代码中就可以看得很明白了...最初的思路就是枚举出来所有n/i值不同的所有i,然后排序遍历一遍,就可以得出正确结果,附上部分代码: long long ans=0; int k=3; num[0]=0,num[1]=1,num[2]=n; for(int i=2; i<=m; i++)//m是sqrt(n) {原创 2015-03-17 11:33:55 · 524 阅读 · 0 评论 -
BNU 13288 Bi-shoe and Phi-shoe(欧拉函数)
大概题意是定义Φ(n)是小于n并且与n互质的数字个数,也就是欧拉函数...然后给定n个Φ (x),找出来n个x使得n个x的和最小...因为是刚接触数论...刚开始想着会不会有非素数被选中呢...然后如果带有非素数被选中的话复杂度很高...后来考虑是不是对于某个x,只要找到比x大的最小素数就是这个x对应的答案呢...数学渣只能举例子了...比如Φ (7)=6,Φ (11)=10,那么6到10之间原创 2015-03-11 16:55:07 · 439 阅读 · 0 评论 -
hdu 2204 Eddy's爱好(容斥原理)
弱的第一发容斥...光看别人题解理解别人思路花了四十分钟- -果然组合数学这块还是太弱了- -参考了cxlove大神的博客。附上链接:点击打开链接#include#include#include#include#include#includeusing namespace std;#define ll long longint ss[30]={2,3,5,7,11,13,1原创 2015-10-10 21:11:15 · 610 阅读 · 0 评论 -
lightoj 1095 - Arrange the Numbers 组合数学
给定n,m,k,n个数字中前m个数字有k个数字位置定下来,问有多少种排列方式..这种组合数学是我最不擅长的,虽然挂在DP专题里但是想不来怎么DP。感觉就是先有一个c(m,k)..然后就是队友辅助推导了公式..#includeusing namespace std;#define ll long long#define mod 1000000007ll yh[1200][1200原创 2016-03-30 09:53:21 · 468 阅读 · 0 评论 -
lightoj 1007 - Mathematically Hard 欧拉函数
求a,b之间的欧拉函数的平方和。直接筛选法求出欧拉函数,然后来个前缀和。注意会爆ll,开成ull#includeusing namespace std;#define N 5010000#define ll long long#define ull unsigned long longint phi[N+20];ll ans[N+20];void euler(){原创 2016-05-10 17:33:28 · 357 阅读 · 0 评论