分治法
文章平均质量分 73
雪山飞狐YCH
ACM爱好者
展开
-
棋盘覆盖
在一个2^k * 2^k个方格组成的棋盘中,有一个方格与其它的不同,若使用以下四种L型骨牌覆盖除这个特殊方格的其它方格,如何覆盖。 四各L型骨牌如下图1 图1 棋盘中的特殊方格如图2图2 实现的基本原理是将2^k * 2^k的棋盘分成四块2^(k - 1) * 2^(k - 1)的子棋盘,特殊方格一定在其中的一个子棋盘中,如果特殊方格在某一个子棋盘中,继续递归处理这个子棋盘原创 2012-12-05 16:40:21 · 533 阅读 · 0 评论 -
南阳理工:整数划分
整数划分时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 将正整数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+原创 2012-12-05 16:39:03 · 636 阅读 · 0 评论 -
NanKai-OJ1437-校长杯(循环赛日程安排)
Font Style: Aa Aa Aa 在南开大学,一年一度的“校长杯”三大球比赛是广大师生必不可少的一次运动大餐。随着南开大学学校规模的扩大和体育事业的发展,参与校长杯赛事的师生越来越多。竞赛采用的是传统的“循环赛”制,即每队的选手都必须和其他各队选手较量一次。为了竞赛日程安排方便,报名的队伍数n都将是2的k次幂,(0 现在,竞赛组委会想请你帮忙设计一个循环赛原创 2012-12-05 16:40:19 · 609 阅读 · 0 评论 -
ZOJ2202阿尔法编码-分治法
题目大意:将字母A-Z编码,A为1,B为2,……依此类推,Z为26;则ABC编码为123。但是反向解码时,解码结果不唯一,比如123可以解码为 1-2-3:ABC,解码为12-3:LC,解码为1-23:AW(注意,127不能解码为1-27,因为范围只能为1-26)。现给出一组编码后的数字串,让你求该数字串可以有几种解码方式(上例中,123对应着3种解码方式)。问题输入将保证其为一个合法的数字串。比原创 2013-03-03 21:10:57 · 1144 阅读 · 0 评论 -
循环赛日程表-分治法
设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次; (3)循环赛一共进行n-1天。 如图:最左边一列为8队,后面7列为7天比赛对阵双方 思路:按分治策略,将所有的选手分为两半,n个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。递归地用对选手进行分割,直到只剩下2个选手时,比赛日程表的制定就变得很简原创 2013-03-03 21:53:51 · 1035 阅读 · 0 评论 -
归并排序/归并排序求逆序数
排序的方法很多,而归并排序则是分治的法的典型体现,现在写一下归并排序和利用归并排序求逆序数! 归并排序: #include int a[1000000],b[1000000]; void merge(int *a,int *b,int left,int mid,int right) { int i=left,j=mid+1,k=left; while(i<=m原创 2013-03-03 22:01:56 · 1035 阅读 · 0 评论 -
NYOJ117-求逆序数(归并排序)
求逆序数 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。 比如 1 3 2 的逆序数就是1。 输入 第一行输入一个整数T表示测试数据的原创 2013-07-05 21:02:14 · 695 阅读 · 0 评论