7月17日刷题记录 分治Getting!循环比赛日程表
通过数:1 ┭┮﹏┭┮
qdoj.xyz 1053 分治-循环比赛日程表


其实今天晚上留给编程的时间并不多,做出一道。。。
不过收获还是非常大的
毕竟本人从来没有学习过分治算法,今天竟然攻克了我人生中的第一道 分治算法题 !!
题目如下:

那么这一道题怎么做呢
提示
以表格的中心为拆分点,将表格分成A、B、C、D四个部分,就很容易看出有A=D,B=C,并且,这一规律同样适用于各个更小的部分。
那么这就是分治啦
来一段知识讲解


注意看一下上面的“分治法的适用条件”
/*
1053: B05-分治-循环比赛日程表(分治算法)
时间限制: 1 Sec 内存限制: 128 MB
提交: 17 解决: 9
[提交] [状态] [讨论版] [命题人:外部导入]
题目描述
设有n个选手进行循环比赛,其中n = 2m,要求每名选手要与其他n - 1名选手都赛一次,每名选手每天比赛一次,循环赛共进行n - 1天,要求每天没有选手轮空。 输入
一行,包含一个正整数m。 输出
表格形式的比赛安排表(n行n列),每个选手的编号占三个字符宽度,右对齐。 样例输入 3 样例输出 1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 2 1 4 3
7 8 5 6 3 4 1 2
8 7 6 5 4 3 2 1 提示 以表格的中心为拆分点,将表格分成A、B、C、D四个部分,就很容易看出有A=D,B=C,并且,这一规律同样适用于各个更小的部分。 来源/分类
B05-分治 [提交] [状态]
*/
#include<bits/stdc++.h>
using namespace std;
int ans[][];
int main(){
int m;
cin>>m;
int n=<<m;
int h=;
ans[][]=;
for(int x=;x<=m;x++)
{
for(int i=;i<=h;i++)
for(int j=;j<=h;j++)
ans[i][j+h]=ans[i][j]+h;//右上=左上+h
for(int i=;i<=h;i++)
for(int j=;j<=h;j++){
ans[i+h][j+h]=ans[i][j];//右下=左上
ans[i+h][j]=ans[i][j+h]; //左下=右上
}
h*=;
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++)
printf("%3d",ans[i][j]);
printf("\n");
}
return ;
}
代码在此啦

可以辅助理解一下
p.s时间好像不够啦!886~只可意会不可言传
提高组加油!
7月17日刷题记录 分治Getting!循环比赛日程表的更多相关文章
- 7月18日刷题记录 二分答案跳石头游戏Getting
通过数:1 明天就要暑假编程集训啦~莫名开心 今天做出了一道 二分答案题(好艰辛鸭) 1049: B13-二分-跳石头游戏(二分答案) 时间限制: 5 Sec 内存限制: 256 MB提交: 30 ...
- 全国Uber优步司机奖励政策 (1月11日-1月17日)
本周已经公开奖励整的城市有:北 京.成 都.重 庆.上 海.深 圳.长 沙.佛 山.广 州.苏 州.杭 州.南 京.宁 波.青 岛.天 津.西 安.武 汉.厦 门,可按CTRL+F,搜城市名快速查找. ...
- 厦门Uber优步司机奖励政策(1月11日~1月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Python学习日志9月17日 一周总结
周一,9月11日 这天写的是过去一周的周总结,我从中找出当天的内容. 这天早晨给电脑折腾装机,早晨基本上没有学习,休息了一个早晨. 下午写的上周总结,完事做mooc爬虫课的作业,<Think P ...
- 优步UBER司机全国各地奖励政策汇总 (4月11日-4月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 刷题记录:[XNUCA2019Qualifier]EasyPHP
目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...
- DP刷题记录(持续更新)
DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\ ...
- 攻防世界Web刷题记录(新手区)
攻防世界Web刷题记录(新手区) 1.ViewSource 题如其名 Fn + F12 2.get post 3.robots robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个 ...
- 2016年12月17日 星期六 --出埃及记 Exodus 21:12
2016年12月17日 星期六 --出埃及记 Exodus 21:12 "Anyone who strikes a man and kills him shall surely be put ...
随机推荐
- H3C PPP协议的组成
- 央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家
央行下属的上海资信网络金融征信系统(NFCS)签约机构数量突破800家 ——已接入NFCS的P2P网贷机构将优先 接入央行征信系统 P2P网贷行业的健康发展依赖于信用体系的支撑和保障,加快完善适应 ...
- Vue-axios 在vue cli中封装
common/post.js import axios from 'axios' // 引入axios import qs from 'qs' // 引入qs axios.defaults.baseU ...
- 大众点评实时监控系统CAT的那些坑
首先,感谢大众点评开源监控系统CAT.CAT是一款非常使用的功能建全的监控系统.作为一个知名的开源软件,真的是太差了. 想把CAT用起来,没有多年的Java经验是不行的.先吐槽一下,再写一篇如何用的文 ...
- webpack4.0基本配置,超简单!
最近复习了一下webpack,使用的是4.0版本. 下图是基本目录结构,最后留有代码地址,有兴趣可以去看看. 直接上代码(依赖未完全使用): 项目的所有依赖都可以安装,每个都有详细的注释.] cons ...
- Javascript 防扒站,防止镜像网站
自己没日没夜敲出来的站,稍微漂亮一点,被人看上了就难逃一扒,扒站是难免的,但不能让他轻轻松松就扒了: 前些天有个朋友做的官网被某不法网站镜像,严重影响到 SEO,当时的解决方法是通过屏蔽目标 IP 来 ...
- dotnet core 用值初始化整个数组
如果想要创建一个数组,在这个数组初始化一个值,有多少不同的方法? 本文告诉大家三个不同的方法初始化 在开发中,会不会用很多的时间在写下面的代码 var prime = new bool[1000]; ...
- PowerShell 通过 WMI 获取系统信息
本文告诉大家如何通过 WMI 使用 Win32_OperatingSystem 获取设备厂商 通过下面代码可以获取 系统版本和系统是专业版还是教育版 Get-WmiObject Win32_Opera ...
- CSDN博客 专用备份工具
CSDN博客 专用备份工具 用要的朋友可下载. 本程序为个人所用,仅供学习.作者:潇湘博客网站:http://blog.csdn.NET/fkedwgwy默认文件存放位置为用户名文件夹下,也可以直接自 ...
- java面试-反射
1.什么是反射?有什么优缺点? 反射就是动态加载对象,并对对象进行剖析.在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法.对于任意一个对象,都能够调用它的任意一个方法.这种动态获取信 ...