首页 > 其他分享 >【题解】CTT 2020 Day 3

【题解】CTT 2020 Day 3

时间:2023-02-26 21:47:42浏览次数:59  
标签:CTT geq limits 树状 题解 sum 修改 2020 关键点

目录

A. 计数鸡

考虑 \(\sum\limits_{i}\sum\limits_{j>i}[p_i\geq p_j]+[(p_i+h_i)\geq q_j]\),前部分是逆序对,而偶数让人想到行列式。即 \(M_{i,j}\) 表示 \(p_{i}=j\) 的系数,带入 \([(p_i+h_i)\geq q_j]\) 只是一个 \(1/-1\) 的问题。

提交记录:Submission #80360 - QOJ.ac

B. Perotation

倒序操作,发现 \(f_i=\sum\limits_j [p_j<p_i]\) 的奇偶性是不变的,猜测条件就是充要的。

考虑时间分块,用树状数组倒着扫。如果是修改关键点,那么贡献直接计算,每次倒着回去,将修改模拟回去即可。如果是非修改段,考虑每个修改关键值,维护 \(mx_0,mx_1\) 表示当前奇偶性下的最大位置。修改就只要打标记,然后每次查询的时候,将所有值域段问一遍即可(即关键点之间的段)。

但查询次数不确定,用随机权值异或,来描述一个状态。只有当两个状态对不上,才有 \(f_i\) 是奇数的情况,进行询问。否则没必要询问。于是询问次数变成 \(O(n)\) 。

时间复杂度 \(O(n\sqrt{n\log n})\),\(\log n\) 只有每次树状数组倒着扫,还有关键点处撤销的修改。常数较大,所以其实未能通过。不想卡常了。

提交记录:Submission #80458 - QOJ.ac

其实每次只要考虑新的修改,就可以避免掉树状数组,做到 \(O(n\sqrt{n})\) 。但我不太想写了。

C. 树特卡克林

Ynoi TEST_63 。

标签:CTT,geq,limits,树状,题解,sum,修改,2020,关键点
From: https://www.cnblogs.com/qiulyqwq/p/17157823.html

相关文章

  • 【题解】CTT 2019 Day 2
    目录A.循环序列B.MatrixC.杀蚂蚁简单版A.循环序列即求\(\sum\limits_{i=0}^{c}{k\choosem+in}\),即\(\frac{1}{n}\sum\limits_{j=0}^{n-1}\sum\limits_{i=0}^{k-m}......
  • 【题解】CTT 2019 Day 1
    目录A.递增树列B.异世界的文章分割者C.时间旅行A.递增树列令\(f_{u,i}\)表示\(u\)的子树,已经用掉\(i\)个点,剩下的点排列满足要求的方案数。考虑方案的计算,用......
  • 【题解】CTT 2018 Day 2
    目录A.宝石游戏B.面国建设C.WechatA.宝石游戏无修改时考虑长链剖分(加整体异或标记)。有修改时分块,不考虑关键点层长链剖分,最后算答案的时候处理关键点层的答案即可。......
  • 题解 CF1776F【Train Splitting】
    题意:有一个\(n\)点\(m\)边简单无向连通图,请用若干(至少为\(2\))种颜色对每条边染色,使得:对于每种颜色,仅由该颜色的边组成的生成子图不连通。对于每两种颜色,仅由该颜色......
  • Codeforces Global Round 15 CF1552 A~G 题解
    点我看题对两三年前的cf进行考古的时候偶然做到这场,像这种全是构造题和思维题的比赛还是比较少见的。题目本身很有意思,但是对于现场打比赛想上分的人来说体验就比较差了。......
  • P6659 [POI 2019] Najmniejsza wspólna wielokrotność 题解
    题意给定一个整数\(M\),求是否存在一个区间\([a,b]\)使得\(M\)为\([a,b]\)这个区间中所有数的最小公倍数。解题方法1.区间长度\(=2\)。二分查找\(a\),由于相......
  • 2023 年 CCF 春季测试赛模拟赛 - 2 题解
    T1约数和标准解法\(n=a_1^{b_1}\timesa_2^{b_2}\dotsa_k^{b_k}\)那么根据算术基本定理的推广,约数个数和约数和都是可以快速计算得到约数和sum\(sum=(a_1^0......
  • CF1776M 题解
    引理1:若\(n\)为偶数,则答案为\(n\)。若\(n\)是叶子,则显然正确。若\(n\)不是叶子,则将整棵树看做以\(n\)为根的有根树,一定可以保证最后一个被删除的是根。故得......
  • AtCoder Beginner Contest 281 A-F 题解
    比赛链接A-CountDown先这样,就这样。点击查看代码#include<cstdio>intn;intmain(){ scanf("%d",&n); for(inti=n;i>=0;i--)printf("%d\n",i); re......
  • Codeforces Round #853 (Div. 2) 题解
    CodeforcesRound#853(Div.2)题解ABCDCodeforcesRound#853(Div.2)|萌新实况被吊打|ABCD题解E.ServalandMusicGame分两种情况讨论:\(\lfloor\frac{s_......