首页 > 其他分享 >8.24 我带着新生的诗,将旋律系上桑树的树枝

8.24 我带着新生的诗,将旋律系上桑树的树枝

时间:2023-08-24 22:26:20浏览次数:45  
标签:桑树 le 每个 旋律 路径 8.24 数字 仙人掌 las

Goodbye Souvenir

我们定义数字 \(x\) 在 \([l,r]\) 出现的最后一次位置减初始位置为该数字在 \([l,r]\) 内的权值。现在让你支持:

  1. 单点修改
  2. 询问 \([l,r]\) 中数字权值和。注意每个数字只贡献一次。

tag:CDQ 分治,贡献转化

注意到每个数字只贡献一次,可以想到将每个数字的权值进行分别处理。

我们设 \(las_i\) 为数字 \(a_i\) 上一次出现的位置,那么答案为 \(max\{i\} - min\{las_i\}\)。

这不好统计。考虑拆开这个式子,令 \([l,r]_x\) 表示 \([l,r]\) 中数字为 \(x\) 的下标集合,那么可以得到答案为 \(\sum_{i\in[l,r]_x}i - las_i\)。要把最小的 \(las_i < l\) 的贡献 \(i-las_i\)去除。

发现整个区间需要去除的部分为 \(\sum_{i=l}^{i\le r} [las_i<l](i - las_i)\),实际上就是一个二维偏序的求和,排序之后求解即可。

如果这是个静态问题,我们已经做完了。于是考虑 CDQ 分治时间轴转静态。修改直接用 set 维护。

摩天大楼

给你一个序列 \(a\),重排这个序列,使得 \(|a_1-a_2|+...+|a_{n-1}-a_n| \le L\)。求方案数。
\(n\le 100,L\le 1000\)

tag:动态规划

发现无论是枚举大楼的顺序操作还是枚举加入大楼的位置都不好判断。

