- 博客(10)
- 收藏
- 关注
原创 循环赛日程表
循环赛日程表循环赛日程表问题,设有n=2k个选手要进行循环赛,设计一个满足以下要求的比赛日程表:1.每个选手必须与其他n-1个选手各赛一次;2.每个选手一天只能赛一次;3.循环赛一共进行n-1天。int main(){ Table(3); for(int i=0;i<=7;i++) { for(int j=0;j<=7;j++) cout<<a[...
2019-10-08 22:36:13
145
原创 区间合并——分治
区间合并给定 n 个闭区间 [ai; bi],其中i=1,2,…,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],是[1;2] 和 [3;4] 不可以合并。我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no。样例输入55 61 5...
2019-10-08 22:30:33
719
1
原创 众数和重数的分治
问题描述:给定含有n个元素的多重集合S,每个元素在S中的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。众数为2,其重数为3。任务:对于给定的由n个自然数组成的多重数集S,编程计算S的众数及其重数。将数组排序,找到数组a中位于中间的数及其重数n,如果如果左边的元素个数大于n,那么众数在左边可能出现,向左递归,右边同理。递归下去就可找到...
2019-10-08 22:27:06
876
原创 分治的简单理解
分治法的基本思想分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。分治法的设计思想是,将一个难以直接解决的大问题,分割成一些...
2019-10-08 22:24:56
212
原创 排队购票
一场球赛开始前,售票工作正在紧张进行中。每张球票为50元,有m+n个人排队等待购票,其中有m 个人手持50元的钞票,另外n个人手持100元的钞票。求出这m+n个人排队购票,使售票处不至出现找不开钱的局面的不同排队种数 。(约定:开始售票时售票处没有零钱;拿同样面值钞票的人对换位置为同一种排队。)设计要点令f(m,n)表示有m个人手持50元的钞票,n个人手持100元的钞票时共有的排除总...
2019-10-08 22:22:08
224
原创 整数划分问题
整数划分问题将正整数n表示成一系列正整数之和:n=n1+n2+…+nk,其中n1≥n2≥…≥nk≥1,k≥1。正整数n的这种表示称为正整数n的划分。求正整数n的不同划分个数。例如正整数6有如下11种不同的划分:6;5+1;4+2,4+1+1;3+3,3+2+1,3+1+1+1;2+2+2,2+2+1+1,2+1+1+1+1;1+1+1+1+1+1。如正整数6的划分:最大加数...
2019-10-08 22:19:44
276
原创 猴子吃桃
猴子第一天采摘了一些桃子,第二天吃了第一天的一半多一个,第三天吃了第二天的一半多一个…直到第十天就剩下一个。问:猴子第一天摘了多少桃子?递推关系:f(n)=f(n-1)/2-1f(n-1)=(f(n)+1)/*2f(10)=1#include <iostream>using namespace std;int func(int day){ if(day==10)...
2019-10-08 22:09:29
73
原创 STL简介
1.STL的简单介绍(标准模板-STL(Standard Template Library))(1) STL(Standard Template Library),即标准模板库,是一个具有工业强度的, 高效的C++程序库。(2)STL是所有C++编译器和所有操作系统平台都支持的一种库,该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框...
2019-10-08 22:06:27
92
原创 取余运算
取余运算问题描述:输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整形数。【输入样例】mod.in2 10 9【输出样例】mod.out2^10 mod 9=7【算法分析】本题主要的难点在于数据规模很大(b,p都是长整型数),对于b^p显然不能死算,那样的话时间复杂度和编程复杂度都很大。在这里插入图片描述//取余运算#include#includeus...
2019-10-08 21:51:16
236
原创 汉诺塔及递归
汉诺塔及递归汉诺塔的编程解决算法:递归实现。什么是递归?程序调用自身的编程技巧称为递归( recursion),例如:void fun(){ fun();}递归在计算机中是怎么运行的,次序是怎样的?,如:int main(void){ fun();}递归,函数自己调用自己递归函数要有返回的条件,就是不要一直循环下去。int fun(int n)...
2019-10-08 21:49:24
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人