大家都做不出啦

目录

第一题  

题目描述

输入格式

输出格式

输入输出样例

说明/提示

第二题

题目描述

输入格式

输出格式

输入输出样例

说明/提示

第三题

题目描述

输入格式

输出格式

输入输出样例


第一题  

题目描述

坚果保龄球是植物大战僵尸中的一个小游戏。现在疯狂戴夫只给了lxhgww一些最普通的坚果,让lxhgww像保龄球一样把坚果扔出去,砸死院子里的僵尸。

院子一共由N条轨道组成,从上到下依次编号从1到N,每条轨道又被分成若干格。院子里一共有M只僵尸,每只僵尸站在某个格子内,并且可以认为它的位置不会变化。

游戏可以分成K个回合,在每个回合中,你可以选择一条轨道,把一个坚果扔出去。被扔出去的坚果首先会沿着轨道直线的从左往右滚动,直到撞到第一只僵尸之后,它开始沿着45度的斜线滚动,并且向中心的一侧滚动(即前N/2行的向右下滚动,后N/2行的向右上滚动,题目保证N是偶数)。院子的两边是围墙。斜着走的坚果撞到围墙或者僵尸会反弹,即从往右上走变成往右下走,或者反过来。直到坚果不再能打到任何僵尸之后,该回合结束。

注意:多只僵尸可能站在同一格,这个时候坚果每次只会撞死该格子的其中一只僵尸。为了砸死尽量多的僵尸,现在lxhgww决定在每回合的开始,选择在当前情况下可以砸死最多僵尸的一条路线扔出坚果。在出现相同的情况时,他会选择编号最小的轨道扔出。

为了了解这个做法的效果,现在lxhgww需要你帮助他计算这个方法可以砸死的僵尸数目。

输入格式

输入的第一行有3个整数,N,M,K。接下来M行,每行两个整数Xi, Yi,表示第i个僵尸位于第Yi条轨道,从左数第Xi个格子中。

输出格式

输出数据包括K+1行。前K行,每行2个数据Ai, Bi,表示在第i个回合,从第Ai条轨道扔出坚果,这个坚果在运行过程中打到了Bi个僵尸。最后一行是一个数字,表示被打到的僵尸总数。

输入输出样例

输入 #1复制

4 2 1
1 2
5 2

输出 #1复制

2 2
2

说明/提示

【数据范围】

对于20%的数据,保证: N<=200,M<=500,K<=200,Xi<=200;

对于50%的数据,保证: N<=200,M<=200000,K<=200,Xi<=1000000;

对于100%的数据,保证: N<=20000,M<=200000,K<=100000,Xi<=1000000;

对于所有的数据,保证:1<=Yi<=N

第二题

题目描述

\text{Alice}Alice 发现:人在心情不好的时候,便会选择酗酒。这往往与 \text{OI}OI 选手比赛胜利后的欢腾庆祝不同,酗酒者喝醉后便会忘记回家的路,然后在大街上无规律地乱走乱逛,同时喊着一些谁也听不懂的话。

这几天, \text{Bob}Bob 因为考试的原因心情很不好,每天晚上都会在城里面找一处酒吧。喝醉后离开酒吧开始在城市街道中无规律乱走,直到某一时刻,若他碰巧遇到了在夜晚出来看星星的 \text{Alice}Alice ,便会被她带回家。

已知 \text{Alice}Alice 和 \text{Bob}Bob 所在的城市街道可以被描绘为一个 NN 行 MM 列的格点地图, NN 行依次编号为 00 到 N-1N−1 , MM 列依次编号为 00 到 M-1M−1 。城市中共有 N \times MN×M 处路口,每一个路口可以用坐标 (i,j)(i,j) 表示。若 i<Ni<N ,则 (i,j)(i,j) 与 (i+1,j)(i+1,j) 有无向的连边,边权长度 , p_{(i,j)}p(i,j)​ 表示走过这一条路所需的时间。若 j<Mj<M ,则 (i,j)(i,j) 与 (i,j+1)(i,j+1) 有连无向边,边权长度 q_{(i,j)}q(i,j)​ 。

对于给定的两个点 (u,v)(u,v) 和 (s,t)(s,t) 分别为 \text{Bob}Bob 今晚去的酒吧的位置,和 \text{Alice}Alice 今晚看星星的位置。 \text{Bob}Bob 离开酒吧后,对于每一个路口,他会等概率选择其中之一,然后走向下一个路口。在走到下一个路口之前, \text{Bob}Bob 不会回头。同时 \text{Bob}Bob 并不会因为之前走过什么道路而影响之后的行走路线。

具体来说:如果 \text{Bob}Bob 从 (3,4)(3,4) 走到 (3,5)(3,5) ,他有可能在抵达 (3,5)(3,5) 后立刻折回 (3,4)(3,4)。对于四叉路口, \text{Bob}Bob 向每一个方向行走的概率都是 1/41/4 ,对于三叉路口(这只存在于城市的边界上)则是 1/31/3 ,对于二叉路口(这只存在于城市的 44 个角落)就是 1/21/2。