对于点对,有一个转化是将 \((i,a_i)\) 变成二维平面上的点。变完以后我们发现要求的就是相邻点之间的斜线长度。考虑从上向下扫,一个小技巧是[[8.16 模拟赛#^bce980]]分段记录每个点的贡献。那么我们发现每个连通块每次贡献 \(2\)。但是注意特殊情况,在最左端之左和最右端之右是不会有贡献的。所以我们设 \(f_{i,j,0/1,0/1}\) 表示有 \(i\) 个连通块,当前值为 \(j\),最左端和最右端有无点。转移分一下三种:

  1. 新建一个连通块
  2. 合并两个连通块
  3. 往连通块旁边连
    转移的关键在于,往旁边连时只有左右两种选择。

Maximums and Minimums

一个序列,求有多少个子区间,满足最大值是最小值的倍数?
\(n\le 5e5, a_i\le 1e6\)

tag:二分,组合

一开始想复杂了,后来发现最大因数个数乘区间长度的复杂度也能过?那就抽象了。

对于序列中的每个数 \(a_i\),考虑它作为最大值时的答案。它作为最大值时自身会有一个区间约束。现在考虑最小值。枚举这个数的因数,对于序列中出现过的因数,找出最接近 \(i\) 的左边和右边的数。这个由于数的范围只有 \(1e6\),枚举时顺便记录就好。如果这个因数成为最小值,还有一个区间约束,也可以通过单调栈预处理出来。把两个约束范围取交,用乘法原理即可。

Good Graph

一个初始无边,\(n\)(\(n\le 3e5\))个点的图,现在有 \(q\)(\(q\le 5e5\))个操作,操作如下:
给出 \(u,v,w\),将 \(u\) 和 \(v\) 连边权为 \(w\) 的边(\(w \in [0,1]\))。
定义好图为图上所有简单环的异或和都为 \(1\) 的图,现在你需要对每个操作判断,如果执行它后图仍然是好图则执行,否则不执行。你需要输出每个操作会不会被执行。

tag:树链剖分,并查集

画画图,发现好图只可能是一棵点仙人掌。原因如下:

不为仙人掌的情况即为两个环共享一段路径。设这段路径异或和为 \(a\),一个环去除这段路径后路径异或和为 \(b\),另一个环去除这段路径后路径异或和为 \(c\)。这三段路径是可以两两连起来成环的。所以 \(a\oplus b=1,a\oplus c=1,b\oplus c=1\),这是无解的。因此我们反证了结论。

现在主体问题变成了:如何判断加入一条边后图是不是一棵点仙人掌。如果我们把仙人掌的每个环断开,就变成了一个树的结构。根据仙人掌的定义,将树上属于一个环的边染色后,没有一条边会被染色两次。点染色后,同一种颜色中不会有两个点同时染上另外一种颜色。如果这是静态的,我们就可以用树链剖分求解了。

考虑这样一件事情:我们从头开始挑边,只挑能组成一棵树上的边,像 Kruskal 那样组成一棵生成树,这些边必定是能执行的边。因为考虑这样一件事情:每个边会新加入一个点,一个点的第一条边必定是不会和已有边组成简单环的。那么树的结构就建好了。

之后我们判断每个组成环的点,如果只有一个被染色的点就可以连,然后将树上属于环的点变为 \(1\),可以用树链剖分解决。

标签:桑树,le,每个,旋律,路径,8.24,数字,仙人掌,las
From: https://www.cnblogs.com/closureshop/p/17655295.html

相关文章

  • 闲话8.24
    今天看了一天P站。上午啥都没干,写了写csp2021和NOIOL,被暴打了。下午写了写串题,也没啥好说的好像/qd。话说jimmy好像一天半都没来过了......
  • 2023.8.24 LGJ Round
    A有\(n(n\le750)\)个正整数\((a_i\le10^9)\),你需要删除一些数,使得剩下的数两两加起来都不为质数。若\(a_i+a_j\in\text{prime}\)(这里使用Miller-Rabin即可),将\(i\)和\(j\)连边。我们就是要求一个最大独立集。一般图是求最大独立集是NP问题。但是我们发现去掉所......
  • PYYZ8.24
    T1思路很简单,枚举每个点,然后看他横竖上点的距离之和的乘积即可赛时判负数只开了一半,直接dangeroussyscals爆瓜95ptsT2子树内dfs序可以先行确定,然后换根时增加偏移量dfs序可以贪心的尽量按照\(a_i\)降序排序即可赛时胡了个绝对错误的贪心T3\(k=0\)就并查集找连通块......
  • 2023.8.24 SM Round
    A在\(n\)个数中选尽可能多的数,使得任意两个数之和不是质数质数只有\(2\)是偶数,那么只有\(1+1\)和奇数加偶数能产生质数因此首先把\(1\)删除到只剩一个。这个case在有拍情况下卡掉了cls(建最小割的图,源点连奇数容量\(1\)的边,偶数连汇点容量\(1\)的边,如果两个......
  • 2023.8.24
        前一段时间读了一本书,书的作者为自己定下了一个目标,坚持写十年的公众号推文。受到其启发,我也决定坚持每天写一些文字,不只是记录生活,也是学习写作的一种尝试。    从六月底到八月底,跟在对象身边,体会到了他之间所说的力不从心、焦虑麻木的感觉。在企业,管理制度......
  • UOJ #37. 【清华集训2014】主旋律 整理--zhengjun
    好像没做过DAG计数的题。首先看到数据范围,考虑状压。方便起见,记\(cnt_{S,T}=\sum\limits_{(u,v)\inE}[u\inS\andv\inT]\)。设\(f_S\)表示\(S\)为强连通分量的选边方案数,由于正面很难算。考虑反面:\[f_S=2^{cnt_{S,S}}-\sum\limits_{\varnothing\subsetneqqT\s......
  • UOJ #37. [清华集训 2014] 主旋律
    UOJ传送门考虑dp。设\(f_S\)为点集\(S\)构成强连通分量的方案数。容易想到容斥。设\(ed_S\)为\(S\)内部连边数,那么\(f_S\)就是总的方案数\(2^{ed_S}\)减去构成的不是强连通分量的方案数。我们考虑如果整个图不是一个强连通分量,那么缩点后一定有\(>1\)个分量,并......
  • MusicGen:将文本和旋律转化为音乐
    Meta的MusicGen可以根据文本提示生成短小的新音乐片段,并可选择与现有旋律对齐。与今天的大多数语言模型一样,MusicGen基于Transformer模型。就像语言模型预测句子中的下一个字符一样,MusicGen预测音乐作品中的下一个部分。研究人员使用Meta的EnCodec音频标记器将音频数据......
  • 怎么给旋律配和弦 旋律配和弦的必看规则
    怎么给旋律配和弦?配和弦没有固定的配法,只要和旋律一起演奏听起来是和谐的就是正确的和弦。旋律配和弦必看规则?下文将用实际案例详细讲述旋律配和弦的方法。一、怎么给旋律配和弦1、找参照音我们要从我们要配和弦的乐句中找出参照音。例如我们要给四拍的一段乐句配一个和弦,我们可以......
  • 木铎声远,感知心灵跳动的旋律
    19年在深圳学习,见过柳中平校长,听他讲“自由健康地呼吸,快乐创意的思考”,夹杂着湖南口音的普通话和有点花白的头发,回来后谈及学习感受,头脑空空,但是这位湘音无改鬓毛衰的教育人给我留下了深刻的印象;21年读《岳阳楼下的教育求索》一书,柳校长的数学教学随笔让我受益匪浅,无论是基于数学......