函数蹲点【2】

博客介绍了两个函数。InvalidateRect函数将矩形添加到指定窗口的更新区域,更新区域代表需重绘的窗口客户区部分;InvalidateRgn函数通过将指定区域添加到窗口当前更新区域来使其无效,下次WM_PAINT消息出现时标记为需绘制。

1、InvalidateRect
The InvalidateRect function adds a rectangle to the specified window's update region. The update region represents the portion of the window's client area that must be redrawn.

BOOL InvalidateRect(
  HWND hWnd,  // handle of window with changed update region
  CONST RECT *lpRect,
              // address of rectangle coordinates
  BOOL bErase // erase-background flag
);

2、InvalidateRgn
The InvalidateRgn function invalidates the client area within the specified region by adding it to the current update region of a window. The invalidated region, along with all other areas in the update region, is marked for painting when the next WM_PAINT message occurs.

BOOL InvalidateRgn(
  HWND hWnd,    // handle of window with changed update region
  HRGN hRgn,    // handle of region to add
  BOOL bErase   // erase-background flag
);

(C++,简单,不用vector)题目描述 最新最潮的游戏《白神话:不空》即将在各大商店发售。作为一名游戏爱好者,Karl 希望购买 n 份游戏来赠送给他的好友。 Karl 事先了解到,在他所在的地区,有 m 家商店将会发售《白神话:不空》。其中,第 i 家商店在时刻 a i ​ 开门,并立即售出一份游戏,之后每隔 1 分钟商店都会再售出 1 张游戏,每家商店的游戏库存是无限的。Karl 已经派出他的小伙伴们在这 m 家商店蹲点,一旦有可购买的游戏,Karl 的小伙伴们就会立即买下它。 请你计算出 Karl 和他的小伙伴们最少要花多少分钟才能买到 n 份游戏。 输入格式 第一行两个整数 n,m,表示 Karl 希望购买的游戏份数和商店数量。 接下来一行 m 个整数 a i ​ ,表示第 i 个商店会在第 a i ​ 时刻开门。 输出格式 输出一个整数表示答案。 输入输出样例 输入 #1复制 5 2 1 4 输出 #1复制 4 输入 #2复制 16 4 7 3 1 9 输出 #2复制 8 说明/提示 【样例 1 解释】 对于样例 1: Karl 的小伙伴们可以在第 1 分钟的时候在第 1 家店买到 1 份游戏;第 2 分钟在第 1 家店买到 1 份游戏;第 3 分钟在第 1 家店买到 1 份游戏,在第 4 分钟在第 1、2 家店买到共 2 份游戏,所以最快 4 分钟就能买到 5​ 份游戏。 【数据范围】 对于 100% 数据,1≤n≤10 9 ,1≤m≤10 5 ,1≤a i ​ ≤10 9 。 测试点编号 a i ​ n m 1∼6 a i ​ ≤10 6 n≤10 6 m≤10 3 7∼12 a i ​ ≤10 9 n≤10 9 m≤10 3 13∼20 a i ​ ≤10 9 n≤10 9 m≤10 5
最新发布
07-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值