自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

theArcticOcean

博观而约取,厚积而薄发

  • 博客(54)
  • 收藏
  • 关注

原创 三维空间——点线面关系

最基础最重要的概念——叉积,说到叉积就要聊聊行列式。行列式的代数意义与Cramer法则联系密切,先来个简单的例子,消除x2得到这样的结果: .    行列式 正是那个分母,其计算和叉积一样。行列式的几何意义更加丰富,面积,体积……如上面的那个行列式就是向量为 的叉积。也就是他们构成的平面的有向面积。推广到三阶就是在x,y,z轴向量方向上的有向体积。故在三维空间中,向

2016-01-31 22:35:12 5159

原创 Pollard Rho 大数分解

核心思想:同时产生多个随机数让差值=goal的概率提高例子: 在1--1000中随机查找一个数字等于345, p=1/1000查找两个数字的差是345的概率则是 :于是通过这种方法也能查找N的因子,通过随机函数和随机数种子来产生一系列的随机数。随机函数为 的形式最开始的随机数通常用2,即 ;比如查找8051的因子: (97是8051的因子)然而出现了

2016-01-31 10:26:17 1046

原创 置换与Polya 计数原理-应用部分

下面的代码只是先写出来,还没有用过。// polya定理 求解循环节数const int N=1e3+10;int per[N];bool vis[N];int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}int polya(int n){ int pos,sum=0; memset(vis,0,sizeof(vis)

2016-01-30 15:50:25 875

原创 置换与Polya 计数原理-理论部分

背景:一个正方形用红色和蓝色涂色给顶点涂色,方案有多少种呢?如果不考虑对称,答案就该是2^4=16,考虑对称,结果就该是:一共六种。Polya定理就是研究这样的分布问题。定义一一映射关系 假设有:  那么推广映射关系:定义恒等排列:我们有: 关于f的逆排列:设第一行和第二行互换:然后第一行以自然数的顺序排列:有:

2016-01-29 20:32:47 1903

原创 矩形切割-面积求并

离散化:将无限空间的有限个体映射到有限的空间上,做到逻辑上的有限和有序,避免重复。学习矩形切割就不得不认识线段切割。进而和离散化扯上了关系。关于线段切割:设线段ab和cd有交集:k1k2当a当b>k2,ab分解(切割)成k2b相关题目:VIJOS 1165 火烧赤壁https://vijos.o

2016-01-28 22:44:17 1204

原创 PHP学习之MySql函数·微型博客

PHP与MySql是通过MySql组件通信的。到PHP.ini文件中开启:;extension = php_mysql.dll  (去除前面分号即可)mysql_query(SQL语句或命令) 括号内的SQL语句最好用括号引起来PHP_MySql常用函数:mysql_connect(数据库地址,用户名,密码)mysql_select_db(数据库名)my

2016-01-27 20:47:29 1378

原创 回溯算法之骑士旅行问题

回溯法不同于纯暴力的瞎走,它通过不断的试探,层次变化,攻击问题,实现”保留现有信息“高效作战。骑士旅行问题:在N*N的国际象棋棋盘中有一个骑士在一角,问能否通过类似于中国象棋中马的走法走完所有的格子。所有的格子只能走一次。最开始一看这个问题觉得,啊,这不就是个深度优先搜索吗,随便写写。嗯,我的噩梦就这样开始了。处理好越界,访问格子,回溯等问题后,程序就是死循环!

2016-01-26 23:29:19 3208

原创 hdu 2159 Fate (二维完全背包)

http://acm.hdu.edu.cn/showproblem.php?pid=2159题意:最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0

2016-01-26 18:35:30 700

原创 POJ 2079 Triangle(凸包,最大三角形)

http://poj.org/problem?id=2079大意:在一堆点中寻找三个点,能围成面积最大的三角形。分析:可以想象最大的三角形一定是凸包上的点围成的。(反证法,想想就知道)接下来是求解最大的面积。简单的做法是直接来个n^3枚举,这应该会超时。再一次利用凸多边形的凸性,旋转卡壳。寻找最大的三角形,先是两个点不动,接着点3个点不断在凸包上跑动,到最大三角形的位置时,更新最大

2016-01-26 16:40:45 894

原创 Miller_Rabin · 大数

http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1186给出一个很大的数字N,2分析:数字很大,使用java的BigInteger解决。在这个过程中犯了许多低级错误。哎,我的java基础啊。相关知识点记录:==比较的是对象的地址,也就是是否是同一个对象;equal比较的是对象的值。Mat

