Board

2024-02-14 14:18
文章标签 board

本文主要是介绍Board,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

总结

这次诸事不顺和这题有点关系,(主要还是我太菜)

解决方法想出来了, 例题过了, 上交WA

后来发现算法有漏洞, 而且是本质性的。

改了很久 什么风车型 什么奇偶性 在上手之前都有找到了反例

最后想了一小时,放弃了,转向严晨晨的B题。

事后分析: 解决方法想出来后先证明, 实在不能证明就想反例。

* 除非即将结束才能冒死试试,不然刚开始就当头一棒, 这士气………………

上题

时间限制: 1 Sec 内存限制: 128 MB 提交: 68 解决: 8 [提交][状态][讨论版] 题目描述
There is a square of n*n.You need to cover the square with some small rectangle of k*1.How much can it cover at most?

输入
There are multiple test cases in the input file.
First line contain the number of cases T (T≤10000).
In the next T lines contain T cases , Each case has two integers n and k. (1≤n,k≤100)

输出
Print the maximum number of chessboard squares tiled.

样例输入 2 6 3 5 3 样例输出 36 24 提示 来源 piaocoder

翻译

一个n * n 的正方形, 用 k * 1的矩形覆盖

小矩形不能超出大的正方形

问最后大正方形能被小矩形覆盖的最大面积

分析

详见原题分析

这里写图片描述

首先,若n < k,则棋盘连一个1×k的矩形都放不下,输出0。
·
我们只需要考虑n≥k的情况。将棋盘类似于黑白染色,

按(i+j)模k划分等价类,给每个格子标一个号。

标号之后,会注意到每条从左下到右上的斜线数字都是相同的,

那么对于s×s的格子,其内部数字有且恰好有2s−1种,

所以当s<=k2的时候,内部数字有floor(k2)∗2−1 < k种,所以不能有更佳的方案。

从而证明最优的方案一定是仅剩下一个s×s的正方形区域没有被覆盖到,其中s≤k2。

而令1 = n mod k之后,

根据l大小的不同,可以构造出中心为l×l或(k−l)×(k−l)的风车形图案,

又通过上面证明这个l(或k−l)就是之前的s,所以是最优的。

所以令1 = n mod k,如果l≤k2,最多可覆盖的格子数即为n2−l2,

否则为n2−(k−l)2,

显然这样的方案是可以构造出来的(风车形)。

这里写图片描述

上代码

重点看分析 代码不贴

这篇关于Board的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708726

相关文章

【UVA】10652-Board Wrapping(凸包问题)

又增加了2个模板。 #include <iostream>#include <cstdlib>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <vector>#include <queue>#include <stack>#include <algorithm>usi

调用Jira API 获取Project的Board参数和Sprint参数

每个jira项目都有sprint参数和board参数,关系为一对多的关系。 project 和 board > 1对nboard 和 sprint > 1对n 如果想要查询一个项目具有哪些正在进行的sprint,还需要费一番功夫。 因为目前jira -api的python库里并没有给出方法,不过我们可以通过下面的方法获得: 通过get请求,根据项目的key或者ID获得board信息

Renesa Version Board开发RT-Thread 之Client(WIFI)和上位机的数据传输

目录 概述 1 系统框架 1.1  模块介绍 1.1 Version-Board 开发板 1.1.1 Vision-Board简介 1.1.2 Vision-Board的资源 1.2 框架介绍 2 上位机App 2.1 UI设计  2.2 代码实现 3 功能测试 3.1 网络连接 3.2 功能测试 概述 本文主要Renesa Version Board开发RT

leetcode419 Battlesships In A Board JAVA

Description Given an 2D board, count how many battleships are in it. The battleships are represented with ‘X’s, empty slots are represented with ‘.’s. You may assume the following rules: You receive

2014 ACM-ICPC World Final Info board

现在是2014年6月26日00:07:21,同样也是2014年acm wf结束的当晚,几家欢喜几家愁,真的是不知道最近在干些什么就是懈怠了也木有以前那种干劲了,恩,这么说吧就是游戏玩起来了,暑假有时候是需要节制的否则这个暑假就这么浪费了有些可惜,着实是这么表示,而且2015年的亚洲区会在NEU举办,下面附张榜单,哎其他的就不说什么了,表示到了这个时候追悔莫及还是可以的只要不继续越陷越深就好了。缓步

FATE Board 执行流程探索

背景介绍 FATE Board 是 FATE 提供的一个工程,用于给 FATE 提供可视化能力,方便在联邦学习训练中实时查看执行状态,更好地定位执行中遇到的问题。 查看 FATE 架构可以看到 FATE Board 是建立在 MySQL 和 FATE Flow Server 的基础上的,看起来数据来源是来自于这两者。FATE Flow Server 在之前的文章 中已经介绍过,FATE 中隐私

poj1691--Painting A Board(拓扑+dfs)

题目链接:点击打开链接 题目大意:一个矩形由n个小矩形组成,现在要给小矩形染色,但是颜料会向下滑,为了防止弄乱颜料,所以要先染上面的矩形,后然染下面的矩形,每一次改变颜色都要用一个新的刷子,问最小用多少刷子。 按照染色的条件,可以找到一个拓扑序列,拓扑序列中前面的要先染,后面的要后染,按拓扑的顺序dfs找出最少的刷字数。 #include <cstdio>#include <cstri

RA8D1-Vision Board上OSPI-Flash实践

Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,拥有Helium和TrustZone技术的加持,性能非常强大。 内核:480 MHz Arm Cortex-M85,包含Helium和TrustZone技术 存储:集成2MB/1MB闪存和1MB SRAM(包括TCM,512KB ECC保护) 外设:兼容xSPI的四线OSPI

HMI-Board之LVGL应用

移植 使用默认模板工程新建一个RT-Thread项目,BSP版本为1.1.1 打开RT-Thread Settings,点击右侧箭头按钮进入详细页,在硬件栏开启以下几个配置选项(LCD、触摸屏、demo) 此时,打开board文件夹,发现下面会有一个lvgl的目录,package目录下会有LVGL和lv-music两个目录,如果没有请检查上一步有没有漏掉的步骤 编译、下载程序进

HMI-Board上手指南

介绍 HMI-Board为 RT-Thread 联合瑞萨推出的高性价比图形评估套件,取代传统的 HMI+主控板硬件,一套硬件即可实现 HMI+IoT+控制的全套能力。依托于瑞萨高性能芯片 RA6M3 及 RT-Thread 软件生态,HMI-Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出GUI智能硬件产品,这个板子是我参加RT-Thread社区活动接触到的 特性 R7F