#算法图解

算法笔记_164:算法提高 最小方差生成树(Java)

/目录1问题描述2解决方案问题描述给定带权无向图,求出一颗方差最小的生成树。输入格式输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。输出格式对于每组数据,输出最小方差,四舍五入到0.01。输出格式按照样例。...

算法笔记_165:算法提高 道路和航路(Java)

/目录1问题描述2解决方案问题描述农夫约翰正在针对一个新区域的牛奶配送合同进行研究。他打算分发牛奶到T个城镇(标号为1..T),这些城镇通过R条标号为(1..R)的道路和P条标号为(1..P)的航路相连。每一条公路i或者航路i表示成连接城镇Ai(1<=A_i<=T)和Bi(1<=Bi<=T)代价...

算法笔记_166:算法提高 金属采集(Java)

/目录1问题描述2解决方案问题描述人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了。一些节点之间有道路相连,所有的节点和道路形成了一棵树。一共有n个节点,这些节点被编号为1~n。人类将k个机器人送上了火星,目的是采集这些金属。这些机器人都被送到了一个指定的着落点,S号节点。每个机器人在着落...

算法笔记_167:算法提高 矩阵翻转(Java)

/目录1问题描述2解决方案问题描述Ciel有一个N*N的矩阵,每个格子里都有一个整数。N是一个奇数,设X=(N+1)/2。Ciel每次都可以做这样的一次操作:他从矩阵选出一个X*X的子矩阵,并将这个子矩阵中的所有整数都乘以-1。现在问你经过一些操作之后,矩阵中所有数的和最大可以为多少。输入格式第一行为一个正整数N。接下...

算法笔记_168:历届试题 矩阵翻硬币(Java)

/目录1问题描述2解决方案问题描述  小明先把硬币摆成了一个n行m列的矩阵。  随后,小明对每一个硬币分别进行一次Q操作。  对第x行第y列的硬币进行Q操作的定义:将所有第i*x行,第j*y列的硬币进行翻转。  其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。  当小明对所有硬币都进行了一次Q操作后,他发现...

算法笔记_169:历届试题 兰顿蚂蚁(Java)

/目录1问题描述2解决方案问题描述  兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。  蚂蚁的头部朝向为:上下左右其中一方。  蚂蚁的移动规则十分简单:  若蚂蚁在黑格,右转90度,...

算法笔记_170:历届试题 分糖果(Java)

/目录1问题描述2解决方案问题描述  有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:  每个小朋友都把自己的糖果分一半给左手边的孩子。  一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。  反复进行这个游戏,直到所有小朋友的糖果数都相同为止。  你的任务是预测在已知的初始...

算法笔记_171:历届试题 小朋友排队(Java)

/目录1问题描述2解决方案问题描述  n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。  每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。  如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即...

算法笔记_172:历届试题 波动数列(Java)

/目录1问题描述2解决方案 问题描述   观察这个数列:  1302-11-2...  这个数列中后一项总是比前一项增加2或者减少3。  栋栋对这种数列很好奇,他想知道长度为n和为s而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢? 输入格式   输入的第一行包含四...

算法笔记_173:历届试题 斐波那契(Java)

/目录1问题描述2解决方案问题描述  斐波那契数列大家都非常熟悉。它的定义是:  f(x)=1....(x=1,2)  f(x)=f(x-1)+f(x-2)....(x>2)  对于给定的整数n和m,我们希望求出:  f(1)+f(2)+...+f(n)的值。但这个值可能非常大,所以我们把它对f(m)取模。  公...

算法笔记_174:历届试题 地宫取宝(Java)

/目录1问题描述2解决方案问题描述  X国王有一个地宫宝库。是nxm个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。  地宫的入口在左上角,出口在右下角。  小明被带到地宫的入口,国王要求他只能向右或向下行走。  走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以...

算法笔记_175:历届试题 蚂蚁感冒(Java)

/目录1问题描述2解决方案问题描述  长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。  每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。  当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。  这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。  请你计算,当所有蚂蚁都...

算法笔记_176:历届试题 最大子阵(Java)

/目录1问题描述2解决方案问题描述  给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。  其中,A的子矩阵指在A中行和列均连续的一块。输入格式  输入的第一行包含两个整数n,m,分别表示矩阵A的行数和列数。  接下来n行,每行m个整数,表示矩阵A。输出格式  输出一行,包含一个整数,表示A中...

算法笔记_177:历届试题 城市建设(Java)

/目录1问题描述2解决方案问题描述  栋栋居住在一个繁华的C市中,然而,这个城市的道路大都年久失修。市长准备重新修一些路以方便市民,于是找到了栋栋,希望栋栋能帮助他。  C市中有n个比较重要的地点,市长希望这些地点重点被考虑。现在可以修一些道路来连接其中的一些地点,每条道路可以连接其中的两个地点。另外由于C市有一条河从...

算法笔记_178:历届试题 邮局(Java)

/目录1问题描述2解决方案问题描述  C村住着n户村民,由于交通闭塞,C村的村民只能通过信件与外界交流。为了方便村民们发信,C村打算在C村建设k个邮局,这样每户村民可以去离自己家最近的邮局发信。  现在给出了m个备选的邮局,请从中选出k个来,使得村民到自己家最近的邮局的距离和最小。其中两点之间的距离定义为两点之间的直线...
首页上一页...2223242526...下一页尾页