P9890 [ICPC2018 Qingdao R] Tournament 题解

news/2024/10/21 18:48:41

P9890 [ICPC2018 Qingdao R] Tournament

题目传送门

更好的阅读体验

一道找规律的思维题。

前置知识 \(lowbit\)

\(lowbit\) 是指获取一个二进制数中最右边的 \(1\) 所对应的数值。

具体地, \(lowbit\) 可以通过对一个数取反然后加 \(1\) ,再与原数进行按位与的方式来实现。

int lowbit(int x) {return x&-x;
}

例子:对于 \((11010)_2\) (十进制下为 \(26\) )来说,它的 \(lowbit\)\((10)_2\) (十进制下为 \(2\) ),即 \(lowbit(26)=2\)

Solve

其实题意说得已经非常清楚了,我们可以将骑士分成二幂次组,构造打出循环赛日程表,通过找规律不难发现最多进行 \(lowbit(n)-1\) 场比赛,最后依次输出即可。

And 至于为什么最多进行 \(lowbit(n)-1\) 场比赛,我想到了一段不严格的文字证明:在比赛中,每场比赛都会消除掉一个骑士,所以在给定人数为 \(n\) 时,总的比赛次数就是将骑士数缩减为 \(1\) 的过程。最多的比赛发生在每轮都尽可能减少最少人数的情况下,即每次比赛中淘汰 \(lowbit(n)\) 个骑士。因此,总的比赛次数为 \(lowbit(n) - 1\)

Code

#include <bits/stdc++.h>
#define N 2005int A[N][N];
int T,n,k;int lowbit(int x) {return x & -x;
}int main() {A[1][1]=1;for(int k = 1; k < 1024; k *= 2) {for(int i = 1; i <= k; i++) {for(int j = 1; j <= k; j++) {A[i + k][j + k] = A[i][j];A[i][j + k]=A[i + k][j] = A[i][j] + k;}}}std::cin>>T;while(T--) {std::cin>>n>>k;if(k > lowbit(n) - 1) {std::cout<<"Impossible";puts("");continue;}for(int i = 2; i <= k + 1; i++) {for(int j = 1; j <= n; j++) {std::cout<<A[i][j]<<" ";}puts("");}}return 0;
}

over~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74293.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

IT架构师知识地图

IT架构师知识地图

添加课程(maven + mybatis + tomcat)

IDE:idea 框架:maven + mybatis + tomcat 具体的文件分布需要的配置文件 maven的pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLS…

信息学奥赛复赛复习18-CSP-J2023-01小苹果-向上取整、向下取整、模拟算法

PDF文档公众号回复关键字:202410211 P9748 [CSP-J 2023] 小苹果 [题目描述] 小 Y 的桌子上放着 n 个苹果从左到右排成一列,编号为从 1 到 n。 小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。 每天在拿的时候,小苞都是从左侧第 1 个苹果开始、每隔 2 个苹果拿走 1 个苹果…

多校A层冲刺NOIP2024模拟赛10

因为有好多人没有好好打,所以我认为我垫底了。 赛时rank 2,T1 0pts,T2 100pts,T3 0pts,T4 40pts,accoder上同分,rank 9。 T1 因为没输出挂了5pts,T4 爆搜挂了5pts,乐。 update:T3没有启发式合并被卡成rank 4了 神:wang5是下一个zh0ukangyang 岛屿 唐氏的推柿子题。 …

13、Linux网络管理

网络基本概念 物理地址/逻辑地址物理地址:硬件地址,如MAC地址。 逻辑地址:软件配置地址,如IP地址。网卡作用:连接计算机和网络的硬件设备。MAC地址 (Media Access Control)定义:媒体访问控制地址,唯一标识网络设备的硬件地址。IP地址 (Internet Protocol Address)格式示…

CSS速刷 - CSS动画

作用:引起注意、愉悦感、反馈、掩饰(加载过程)transition动画 补间动画,中间过程可以计算出来。transition: width 1s:意味动画属性是width,动画时间是1秒。delay: 动画延迟几秒再开始 transition-timing-function 缓动函数:可以自己定制。关键帧动画 animationanimation…

五款实用报表工具推荐:从山海鲸到 JasperReports,哪个更适合你?

概述 在现代数据驱动的商业环境中,选择一款合适的报表工具对于企业的决策制定和数据管理至关重要。本文将为您介绍五款各具特色的免费或开源报表工具,包括国内的山海鲸报表、开源的 Superset、云端友好的 Looker Studio 以及企业级的 Zoho Analytics 和 JasperReports。本文将…