2016-01-26 10:17:21 694

原创 Miller-Rabin 素数测试

相关定理——费马小定理:假设P是素数,且(a,p)=1,那么由此我们知道这样一个事实: p是素数,(a,p)=1 -> ; -> p不是素数定义:a是正整数,p是合数,且, 那么称p是以a为基的伪素数。Miller-Rabin算法原理: 取多个a(底)进行试验,次数越多,p是素数的概率越大。相关例题:POJ 3641 Pseudoprime numbersht

2016-01-25 18:42:56 632

原创 随机数

本文所涉及的内容主要和C函数rand()相关。生成随机数通常用rand()函数,自己用的不多——但是只要需要产生随机数马上想到的就是它。#include #include //随机函数文件#include using namespace std;int main(){ int i; srand(time(NULL));//设置随机数种子——当前系统的毫秒值

2016-01-25 14:13:42 558

原创 基本数据的范围

翻到了自己曾经做的笔记,觉得基础但是重要,记录下来:short int 的取值范围是-32768~32767.unsigned int:  0~4294967295   int: 2147483648~2147483647   --> 10位数(简单认为2后面9个0)  足以表示2^31-1unsigned long 0~4294967295   --> 2^32-1lon

2016-01-25 14:02:47 598

原创 POJ 1203 I NEED A OFFER!(背包、概率)

http://acm.hdu.edu.cn/showproblem.php?pid=1203大意:Speakless去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用。Speakless攒了n万美元。他将在m个学校中选择若干的。每个学校都有不同的申请费用a(万美元),并且Speakless估计了他得到这个学校offer的可能性b。不同学校之间是否得到offer不会互相影响。计算一下,

2016-01-23 23:06:52 746

原创 POJ 3608 Bridge Across Islands(旋转卡壳求凸多边形最短距离)

http://poj.org/problem?id=3608大意:求解两个凸多边形的最短距离。分析:依然是旋转卡壳来解决。用一对平行支撑线围绕两个凸多边形来寻找最短的距离。计算P多边形y最小的端点和y最大的端点,即ymin,ymax通过ymin,ymax构造两条支撑射线LP和LQ,方向相反。两个ymin,ymax的端点的距离作为所求距离的初始值,然后旋转两条支撑线。

2016-01-23 21:49:09 1386 2

原创 POJ 3348 Cows (凸包+多边形面积)

http://poj.org/problem?id=3348大意:用已有的树围成最大的牧场来养牛,每头牛生活至少需要50平方米。求出能养多少头?听说此题不难,然而我因为打错了一个变量看了一晚上(外加一早上T_T)。大致思路是:用凸包确定能构造的最大多边形,然后求解凸包多边形的面积。耻辱句:最后求面积的:for(int i=2;itop;i++){不是:for(int

2016-01-23 09:45:36 663

原创 POJ 2187 Beauty Contest(凸包优化 || 凸包+旋转卡壳)

http://poj.org/problem?id=2187大意:求解点和点之间的最大距离的平方。记得曾经有一道CF的题自己写了一个3重循环也过了,当时自己怀疑计算机一秒是运算10^9吗,还是数据太弱。。。写了一个1e9的程序,果断超时。看来1e8才是保险值#include #include using namespace std;const int N=5e4+10;st

2016-01-22 21:38:38 954

原创 凸包——Graham-Scan算法

Graham-Scan算法是一种灵活的凸包算法,时间复杂度是O(nlogn)算法细节:1. 选出最左下角的点(排序:x最小,其次是y最小)2. 其余点按极角排序,在极角相等的情况下距离极点(p[0])最近的优先3. 用一个栈(数组)存储凸包上的点,先把p[0],p[1]压入栈。4. 扫描每一个点,用叉积判断新点和栈顶头两个点形成的拐向。顺时针就弹出栈顶元素,继续判断。否则压入新

2016-01-22 19:58:01 5353

原创 POJ 2661 Factstone Benchmark (log2的故事)

新的linux系统下写的第一个C++程序。(哎compile error了两次,log2(x)化成logx/log2,logx是以自然对数为底的)http://poj.org/problem?id=2661转化题意:求解最大的n, 满足 n!" alt="">转化: log_2(n!) = log_2(1)+log_2(2)+log_2(3)+\cdots+log_2(n)" al

2016-01-22 14:51:39 643

原创 linux安装gunplot和简单使用

