首页 > 其他分享 >杂题选做

杂题选做

时间:2024-12-12 13:11:31浏览次数:3  
标签:小于 sum ge 等于 大于 杂题

杂题选做

主要记录一下刷的非套题的思路。

2024.12.12

Luogu P3586 [POI2015] LOG 80/100

看到判定类问题可以先思考必要性条件,可以先列出一个式子:

\[\sum \min(s,a_i) \ge c \times s \]

显然对于每个询问这是成立的,否则根本选不到 \(c \times s\) 个。

然后看到形如 \(\max/\min(x,c)\) (其中 \(c\) 是常数)的形式可以分类讨论,拆成大于/小于 \(c\) 的部分和小于等于/大于等于 \(c\) 的部分。

这个拆出来之后就好处理这个贡献了,可以开两个值域 BIT 分别维护大于等于 \(s\) 的数的个数和小于等于 \(s\) 的数的和即可,此部分复杂度为 \(O(\log n)\) 单次操作。

然后考虑到另一个限制就是每次查询的单次操作都必须要至少有 \(c\) 个正数。而那些大于等于 \(s\) 的数显然满足 \(s\) 轮操作,然后再猜一下结论可得 \(\sum a_i[a_i<s] \ge s \times (c-\sum [a_i \ge s])\) 是充要条件,由上面的结论可得必要性显然,然后考虑证明充分性(即证明一定存在一种构造方式使得满足限制)。

将这些小于 \(s\) 的数从大到小排序,原问题等价于给定一个 \(s \time c\) 的矩阵,现在已有 \(m=\sum [a_i \ge s]\) 列放满。我们按顺序填充每一列,由于 \(a_i \ge a_{i+1}\),因此必然不会存在同一行放了相同元素的情况。因此问题得证。

时间复杂度 \(O(n \log n)\).

标签:小于,sum,ge,等于,大于,杂题
From: https://www.cnblogs.com/ldh081122/p/18602208

相关文章

  • CF 杂题选做 12月
    CF1172C2Tag:概率dp2600当我们求\(x\)号的照片的答案时其他照片可以看成本质相同的照片。所以我们可以将所有照片压成三种照片\(x\),\(0\)类型,\(1\)类型。所以考虑一个naive的\(dp\),\(f_{i,j,k}\),\(i\),\(j\),\(k\)分别表示三种照片被挑选的次数,转移是easy的。......
  • 「杂题乱刷2」CF2040D
    题目链接CF2040DNonPrimeTree解题思路挺好的题啊,赛时10min胡了个正解,但是\(ans\)数组打成\(a\)虚空调试15min,怎么回事呢。解法一赛时做法。可以看出当前无论怎么填,只要状态合法,那么一定有至少一种方案可以将整棵树都被填满,但是我不会证明啊。于是我们就有一个暴......
  • atcoder 杂题 #02
    atcoder杂题#02arc065_bConnectivity。arc137_bCount1's。abc287_fComponents。abc308_gMinimumXorPairQuery。arc065_b对两种边分别建图求并查集,其实就是求有多少个点满足两个图都在同一个并查集。可以把一个点的并查集标号扔进map<pair<int,int>,int>里,就......
  • atcoder 杂题 #01
    atcoder杂题#01arc163_cHarmonicMean。arc065_cManhattanCompass。abc303_fDamageoverTime。arc065_dShuffling。arc163_c可能因为数学不好,所以栽在了这道Luogu评的绿题上。题目大意:求一个长为\(n\)的正整数序列\(a\)使得\(\sum\frac1{a_i}=1\),要求......
  • 提高组杂题训练
    1.AnotherArrayProblem分类讨论。为了使和最大化,需要序列中的每个元素都为最大的元素。若\(n\ge4\),设序列中的最大元素的位置为\(x\),那么必有$x-1\ge2$或\(n-x\ge2\),所以只需要选\(n-1\)和\(n\)两个元素操作两次变为0,对\(x\simn\)赋值,再选\(1\)和\(2\)两......
  • 杂题选写2
    AT_arc110_d[ARC110D]BinomialCoefficientisFun无语了无语了。原问题等价于将一个不超过\(m\)的序列划分为\(n+\suma\)可空段。法一:那么答案就是\(\sum\limits_{l=0}^{lim}\binom{l+T}T\),观察组合意义是\((0,0)\)走到\(([0,lim],T)\)的方案数,也就是\((0,0)\)......
  • 杂题选写1
    P3714[BJOI2017]树的难题搞笑吧。单点取mx写成单点推平,调了半个小时。。首先数路径的题可以用点分治做到数路径\(O(n\logn)\),接下来是怎么统计答案。注意到答案分为三类:两端同色,两端异色,只取一端。其中第三种可以和一条颜色为\(0\),长度和权值和为\(0\)的路径匹配,转为......
  • 杂题选写3
    CF1009FDominantIndices暴力怎么做,就是\(O(n^2)\)dp。考虑优化,那么就使用长剖+树上启发式合并,只留长儿子的信息,优化至\(O(n)\),结束。P7581「RdOIR2」路径权值(distance)首先考虑怎么计算\(u\)的\(k-son\)两两距离和。首先套路地设其为\(f_{u,k}\)先考虑树形dp......
  • [杂题]2024.9~2024.11 杂题总结
    [杂题]2024.9~2024.11杂题总结题目做多了,不总结,和没做是一样的。ARC061B挺好的一道题。观察到三个不好做,我们想能否搞成一个牌堆去取。发现显然是可以的,我们只需要知道一个确定的取出来牌的编号序列,必然可以确定三者的牌堆分别是什么。所以,问题转换成了:有多少个序列,当\(A\)......
  • 「杂题乱刷2」CF2038B
    题目链接CF2038BMakeItEqual题意简述这东西好久没写了啊。阿瓦在一个幻想王国里。他走在草坪上,发现有\(n\)个数字精灵祝他生日快乐。阿瓦非常开心。因为最多可能会有\(2\times10^5\)个精灵为他庆生。但是,对于每个数字精灵都有一个饱食度\(a_i\),如果有任意两个数......