像潮落潮涌,送我奔向自由。|

寂静的海底

园龄:3年2个月粉丝:59关注:15

2023-02-06 17:57阅读: 31评论: 0推荐: 1

颜色和乘积相关

乱七八糟的问题。

  • 1.区间出现出现的数的 aici ,带修

直接树状数组求区间乘积。

  • 2.区间出现出现的数的 ai,带修

prei<l,i[l,r],二维偏序带修,树套树或者分块解决。

  • 3.区间出现出现的数的 ai,带区间推平

势能分析发现 pre 的变化量是 O(n+m) 的,配合拿个ODT就行,直接暴力修改二位偏序。

洛谷上有个类似题,但是由于要YNOI卡常就没去写。

不带修可以离线单 log 解决。

  • 4.区间出现的数的 aimax{ci1,0} ,带修

i[l,r],pre(i)[l,r] 同样二位偏序带修。

  • 5.区间出现的数的 aimax{cik,0} ,不带修

i[l,r],prek(i)[l,r] 手玩一下显然正确。

  • 6.区间出现的数的 aimax{cik,0} ,带修

时间复杂度瓶颈在改变 prek(i) ,再在树套树上修改。

k较小可以用 set 暴力修改前驱后继,k较大可以使用带修莫队。

分块+根号分治应该可做吧,没有细想。

  • 7.区间出现出现的数的 ai[ci=1] ,不带修

离线,将询问挂在右端点,从左到右扫,线段树维护对应左端点的答案,加入右端点对 (prei,i],(prei2,i]进行区间乘除就行。

另一种:

三维偏序 pre<l,i[l,r],suf>r

区间出现出现的数的 ai[ci=1] ,带修

你可以试着用KDT去做上面的带修三位偏序

分块或者带修莫队,好像没别的做法了。

考虑过从 aici 中去除 aici[ci2] , 使用上方做法数线段,但是比较烦,每种数出来的线段+1就是答案的指数,但这又变成二维平面数颜色了,不太可做。

应该没有更优秀的做法了?有请务必告诉kk。


以后可能会更新。

写完了,还剩6分钟回寝室,开把王怒一门先。

体测完了,班上吐了几个。。。。。


upd 2020/10/20:

  • 8.AKIOI。

简简单单。

  • 9.区间中出现的数的 ci

离线的话直接莫队,在线的话分块,维护整块之间的答案,然后把散块插到整块里面更改。


upd 2020/10/25:

  • 10.区间中最后一次出现最靠前的数:

nxti>r,ilimin

  • 11.区间中至少有一种数不全包含的最长子区间:

分成若干段,只有两段会贴边界(散),中间部分为整。

整部分为 [i,nxti][l,r] 的二维数点

散部分为问题 10。

posted @   寂静的海底  阅读(31)  评论(0编辑  收藏  举报
历史上的今天:
2022-02-06 atcoder近期比赛记录
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起