环境:ubuntu 15.04edemon@edemon-virtual-machine:~$ sudo apt-get install gnuplot gnuplot-x11[sudo] password for edemon: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包:

2016-01-22 09:28:30 3084

原创 为ubuntu 安装vmware tool

进入虚拟系统,在菜单部分找到重新安装vmwaretool自动找到vmware的位置现将VMwareTools***.tar.gz放到桌面并提取到此处edemon@edemon-virtual-machine:~$ cd /home/edemon/桌面edemon@edemon-virtual-machine:~/桌面$ cd vmware-tools-dis

2016-01-22 00:00:48 628

原创 不同种类不同个数集合的重复排列——指数型母函数

我们知道多元素的多重集排列是这样的:元素   个数a1       n1a2       n2a3       n3……ak       nk其中n=n1+n2+……+nk取出所有的元素,不同的排列情况应该是当不是取出所有元素呢?回想母函数的方法:1g砝码,2g砝码,3g砝码……均有无限个,那么母函数的表达式就是砝码故事的背景是所

2016-01-21 23:38:55 727

原创 POJ 1833 排列(后k个排列)

http://poj.org/problem?id=1833大意:给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。看见此题,马上联想到《C语言名题精选百则》——整数全排列,当时已经接触了一种生成排列的STL算法——next_permutation()(不要说我太赖,ACM不就是讲究快准狠吗?)此题同样用它,瞬A。#incl

2016-01-21 21:28:08 759

原创 POJ2084 Game of Connections(catalan数)

http://poj.org/problem?id=2084大意:有2n个数字形成一个圆形,直线段连接一对数字,每一个数字必须连接到另一个数字上。(没有相交的线段)分析:现在假设1是要连接的点,它和4相连,为了不破坏规矩——“没有相交的线段",2,3只能在右边的圆形区域进行匹配,4——8也不能越过红线,在三角形中进行连线匹配。设n个点的匹配方案数是h(n),那么中的结果就该

2016-01-21 20:29:42 602

原创 MySQL 字符串函数

下面是MySql内置字符串各种函数:char_length(s) 返回字符串的长度,单位是字符个数length(s) 返回字符串的长度,单位是字节concat(s1,s2,……) 返回连接参数构成的字符串concat_ws(x,s1,s2,……) 和concat(s1,s2,……) 一样,不过要加上xinsert(s1,x,len,s2) 用s2代替s1的x位置开始

2016-01-21 14:57:57 622

原创 catalan数

catalan数是组合数学中计算问题的一种数列。设h(0)=h(1)=1,它满足递推式:h(n)=h(0)h(n-1)+h(1)h(n-2)+……+h(n-1)h(0)  (n>=2)另类递归式:通项公式(解):   (n=1,2,3……)相关问题:hdu 1023 Train Problem IIhttp://acm.hdu.edu.cn/show

2016-01-21 11:13:53 1102

原创 初次接触分块思想

在练习mobius反演的时候有一题需要用分块的思想来优化,于是第一次听说了分块思想。比较有名的当属号称可以解决所有不修改、离线查询问题的莫队算法。几乎所有的莫队算法的介绍都和[BZOJ]2038 小Z的袜子有关,相关大神博客:http://www.cnblogs.com/kuangbin/p/3263483.html先来个稍简单的分块题:codeforces 86 D. Pow

2016-01-21 09:05:19 672

原创 stirling 数

组合数学中的stirling数有两类,第一类,数字有正负,绝对值是包含n个元素的集合分作k个环排列的方法个数;第二类是把包含n个元素的集合划分成k个非空子集的方法的数目。第一类stirling数递推公式:S(n,0)=0S(1,1)=1S(n,k)=S(n-1,k-1)+(n-1)S(n-1,k)对于第一类stirling数递推关系的理解:第n个元素单独一个环时其他

2016-01-21 08:33:30 916

原创 初次使用phpMyAdmin & MySql修改root密码

刚刚用phpMyAdmin就遇到了麻烦,在phpMyAdmin中设置了root密码,忘了!最后不得不重新修改密码。首先打开phpMyAdmin:找到phpmyadmin文件夹下的配置文件 config.inc.php(比如 D:\wamp\apps\phpmyadmin4.1.14), 修改几个关键点:$cfg['Servers'][$i]['host'] = 'localho

2016-01-20 17:50:08 12757

原创 又见母函数

