长期更新

主要偏向于题单,题解可能写的不会非常详细

###CF1292B Aroma’s Search

比较明显的一道贪心题,可以看出,往前面的点走是比往后面的点走更优的,所以只需要先往前走,如果还有时间在往后走

###CF1304C Air Conditioner

直接考虑每一个时刻能够到达的温度范围即可

###CF1304E 1-Trees and Queries

因为题目中说了同一个点可以走多次,所以只需要考虑最短距离和 kk 奇偶性即可

且最短距离有且只可能有三种情况

1.aba\rightarrow b

2.axyba\rightarrow x\rightarrow y\rightarrow b

3.ayxba\rightarrow y\rightarrow x \rightarrow b

###CF1322B Present

因为是异或,所以可以直接考虑每一位,判断每一位出现的 11 的次数的奇偶性

若第 ii 位为 11 那么 bi+bj[2k,2k+11]b_i+b_j\in [2^k,2^{k+1}-1],考虑进位, bi+bj[2k+1+2k,2k+22]b_i+b_j\in [2^{k+1}+2^k,2^{k+2}-2]

可以用双指针求这个东西

###CF1322C Instant Noodles

首先有一个性质 gcd(a,b)=gcd(a,a+b)gcd(a,b)=gcd(a,a+b),这个就不再证明了

考虑右边的每一个点,用 SiS_i 表示 =与该点连接的左边的点的集合

Si=SjS_i=S_j,直接合并这两个点

SiSj=S_i\cap S_j=\varnothing,直接求 gcd(ci,cj)gcd(c_i,c_j)

SiSjvarnothingS_i \cap S_j \ne varnothing,那么要求的就是 gcd(ci,cj,ci+cj)=gcd(ci,cj)gcd(c_i,c_j,c_i+c_j)=gcd(c_i,c_j)

直接用hash维护集合计算即可

###CF1338C Perfect Triples

打表找规律

###CF1349B Orac and Medians

直接找是否存在相邻的数大于k

###CF1355C Count Triangles

简单推一下就行

###CF1379C Choosing flowers

比较简单的贪心,或者说模拟?

###CF17D Notepad

扩展欧拉定理的应用

###CF1313D Happy New Year

题解

###CF1446C Xor Tree

01trie的应用

###CF1428D Bouncing Boomerangs

直接模拟就行了

###CF1416B Make Them Equal

先把所有的值给a[1],最后再一个一个还回去

###CF1408F Two Different

考虑分成 [1,2k],[n2k+1,n][1,2^k],[n-2^k+1,n]

###CF1408E Avoid Rainbow Cycles

最大生成树,将所有集合与元素看成点,若存在环,就一定是Rainbow Cycles

###CF1401E Divide Square

可以得出,答案一定是交点的数目+(长度为1e6)的线段数+1,用扫描线求即可