\text{Alice}Alice 希望知道,从 \text{Bob}Bob 离开酒吧, \text{Alice}Alice 期望情况下还需要等多久才能等到 \text{Bob}Bob ,即对于给定的两个点 (u,v)(u,v) 与 (s,t)(s,t),\text{Bob}Bob 从 (u,v)(u,v) 走到 (s,t)(s,t) 的期望用时是多少?

输入格式

第一行 NN , MM 。 之后 N-1N−1 行,每行 MM 个正整数,其中第 ii 行第 jj 个为 p_{(i,j)}p(i,j)​ 。

之后 NN 行,每行 M-1M−1 个正整数,其中第 ii 行第 jj 个为 q_{(i,j)}q(i,j)​ 。 单独一行给出一个整数 QQ ,表示总询问次数。

之后 QQ 行,每行有 44 个整数 uu ,vv ,ss ,tt 。

输出格式

一共 QQ 行,每一行对应一次询问:从 (u,v)(u,v) 走到 (s,t)(s,t) 的期望时间是多少?你的答案可以保留任意多位小数,但只有与正确答案的错误率在 0.1\%0.1% 内才算正确。

输入输出样例

输入 #1复制

2 2
1 2
3
4
4
0 0 0 1
1 0 0 1
1 1 0 1
0 1 1 0

输出 #1复制

7.0000
10.0000
8.0000
10.0000

说明/提示

对于 10\%10% 的数据, N \times M \le 25N×M≤25 。

对于 30\%30% 的数据, N \times M \le 625N×M≤625 。

对于 50\%50%的数据, N \times M \le 2500N×M≤2500。

对于 100\%100% 的数据, 1\leq N \times M \le 10^41≤N×M≤104 , 1\leq Q\leq 1001≤Q≤100 。 \forall i,j∀i,j , 1\leq p_{(i,j)},q_{(i,j)} \le 2001≤p(i,j)​,q(i,j)​≤200,N,M\geq 1N,M≥1。

此外存在 10\%10% 的数据,\min(N,M) \le 10min(N,M)≤10。

第三题

题目描述

一家著名的芯片公司希望您能帮他们在一些最新的产品上安装可以稳定电压的组件。每块芯片都被设计成 N*M 的带插槽的正方形,一个插槽可以安装一块单独的组件,你的任务是尽可能多地插入这些组件。

现代处理器的设计是很复杂的。为了可以稳定电压,你要面对下面几个限制:一些插槽是不可用的。一些插槽已经被其它的组件占据了,因而无法被新的组件使用。内存总线要连接到芯片的水平和垂直的边界上,它们的负载电压需要是安全的。

具体来说,芯片公司提供了 N 组限制条件,分别对应了 N 行。其中对于第 i 行以及第 i 组限制条件,给定非负整数 Ti 与 Ti 个列编号,记为rij(1<=j<=Ti),要求满足:第 i 行的组件数目不能超过指定的 Ti 个列方向上组件数目的和(也就是不超过”第 ri1 列的组件数目 + 第 ri2 列的组件数目 + ...“)。为了避免插槽过热,给定浮点数 si(1<=i<=N) 且 0<=Si<=1,要求第 i 行的组件数不超过总组件数的 si 。同样给定浮点数 ti(1<=i<=N)且 0<=Ti<=1,要求第 i 列的组件数不超过总组件数的 ti。

需要注意的是,已经占据了位置的组件,在统计一行或一列组件总数时,也是要被考虑在内的。而在计算芯片总组件数时.也要将已经占据了位置的组件考虑进去。芯片被描述为一个 N 行,每行 N 个字符的矩阵,其中 '.' 表示开放插槽, '/' 表示不可用插槽, 'C' 表示插槽已被一个组件占据。

输入格式

第一行给定 1 个正整数,表示芯片的规模 N(1<=N<=40)。然后给出 N 行,每行 N 个字符描述插槽,字符为 '.' , '/' 或 'C' 之一,含义如上所述。之后 N 行,描述了限制条件。其中第 i 行首先给出非负整数 Ti,表示第 i 行的限制条件涉及到的列的个数。之后再给出 Ti 个不重复的整数(都在 1 到 N 的范围中),描述了相关的列。再下一行,给出了 N 个浮点数依次对应 Si,(1<=i<=N)。每一个数字小数点后不超过三位。再下一行,给出了 N 个浮点数依次对应 ti,(1<=i<=N)。每一个数字小数点后不超过三位。1<=N<=40

输出格式

如果存在合法的策略,输出最多可以再在芯片上安装多少个组件。否则输出”impossible“(不用输出分号)

输入输出样例

输入 #1复制

5
CC/..
././/
..C.C
/.C..
/./C/
1 1
1 2
1 3
1 4
1 5
0.3 0.3 0.3 0.3 0.3
0.3 0.3 0.3 0.3 0.3

输出 #1复制

7
//对于样例1来说,每行每列上的组件不可以超过组件总数的 3/10 ,那么这块 5×5 的芯片的可被安装的最大组件
数是 7 。下图给出的是一种可行方案,其中 'W' 表示新加到开放插槽中的组件。
CC/W.
W/W//
W.C.C
/.CWW
/W/C/
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值