今天遇到了几道母函数的题,回忆回忆组合数学的知识。。。hdu 1028 Ignatius and the Princess IIIhttp://acm.hdu.edu.cn/showproblem.php?pid=1028大意:N=a[1]+a[2]+a[3]+...+a[m];  求解整数N的拆分方案数分析:和母函数的砝码故事很像,使用母函数。#include #i

2016-01-20 13:31:21 537

原创 POJ 2392 Space Elevator(带限制条件的多重背包)

http://poj.org/problem?id=2392大意:一群牛用石块堆天梯,不同的石块有不同的高度和最高的堆叠高度,求最终的高度。分析:觉得是多重背包,但是有了高度的限制。看了别人写的代码半天才缓过来。啊,这样处理。DP路漫漫。。#include #include #include #include using namespace std;const int N=4

2016-01-20 09:37:35 626

原创 uva 10791 Minimum Sum LCM(算术基本定理)

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1732大意:给出一个数字n,LCM(q1,q2,……,qk)=n,求解q1,a2……qk的最小和。分析:刚开始读错题了(又读错T_T),是一系列的数字之和。由算术基本定理,,同时,发现如果,是最

2016-01-20 09:29:47 581

原创 UVA 10820 Send a Table(欧拉函数)

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1761大意:输入两个整数(1分析,函数的性质告诉我们它和神奇的GCD很像,问题就是求解1—n中有多少对数字互质。欧拉函数值得拥有.#include #include using name

2016-01-20 08:44:56 437

原创 POJ 1066 Treasure Hunt(浮点判断线段交点)

http://poj.org/problem?id=1066在下图中,求解从四边到中间终点至少要穿过几堵墙。浮点数据的线段判断是否相交。另外,我们需要设置四边的起点,不是直接遍历每个坐标,而是找已有的交点。(有一种贪心的意思)。#include #include #include using namespace std;const double eps=1e-6;st

2016-01-19 19:59:35 593

原创 PHP学习之文件操作

filetype()    //可以输出相关文件类型,如:dir (文件夹)/ file (文件)/link stat()    //函数获得指定文件名参数目标文件基本属性  返回数组源码:<?phpecho filetype('D:\wamp\www').'';echo filetype('D:\wamp\www\document.php').'';$str

2016-01-19 15:02:15 644

原创 uva 11426 GCD - Extreme (II) (神奇的GCD)

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2421大意:给定正整数N,求出for(i=1;i     for(j=i+1;j        G+=gcd(i,j);G的值。分析:老样子,举例看规律     n=3   贡献

2016-01-19 10:48:15 1585

原创 poj 2480 Longge's problem(积性函数 & 欧拉函数)

http://poj.org/problem?id=2480大意:求解 ∑gcd(i, N) 1对于最大公约数,它有这样的性质,gcd(n,m1*m2)=gcd(nm1)*gcd(n,m2)   比如gcd(6,12)=gcd(6,3)*gcd(6,4).我们设f(N)=∑gcd(i, N),那么它也应该是一个积性函数。(积性函数的积是积性函数,积性函数的和是积性函数)设 其中

2016-01-18 22:26:11 960

原创 hdu 2842 Chinese Rings(矩阵递推)

http://acm.hdu.edu.cn/showproblem.php?pid=2842开始真不懂题目的意思。。。大意:第一个环可以拿走;第N个环必须在前N-2个环全都拿走,第N-1个环没有拿走的基础上才能拿走。也就是说:_ _ 1 _ 这样的情况是不能直接拿第3个环的。第3个环应该是:1.拿走第1个环2.拿走第3个环3.放回第1个环4.拿走第2个环5.

2016-01-18 19:54:25 576

原创 hdu 2276 Kiki & Little Kiki 2(矩阵递推)

这题真心很棒,展现了矩阵递推的优雅。http://acm.hdu.edu.cn/showproblem.php?pid=2276分析: 由左右影响可以写出状态转移矩阵:假设串的长度是4:假设原串是0110,那么新串就是那么第二次后的串就该是在这个基础上右边再乘上状态转移矩阵:第N次后的串就是嗯,水到渠成。(下面的取模不用位运算也行,直接使

2016-01-18 17:47:35 559 1

原创 MySQL 内置数学函数

学习学习mysql内置数学函数,先进入mysql:C:\Users\Administrator>cd /d D:\MySQL Server 5.5\binD:\MySQL Server 5.5\bin>mysql -u root -pEnter password: ********Welcome to the MySQL monitor. Commands end with ;

2016-01-18 09:38:59 647

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除