随笔分类 -  数学

摘要:面试中遇到一个比较有趣的题目,希望各位路过的神犇在讨论里讨论一下: 指南针想必大家都熟悉,指南针的指示方向为[1,360],形状为圆形。360度到1度时角度差为1度,而不是359度。 现在有一个人拿着指南针走路,依次记录下n个地点的指示方向,假设为a1,a2,...,an。 求这n个地点记录下... 阅读全文
posted @ 2014-04-14 10:31 yejinru 阅读(281) 评论(0) 推荐(0) 编辑
摘要:BZOJ2876[Noi2012]骑行川藏在约束∑(K_i*S_i*(V_i-V_i')^2<=Eu下,求∑S_i/V_i的最大值拉格朗日乘数法。具体百度。。。BZOJ1053[HAOI2007]反素数ant求反素数分析:根据乘法原理,n的因子数为(p1+1)*(p2+1)*...所以可以使用递归的形式找到不大于n的反素数,另外想要使得数目最多,所以必须使得素数因子最小的数目最多(可增加一剪枝使得搜索更快)。sgu126Boxes有两个箱子,分别有a,b个球,现在从一个箱子往另一个箱子移动球,每次移动只能够是另一个箱子球的个数,问能不能够使得其中一个箱子空。分析:我们可以从(0, 阅读全文
posted @ 2013-08-13 10:29 yejinru 阅读(594) 评论(0) 推荐(0) 编辑
摘要:題目: 如果一個數的各位數字均為a或者b,則這數為good number。如果一個goodnumber的各數字和為good number的話,這個數為excellent。給出a b以及數的長度為len,問長度為len的數中有多少個excellent數分析: 比較明顯的組合數。 我們可以枚舉有i個a,然後剩餘len-i個b。 如果a*i+(len-i)*b為good,我們可以從len個位置中選出i個位置放a,剩餘的len-i個位置放b。所以當前的組合數為C(len,i)。 答案即為sigma(C(len,k)),a*k+(len-k)*b為goo... 阅读全文
posted @ 2013-04-26 06:12 yejinru 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一维的差分数列如下定义:假设原数组为a[1]...a[n],a[0] = 0差分数列数组为d[1]...d[n]则d[i] = a[i]-a[i-1] (d数组初始化)題目: 給出原始數列a[1]...a[n] 給出m個操作方式: l r val 表示把a[l],...,a[r]都增加val 現在需要執行以下op條操作: x y 表示執行第x條操作方式到第y條操作方式 詢問:最終的數列a分析: 一:線段樹 顯然可以用線段樹成段更新。 1.對於每個操作,我們可以用樹狀數組、線段樹、差分數列,統計一下每條操作方式的次... 阅读全文
posted @ 2013-04-17 17:33 yejinru 阅读(320) 评论(0) 推荐(0) 编辑
摘要:题目here: 给出n个数,现在有m个区间询问l[i],r[i],问如何重新排列这n个数,使得 询问的和值最大分析: 方法一:差分数列 一维的差分数列如下定义: 假设原数组为a[1]...a[n],a[0] = 0 差分数列数组为d[1]...d[n] 则d[i] = a[i]-a[i-1] (d数组初始化) 我们发现:a[i] = sigma(d[i]) 所以我们对于区间[l,r]执行加同一个数的时候,我们可以执行 d[l] += val , d[r+1] -= val; 最终,我们可以用差分数列的累加和计算a[i]的值。#i... 阅读全文
posted @ 2013-02-25 08:43 yejinru 阅读(397) 评论(0) 推荐(0) 编辑
摘要:先介绍一篇矩阵好的博文Matrix 67:http://www.matrix67.com/blog/archives/276一.高斯消元我觉得不错的模板// 高斯消元法解方程组(Gauss-Jordan elimination).(-2表示有浮点数解,但无整数解,//-1表示无解,0表示唯一解,大于0表示无穷解,并返回自由变元的个数)//有equ个方程,var个变元。增广矩阵行数为equ,分别为0到equ-1,列数为var+1,分别为0到var.int Gauss(int equ,int var){ int i,j,k; int max_r;// 当前这列绝对值最大的行. i... 阅读全文
posted @ 2013-02-02 21:21 yejinru 阅读(419) 评论(0) 推荐(0) 编辑
摘要:http://acm.hit.edu.cn/hoj/problem/view?id=2930Perfect Fill IISource:ACMGroupTime limit: 1 secMemory limit: 64 MSubmitted: 69,Accepted: 50Here comes the Perfect Fill Problem again!You have tow types of blocks, one is made up of two 1*1 blocks, another is made up of three 1*1 blocks. You can see the s 阅读全文
posted @ 2013-02-01 00:09 yejinru 阅读(356) 评论(0) 推荐(0) 编辑
摘要:HOJ 1016 Joseph's problem IMy Tags(Edit)Source:UnknownTime limit: 10 secMemory limit: 32 MSubmitted: 1484,Accepted: 439The Joseph's problem is notoriously known. For those who are not familiar with the problem, among n people numbered 1,2...n, standing in circle everymthis going to be execut 阅读全文
posted @ 2013-01-18 15:33 yejinru 阅读(423) 评论(0) 推荐(0) 编辑
摘要:http://acm.hit.edu.cn/hoj/problem/view?id=1991HOJ 1991 Happy 2005My Tags矩阵快速幂(Edit)Source:SCU Programming Contest 2005 PreliminaryTime limit: 1 secMemory limit: 32 MSubmitted: 344,Accepted: 223Consider a positive integer X, and let S be the sum of all positive integer divisors of 2005X. Your job is 阅读全文
posted @ 2013-01-18 11:15 yejinru 阅读(286) 评论(0) 推荐(0) 编辑
摘要:http://acm.hit.edu.cn/hoj/problem/view?id=2901HOJ 2901 CalculationMy Tags快速幂(Edit)Source:GTmacTime limit: 1 secMemory limit: 32 MSubmitted: 312,Accepted: 105Given two integers a and b, you are to calculate the value of the following expression: (1b+ 2b+ ... + ab) modulo a.Note that b is an odd numbe 阅读全文
posted @ 2013-01-18 08:43 yejinru 阅读(223) 评论(0) 推荐(0) 编辑
摘要:两题的链接先给上:http://acm.hit.edu.cn/hoj/problem/view?id=2576http://acm.hit.edu.cn/hoj/problem/view?id=2577下面两题都是很经典的容斥原理的题目,自己做的时候有点瞎yy,所以下面的表达不太严谨。。。HOJ 2576 Simple ComputingMy Tags容斥原理(Edit)Source:ACMGroupTime limit: 1 secMemory limit: 32 MSubmitted: 391,Accepted: 123Given n integers x1x2... xn, you sh 阅读全文
posted @ 2013-01-17 21:04 yejinru 阅读(632) 评论(0) 推荐(0) 编辑
摘要:http://acm.hit.edu.cn/hoj/problem/view?id=3138HOJ 3138 Discover's problemMy Tags数学(Edit)Source:HCPC FALL 2012Time limit: 2 secMemory limit: 64 MSubmitted: 38,Accepted: 13We define X property of two array A[n] and B[n] as:Write a program to calculate the X property of two array.InputFirst line gi 阅读全文
posted @ 2013-01-16 16:24 yejinru 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=2478/* * 题目: * 求0<a<b<=n中,所有的最简分数a/b的个数 * * 分析: * 先化成求sigma( phi(n) ),然后转化为快速求欧拉函数。 * * */#include <cstdio>#include <cstring>#include <cmath>#include <iostream>using namespace std;const int X = 1000005;typedef long long ll;ll ans[X];boo 阅读全文
posted @ 2013-01-15 19:54 yejinru 阅读(210) 评论(0) 推荐(0) 编辑
摘要:/* * 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1045 * 有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传 * 递一个糖果代价为1,求使所有人获得均等糖果的最小代价。 * * 分析: * 假设a1分给an的糖果数为k,则可以得到以下的信息: * a1 a2 a3 an-1 an * 当前数目:a1-k a2 a3 an-1 ... 阅读全文
posted @ 2012-12-29 10:28 yejinru 阅读(931) 评论(3) 推荐(0) 编辑
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1013/* * 分析: * 裸的高斯消元题 * 二维平面上的圆上的点与圆心的距离有(x-a)^2+(y-b)^2 = r^2 * 三维空间上的球上的点与球心的距离有(x-a)^2+(y-b)^2+(z-c)^2 = r^2 * 同理:在n维空间上的球上的点与球心的距离有sigma((xi-ai)^2) = r^2,圆心为(a1,a2,...,an) * * 另外,在二维平面上,可由三点(不共线)确定一个园,在三维上四点(不共线)确定一个球, * 同理,在n维平面上,可由n+1个点(不共... 阅读全文
posted @ 2012-12-20 08:34 yejinru 阅读(258) 评论(0) 推荐(0) 编辑
摘要:由于快要交概率论文了,先刷刷概率题,然后糊弄一篇上去就算了= =自己挂了一场概率比赛,链接为http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=17303#overview,密码为yejinru若以下有什么地方是错误的,欢迎指出^_^Problem AFootball#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int X = 130;do 阅读全文
posted @ 2012-11-18 10:05 yejinru 阅读(280) 评论(0) 推荐(0) 编辑
摘要:前面的是POJ的,后面的是HOJ1.burnside定理,polya计数法这个大家可以看brudildi的《组合数学》,那本书的这一章写的很详细也很容易理解。最好能完全看懂了,理解了再去做题,不要只记个公式。*简单题:(直接用套公式就可以了)pku2409 Let it Beadhttp://acm.pku.edu.cn/JudgeOnline/problem?id=2409pku2154 Colorhttp://acm.pku.edu.cn/JudgeOnline/problem?id=2154pku1286 Necklace of Beadshttp://acm.pku.edu.cn/Ju 阅读全文
posted @ 2012-09-17 19:21 yejinru 阅读(527) 评论(0) 推荐(0) 编辑
摘要:题目:若代码有错,请指出 求满足X^Z + Y^Z + XYZ = K K (0 < K < 2^31), (X < Y, Z > 1)分析:注意到z的值最大为30(x<y所以y>=2) 当k==2时,直接利用完全平方公式判断即可,可变成(x+y)^2 = k 当k>2时,直接枚举z,x,y可以水过(z>2时x的值最大为1290左右)67268502012-09-09 17:12:22Accepted4282281MS472K1151 BG++View Code 1 #include <iostream> 2 #include < 阅读全文
posted @ 2012-09-09 17:19 yejinru 阅读(1065) 评论(3) 推荐(1) 编辑
摘要:/*题目: 给出n,问n = b^p中p符合该等式的最大值分析: 先求出所有n的质因子,然后对这m个质因子分类统计,比如 n = 36时,可以分成 2个2,2个3,然后求出所有这些基数的 最大公因数gcd。另外由于有负数的存在,所以求到的gcd若 为偶数时,需要不断除二直到为奇数为止*/#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int X = 150000;int di[50],top;int pr 阅读全文
posted @ 2012-06-15 21:28 yejinru 阅读(310) 评论(0) 推荐(0) 编辑
摘要://这题用高精度乘法算#include <iostream>#include <cstring>using namespace std;#define X 140void multiply(int num[],int a[],int m) //高精度乘法运算{ int s[X]; memset(s,0,sizeof(s)); int i,j; for(j=0;j<m;j++) for(i=0;i<126;i++) s[i+j] += num[i]*a[j]; //核心算法,把乘完的结果保存到数组s[]中 int carry = 0; //表进位 for(i= 阅读全文
posted @ 2012-03-20 14:42 yejinru 阅读(239) 评论(0) 推荐(0) 编辑