Codeforces Round #645 (Div. 2)补题
好久没写题了……
最近好像能做出2D了,不过上分还是困难。
比赛传送门
这场出题人作的要死,对于题面内容这里不再提。
本场关键词
贪心、找规律、前缀和、二分
A.Park Lighting
题意
给你$n\times m$的网格,你可以在两个网格之间的边上放一个灯,这个灯将会照亮这两个网格。
求出照亮所有的$n\times m$个格子的最小需要的灯数。
思路
贪心,只要$n$和$m$中间有一个是偶数,那么答案就是总格子数除以二;如果都为奇数,那么先暂时去掉一行,将这部分如上计算,再对剩下这一行贪心考虑。
代码
1 |
|
B.Maria Breaks the Self-isolation
题意
小M在办聚会,他现在想邀请$n$个人,第$i$个人有一个数值$a_i$,表示当他到小M家时,如果在场的人(不包括他自己)达到$a_i$,这个人就会留下。
求这场聚会最多可以邀请多少人,人数包括小M。
思路
排序之后贪心,如果$a_i$被邀请了,那么数值小于等于$a_i$的人一定也会被邀请。
代码
1 |
|
C.Celex Update
题意
给你一个按照上图规律无限扩展的矩阵。 有$t$组询问,每组$x_1,y_1,x_2,y_2$四个整数,保证$x_1\le x_2\ ,y_1\le y_2$,输出$(x_1,y_1)$到$(x_2,y_2)$的所有路径中,权值和不同的路径个数。 $(x,y)$表示在第$x$行$y$列,只能向下或向右行走。 #### 思路 找规律,组合数学 猜一发所有合法路径不会有权值和相同的情况,那么的话单纯计算路径数量只和$x_2-x_1$与$y_2-y_1$有关,$ans=(x_2-x_1)\times (y_2-y_1)+1$。 我也不知道怎么证明…… #### 代码1 |
|
1 |
|
代码
1 |
|