hanyingjun 发表于 2022-10-20 16:00:32

大佬们,这个题怎么做啊?

本帖最后由 hanyingjun 于 2022-10-20 20:15 编辑

求具体解析

hanyingjun 发表于 2022-10-20 17:56:54

这个是题目https://s1.ax1x.com/2022/10/20/xyLdsO.png

hanyingjun 发表于 2022-10-20 21:01:38

jackz007 发表于 2022-10-20 20:45
看不懂题目,楼主,请以题目给出的示例样本为例,具体讲解一下,什么是?以及答案 7 的来历

https://s1.ax1x.com/2022/10/20/x6ea4I.png

tommyyu 发表于 2022-10-20 16:17:25

所以题呢

hanyingjun 发表于 2022-10-20 16:18:27

tommyyu 发表于 2022-10-20 16:17
所以题呢

怎么发图片啊?

hanyingjun 发表于 2022-10-20 16:19:34

tommyyu 发表于 2022-10-20 16:17
所以题呢

哥们,找了半天,不知道怎么发图片

jackz007 发表于 2022-10-20 16:23:49

hanyingjun 发表于 2022-10-20 16:19
哥们,找了半天,不知道怎么发图片

         发到图床,然后,把图床给你的图片链接当成图片贴出来
         如果不知道用哪个图床,建议用:https://imgse.com/

hanyingjun 发表于 2022-10-20 16:30:26

本帖最后由 hanyingjun 于 2022-10-20 18:00 编辑

1

hanyingjun 发表于 2022-10-20 16:33:10

jackz007 发表于 2022-10-20 16:23
发到图床,然后,把图床给你的图片链接当成图片贴出来
         如果不知道用哪个图床,建议用 ...

栓Q

hrpzcf 发表于 2022-10-20 16:51:30

直接复制粘贴上来不是更快?

hanyingjun 发表于 2022-10-20 17:31:20

hrpzcf 发表于 2022-10-20 16:51
直接复制粘贴上来不是更快?

粘贴不了啊

hanyingjun 发表于 2022-10-20 17:58:23

tommyyu 发表于 2022-10-20 16:17
所以题呢

发了,大佬看一下

hanyingjun 发表于 2022-10-20 20:37:54

jackz007 发表于 2022-10-20 16:23
发到图床,然后,把图床给你的图片链接当成图片贴出来
         如果不知道用哪个图床,建议用 ...

大佬看一下,谢谢了

jackz007 发表于 2022-10-20 20:45:01

本帖最后由 jackz007 于 2022-10-20 20:47 编辑

            看不懂题目,楼主,请以题目给出的示例样本为例,具体讲解一下,什么是相邻最大化操作?以及答案 7 的来历

jackz007 发表于 2022-10-20 21:04:58

hanyingjun 发表于 2022-10-20 21:01


         还是看不懂,这些可能的 7 个 A 数组和输入的那个数组之间有什么关系?

hanyingjun 发表于 2022-10-20 21:11:47

jackz007 发表于 2022-10-20 20:45
看不懂题目,楼主,请以题目给出的示例样本为例,具体讲解一下,什么是?以及答案 7 的来历

B:8 6 1 8 8
A:6 0 0 1 8
B组b=max(a,a,a)=8
b=max(a,a,a)=6
b=max(a,a,a)=1
......
就从B组的倒推A组,算出符合条件的A组个数
(应该是怎么想。。。)

china2022 发表于 2022-10-20 23:19:40

大家有什么看法

tommyyu 发表于 2022-10-21 08:20:03

hanyingjun 发表于 2022-10-20 21:11
B:8 6 1 8 8
A:6 0 0 1 8
B组b=max(a,a,a)=8


我有一个思路(不能求出所有的数)
如果max(i, j, k) = x, max(j, k, l) = y
当 x > y 时,i = x;当 x < y 时,l = y
只能想出来这么一点思路{:10_266:}

hanyingjun 发表于 2022-10-22 19:42:06

tommyyu 发表于 2022-10-21 08:20
我有一个思路(不能求出所有的数)
如果max(i, j, k) = x, max(j, k, l) = y
当 x > y 时,i = x;当 x ...

一个哥们写的,样例不能完全通过
时间太慢了
大佬们,看看能不能改进一下

import itertools

B =
n = 10
# B =
         
# n = 6

# A中每一项的上界为对应3项中的最小值
A_max = , B, B[(x + 1) % n]) for x in range(n)]
A =
# A =
# B =
# e, a, b <= x- 且至少有一个x-
# a, b, c <= x且至少有一个x
# 可知 c = x
# 总结: 如果 B < B[(i + 1) % n], 则A[(i + 2) % n] = B[(i + 1) % n]
# 对于B > B[(i + 1) % n], 也是同理
for i in range(n):
    if B < B[(i + 1) % n]:
      A[(i + 2) % n] = ]
    elif B > B[(i + 1) % n]:
      A = ]


def check(a: list) -> bool:
    for i in range(n):
      if B != max(a, a, a[(i + 1) % n]):
            return False
    return True


A = itertools.product(*A)
counter = 0
for a in A:
    if check(a):
      counter += 1
print(counter % 1000000007)

china2022 发表于 2022-10-22 21:56:18

华出差
页: [1]
查看完整版本: 大佬们,这个题怎么做啊?