摘要:
到目前为止,平衡树应该是我学过的数据结构里面最难的一个了。(顺便贴上一个我认为treap讲解的比较好的博客https://blog.csdn.net/u014634338/article/details/49612159) 此篇博客只会讲解treap平衡树中较为关键的操作。 前情提要 siz:这里的 阅读全文
摘要:
ACM-ICPC 2017 Asia Qingdao B. Chenchen, Tangtang and ZengZeng 签到题 I. The Squared Mosquito Coil 打印题,原来区域赛也会出这种题目,无语…… 总结:遇到这种情况,冷静才是最重要的。 J. Suffix 按理来 阅读全文
摘要:
很多时候,解题需要逆向思维。 最为普遍的就是出现在容斥的题目里面,其他题型的题目逆向思维也会有可能用到,当我们遇到这种题目的时候往往正向解题时无思路或者十分复杂,但是运用逆向思维会变得轻松很多。 1.容斥 同色三角形问题 https://ac.nowcoder.com/acm/contest/413 阅读全文
摘要:
模板: #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod = 998244353; const int Max = 1e6 + 10; ll fact[Max],ifact[Max]; l 阅读全文
摘要:
ACM-ICPC 2017 Asia Shenyan F. Heron and His Triangle 三边长给出,海伦公式算出面积,暴力枚举整数情况,得: 4,14,52,194,724等数据 之后就要灵性找规律了,得:a[i] = a[i-1]*4-a[i-2] 总结:1.对于类似题目,暴力枚 阅读全文
摘要:
题目节选自https://blog.csdn.net/q_l_s/article/details/8811534 搜索法在oi赛制里面往往能够骗取少量的分数,如果优化的好,或许还能拿大部分分。 但是在acm赛制,骗分是骗不了的了,我们只能乖乖去想正解,但是对于一道正解就是搜索的题目来讲,往往看起来并 阅读全文
摘要:
cf 483C 第一个数设为a[1]=1,后一个数a[2]=a[1]+k,a[3]=a[2]-(k-1),a[4]=a[3]+(k-2),依次构造下去,剩下的数让他们按从小到大依个排下去,不会增加distinct elements的个数 #include <bits/stdc++.h> #defin 阅读全文
摘要:
cdq分治——它是一种通过计算前一半对后一半的影响的手段。 直到今天才发现其实还是挺简单的,就是把一个区间分成两部分,然后看前半部分对后半部分的贡献,然后一路分治下去就好了。 洛谷 P3810 【模板】三维偏序(陌上花开) 三维偏序问题是二维偏序问题的升级版,二维偏序通常就是第一维排个序,第二维搞个 阅读全文
摘要:
1. 与数据结构相关 最典型的就是树套树了,这里的例题是二维线段树. 牛客2020 CCPC Wannafly Winter Camp Day5 Div.1&2 I Practice for KD Tree 找二维区间最大值 这里需要注意的是,一开始题目要进行区间加的操作,所以我们要用到二维前缀和的 阅读全文
摘要:
例题:codeforces 1325E 1. 题目解释每个数的因数个数不超过7个,说明了每个数最多只有2个质因数,因为如果有3个质因数的话,那么 f(n)=(1+1)^3=8>7不成立了。 2. 求出的答案要使得乘积为完全平方,因此答案的质因数个数必须为偶数个,即a1、a2……要为偶数。 3. 答案 阅读全文