首页 > 其他分享 >[AT_abc313_d] Odd or Even

[AT_abc313_d] Odd or Even

时间:2023-08-07 11:33:54浏览次数:39  
标签:Even 数不取 询问 abc313 计算 Odd

简单题,但是为什么赛场上 WA 了呢?

弱化题目,设 \(n = k + 1\),发现只需要每一个数不取询问 \(k\) 次,通过前缀和得出。

再设 \(k + 1 \ | \ n\),发现只需要类似分块即可解决。

回到原题,最后的一部分如何计算?我们可以对 \([n - k, n]\) 这个区间做询问,但是对于已经计算的数不再去除。把每一个得到的和减去前面已经计算的数的和就是真实的和,类似的也能计算出。

询问次数刚好为 \(n\),时间复杂度为 \(\mathcal{O}(n)\),可以通过此题。

标签:Even,数不取,询问,abc313,计算,Odd
From: https://www.cnblogs.com/yh2021shx/p/17610980.html

相关文章

  • [ABC313F] Flip Machines
    一种很新的折半/根号分治。手玩一下可以证明一个机器集合\(S\)的期望,先把\(S\)中\(x=y\)的机器对应的卡片翻好面,对于剩下的机器,如果一张卡片被至少一个机器覆盖过(即\(x=i\)或\(y=i\)),那么它的期望是\(\dfrac{a+b}{2}\),否则就是\(a\)。首先把\(x_i=y_i\)的机器处理掉......
  • ABC313
    D-OddorEven假设\(A_1\)到\(A_{k-1}\)的和是偶数。那么通过\(n\)次询问可以得到所有数是\(0\)还是\(1\)。如果将\(A_1\)到\(A_{k-1}\)代入检验发现和不是偶数,由于\(k\)是奇数,反转所有数,可以使它合法。#include<bits/stdc++.h>usingnamespacestd;consti......
  • ABC313
    T1:ToBeSaikyo\(x\geqslant\max({p_i}),i>1\)代码实现n=int(input())a=list(map(int,input().split()))ifn==1:exit(print(0))mx=max(a[1:])ans=max(0,mx+1-a[0])print(ans)T2:WhoisSaikyo?对\((A_i,B_i)\)连一条有向边,使得\(A_i......
  • ABC313C 解题报告
    赛前看到这场C的分值直接飙上\(400\)就知道不是个善茬。这道题给了个启发,算是积累个trick吧。题目传送门简要题意:给定长为\(n\)的序列,进行若干次以下操作:每次选定两个整数\(i\)和\(j\),使得\(a_{i}\leftarrowa_{i}+1\)并使得\(a_{j}\leftarrowa_{j}-1\),要求最......
  • abc313D 题解
    [abc313DOddorEven]。好有趣捏。我们考虑\(N=K+1\)。设\(s_i\)为\(\displaystyle\sum_{j\neqi}a_j\bmod2\)。因为\(K\)为奇数,我们可以得到\(\displaystyle\sum_{i=1}^{K+1}s_i\equiv\sum_{i=1}^{K+1}a_i\pmod2\)。所以\(a_i=\displaystyle\sum_{i=1}^{K+1}a_i\b......
  • Even(23Nowcoder6.J)(二分+可持久化线段树)
    题意:给定一个序列\(a\),定义一次操作选择序列中一个元素\(a[i]\),使\(a_i=\lfloor\frac{a_i}{2}\rfloor\),其中\(a_i\)为当前序列中的最大偶数,若没有则是最大奇数。有\(q\)组询问,每次给定\(k,l,r\)分别表示操作次数和操作区间,每次回答操作完成后区间中的\(Max\),询问间互相......
  • 7-Locust自带的events钩子函数
    EventsHookLocust提供了事件钩子函数,它们可以在特定的时间点执行,例如test_start,其类似与pytest中的setup_module使用方法举例使用时需要引入events模块fromlocustimportevents自定义一个方法,若不清楚需要接收什么参数,一般来说直接给一个可变关键字参数**kwargs即可(除非......
  • [Javascript] event target and currentTarget
    <Parent><child><button/></child></Parent>functiononClick(event){console.log('target:',event.target)//buttonconsole.log('currentTarget',event.currentTarget)//parent}pa......
  • ChatGPT 问答00005 Spring的ApplicationEventPublisher的使用案例
    下面是一个使用ApplicationEventPublisher的简单示例,演示了如何在SpringBoot中使用该接口发布和监听事件:首先,定义一个自定义的事件类CustomEvent,用于封装事件的数据:publicclassCustomEvent{privatefinalStringmessage;publicCustomEvent(Stringmessage){......
  • [async]子线程内开启协程 RuntimeError: There is no current event loop in thread '
    在子线程内直接获取事件循环会报错:RuntimeError:Thereisnocurrenteventloopinthread'Thread-2',此时的代码为:loop=asyncio.get_event_loop()loop.run_until_complete(协程函数) #执行解决方法:在子线程内创建并配置事件循环new_loop=asyncio.new_event_loop(......