- 博客(18)
- 资源 (23)
- 收藏
- 关注
原创 hihoCoder 1303 模线性方程组
模线性方程组描述:给定了n组除数m[i]和余数r[i],通过这n组(m[i],r[i])求解一个x,使得x mod m[i] = r[i]。算法思想:一开始就直接求解多个方程不是太容易,我们从n=2开始递推:已知:x mod m[1] = r[1]x mod m[2] = r[2]根据这两个式子,我们存在两个整数k[1],k[2]:x = m[
2016-05-31 21:01:02 562
原创 2014年 蓝桥杯决赛(Java)
国王的遗产 X国是个小国。国王K有6个儿子。在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。 其中,大儿子分1/4,二儿子1/5,三儿子1/6,.... 直到小儿子分1/9。 牛是活的,不能把一头牛切开分。 最后还剩下11头牛,分给管家。 请计算国王这批遗产中一共有多少头牛。 这是一个整数,请通过浏览器...
2016-05-24 23:43:56 1795 5
原创 解决ssh的"Write failed: Broken pipe"问题
问题现象:用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示:Write failed: Broken pipe只能重新用 ssh 命令进行连接。解决方法:方法一:如果您有多台服务器,不想在每台服务器上设置,只需在客户端的 ~/.ssh/ 文件夹中添加 config 文件,并添加下面
2016-05-23 14:09:38 3280
原创 hihoCoder 1298 欧拉函数
欧拉函数描述小Hi和小Ho有时候会用密码写信来互相联系,他们用了一个很大的数当做密钥。小Hi和小Ho约定了一个区间[L,R],每次小Hi和小Ho会选择其中的一个数作为密钥。小Hi:小Ho,这次我们选[L,R]中的一个数K。小Ho:恩,小Hi,这个K是多少啊?小Hi:这个K嘛,不如这一次小Ho你自己想办法算一算怎么样?我这次选择的K满足这样一个条件
2016-05-23 00:06:16 386
原创 hihoCoder 1297 扩展欧几里德 && POJ 1061 青蛙的约会
扩展欧几里德描述小Hi和小Ho周末在公园溜达。公园有一堆围成环形的石板,小Hi和小Ho分别站在不同的石板上。已知石板总共有m块,编号为 0..m-1,小Hi一开始站在s1号石板上,小Ho一开始站在s2号石板上。小Hi:小Ho,你说我们俩如果从现在开始按照固定的间隔数同时同向移动,我们会不会在某个时间点站在同一块石板上呢?首先我们可以列出一个式子:s1+v1*
2016-05-22 23:46:59 545
原创 hihoCoder 1296 约瑟夫问题
约瑟夫问题摘自hihoCoder:最直观的解法是用循环链表模拟报数、淘汰的过程,复杂度是O(NM)。今天我们来学习两种更高效的算法,一种是递推,另一种也是递推。第一种递推的公式为:令f[n]表示当有n个候选人时,最后当选者的编号。f[1] = 0f[n] = (f[n - 1] + K) mod n 接下来我们用数学归纳法来证明这个递推公式的正确性:
2016-05-22 23:24:10 429
原创 hihoCoder 1287 Miller-Rabin质数测试
Miller-Rabin质数测试摘自hihoCoder:这种质数算法是基于费马小定理的一个扩展,首先我们要知道什么是费马小定理:费马小定理:对于质数p和任意整数a,有a^p ≡ a(mod p)(同余)。反之,若满足a^p ≡ a(mod p),p也有很大概率为质数。将两边同时约去一个a,则有a^(p-1) ≡ 1(mod p)也即是说:假设我们要测试n是否为质数。
2016-05-22 21:36:26 772
原创 蓝桥杯 历届试题 矩阵翻硬币(大数开方)
历届试题 矩阵翻硬币问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操作后,他发现了一个
2016-05-22 18:51:21 695
原创 蓝桥杯 历届试题 高僧斗法
历届试题 高僧斗法问题描述 古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。 节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个台阶上。最高一级台阶必须站人,其它任意。(如图1所示) 两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台
2016-05-22 17:46:33 1333
原创 Catalan数计算及其应用
卡塔兰数卡塔兰数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡塔兰数的一般项公式为 其他递归式为: h(n)=((4*n-2)/(n+1))*h(n-1);前几项为 (OEIS中的数列A000108): 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 1679
2016-05-22 13:52:47 682 1
原创 2016年 蓝桥杯省赛(Java)
煤球数目有一堆煤球,堆成三角棱锥形。具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。171700public class Main { public
2016-05-22 00:14:06 15904 8
原创 博弈(巴什博弈讲解及其应用)(hdu2149,hdu2188)
摘自百度百科:巴什博弈只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先
2016-05-21 23:20:29 1587
原创 博弈(SG函数讲解及其应用)(hdu1848)
摘自jumping_frog聚聚的博客:首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里
2016-05-21 22:45:07 982
原创 Linux中如何添加/删除FTP用户并设置权限(后续)
在“Linux中如何添加/删除FTP用户并设置权限”一文中,我们讲了如何添加及删除用户,可是后来,我们仍遇到了不少问题:1.进入系统后命令行只有一个“$” 这样的美元符号,而且环境变量文件已经都复制到用户主目录下,怎样才能恢复成如xxx@主机名:~$ 这样的格式呢?vim /etc/passwd看到自己的用户名,如:test:x:():()::/home/test:
2016-05-20 21:37:43 3152
原创 pandas安装及使用
安装pandas1. Anaconda 安装pandas、Python和SciPy最简单的方式是用Anaconda。Anaconda是关于Python数据分析和科学计算的分发包。2. Miniconda 使用Anaconda会安装一百多个依赖包,如果想灵活控制安装的依赖包或带宽有限,使用Miniconda是个不错的选择。 Conda是个包管
2016-05-20 21:11:23 26670
原创 Ubuntu修改用户密码时,出现: passwd: Authentication token manipulation error
修改用户密码时,出现:passwd: Authentication token manipulation error1.修改密码时提示错误root@iZ28m0c0sk6Z:/# passwd piaocoderEnter new UNIX password: Retype new UNIX password: passwd: Authentication token manip
2016-05-20 21:06:35 10241
原创 2016"百度之星" - 资格赛(Astar Round1)(hdu5685(线段树、乘法逆元),hdu5686(大数),hdu5687(字典树),hdu5688)
Problem A题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5685解题思路:可以用线段树求解,但是数据有问题,前期一直re,不晓得哪里错了,看了讨论才知道,数据有问题,后期数据被更正过来。但是在hdu交时,一直wrong,看别人比赛时的代码都是用乘法逆元做的,还以为自己的做法错了,后来好心人告知,hdu上的数据是比赛
2016-05-19 23:45:48 466
转载 操作系统fork函数解析
首先看下fork的基本知识: 函数原型:pid_t fork( void); 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子
2016-05-06 22:51:02 5649
程序员面试宝典 第5版
2018-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人