首页 > 其他分享 >杂题乱做 - 2023.10

杂题乱做 - 2023.10

时间:2023-10-18 16:34:04浏览次数:41  
标签:sum 2023.10 sum1 60 range prod 杂题 append

目录

写在前面

如题,杂题乱做。

有的时候闲得无聊就写上几题。

唉,菜。

加训!

CF1872G

2000

https://codeforces.com/contest/1872/problem/G

记非 1 位置坐标依次为:\(p_1, p_2, \dots, p_k\),显然答案只能是非 1 的位置,另外显然当非 1 位置较多时,答案为 \([p_1, p_k]\) 肯定是最优的。

于是考虑定一个非 1 元素乘积的上界,当乘积大于该上界时就直接输出 \([p_1, p_k]\),否则 \(k\) 较小,直接暴力枚举答案区间即可。

上界定为 \(2^{60}\) 就差不多了,此时 \(k\le 60\),总复杂度 \(O(\left\lfloor\frac{n}{60}\right\rfloor\times 60^2) = O(60\times n)\)。

为了方便写了 py,其实用 int128 也行。

T = int(input())
lim = 2 ** 60

while T > 0:
  T = T - 1
  n = int(input())
  a = [0]
  p = [0]
  sum1 = [0]
  sum = [1]
  prod = 1

  s = input().split(' ')
  for i in range(1, n + 1):
    a.append(int(s[i - 1]))
    sum1.append(sum1[i - 1] + a[i])
    if a[i] > 1:
      p.append(i)
      if prod < lim:
        prod = prod * a[i]

  if prod >= lim:
    print(p[1], p[-1])
    continue
  
  for i in range(1, len(p)):
    sum.append(a[p[i]])
    sum[i] = sum[i] * sum[i - 1]

  delta = 0
  ansl, ansr = (1, 1)
  for i in range(1, len(p)):
    for j in range(i + 1, len(p)):
      l, r = p[i], p[j]
      if ((sum[j] / sum[i - 1] - sum1[r] + sum1[l - 1]) > delta):
        ansl, ansr = (l, r)
        delta = sum[j] / sum[i - 1] - sum1[r] + sum1[l - 1]
  print(ansl, ansr)
'''
1
4
2 1 1 3
'''

学到了典中典之小范围暴力大范围特判。

The 2021 ICPC Asia Jinan Regional Contest - J Determinant

https://pintia.cn/problem-sets/1459829212832296960

\(\det(A)\) 可以高消,但是太大了,不能直接算。

一个结论:已知 \(|x|\),那么在模奇数意义下,\(x\) 和 \(-x\) 奇偶性不同。

于是考虑在模某个大质数意义下求 \(\det(A)\),再判断在模意义下是否与 \(|\det(A)|\) 是否相同即可,若相同则为 +,否则为 -

写在最后

我是什么几把??

标签:sum,2023.10,sum1,60,range,prod,杂题,append
From: https://www.cnblogs.com/luckyblock/p/17772692.html

相关文章

  • 2023.10.13NOIPSIM3总结
    T1卡牌赛时打了一个\(\Omicron(nm)\)的暴力,拿到30分。我们发现第\(i\)张牌对BOSS造成的伤害为$att_i*\lceil\frac{hp_i}{Att}\rceil$,那么考虑以卡牌血量值域为下标开一个桶,储存相同血量的卡牌的\(\sumatt\)。对于每一级BOSS的攻击力,我们都可以在桶上根据\(\lceil......
  • 2023.10.17——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.大型数据库明日计划:学习......
  • 「Log」2023.10.17 小记
    CSP第二轮倒数\(3\)天。序幕\(\text{6:40}\):到校,整理博客。\(\text{7:30}\):模拟赛发题。题意都很简单,感觉都是很怪异的配置,T1性质是显著的,一会就切了。T3感觉不知道想考啥,反手扔个乱搞。T2T4是一点思路没有,T4连暴力都不会,应该涉及到切比雪夫距离性质啥的。被创死了......
  • Linux第三章用户管理 2023.10.17
    1、id命令可以查看当前用户登陆信息ll命令可以查看文件的所有者,具体如下所示安装Apache服务器 yum-yinstallhttpd//安装软件包systemctlstarthttpd//重启服务psaux命令可以查看某一进程的用户名2、管理用户(1)创建用户/组使用useradd命令创建用户使用groupa......
  • 2023年石门中学NOIP模拟测试(2023.10.17)
    原题大战,还是\(4\)道计数...放个头图:一蓝一紫两黑,简单且原题0.o?出模拟赛搬原题演都不演了,他真的我哭死。那这总结不写也罢T1\(n\leq10^3\)。简单来说,要选出子序列满足相同颜色连续的方案数。签到题,但写了\(\text{1h}\)的我是sb。直接大力状压,设\(dp_{i,s,c}\)表......
  • 杂题选做汇总
    好菜好菜数据结构1.莫队&分块杂题选做dp1.数位dp杂题选做......
  • 2023.10.14 总结
    T1题面:给\(n\)个数染色,要求使\(|i-j|\)为质数的两个数染的色不能一样,求任意一种染色方法。\(n\le6\)时直接打表,之后模拟一下。容易发现,\(2\)是质数中唯一一个偶数,所以我们可以\(1234\)连续染色,由于\(4\)是偶数且大于\(2\),所以差为质数的颜色不会相等。最后输出......
  • 【GJOI 2023.10.17 T4】 莫队
    莫队今天,接触信息学不久的小A刚刚学习了莫队。莫队可以解决一类难以合并,但方便插入的信息维护。比如,给定一个序列,支持单点修改,每次询问一个区间出现了多少种数字。再比如,给定一个序列,支持单点修改,每次询问区间众数。诸如此类。小A觉得这样的情况太平凡了。于是,他定义了一个......
  • 2023.10.16——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.DIV+CSS明日计划:学习......
  • 2023.10.16
    今天本来都忘了学习网安的东西,结果晚上突然发现今天还没学,去看了一些堆的东西发现ctfwiki堆的知识概述的内容好多,距离真正的应用还有好多感觉是不是应该每天一边刷题一边学堆,这样更有效率一点? ......