「Log」做题记录 2024.1.1-2024.1.28】的更多相关文章

写的大多只是思路,比较简单的细节和证明过程就不放了,有需者自取. 基环树简介 简单说一说基环树吧.由名字扩展可得这是一类以环为基础的树(当然显然它不是树. 通常的表现形式是一棵树再加一条非树边,把图画出来是一种向外发散的有趣图案. 体现在[题目条件]上就是一个 \(n\) 个点 \(n\) 条边的连通图或保证每一个点的入度 / 出度为 \(1\) (有向图:前者称为外向树,后者称为内向树). 常常会把一些在树上做的 dp 放在基环树上以提高题目难度. 惯用思路是先把以环上的点为根的子树内的信息跑…
Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律6 求一个串每个长度出现次数的最大值 求出fail树每个点的size就是该点的出现次数,由于答案是(非严格)单调减的,每个点更新一下 \(ans[len[i]]\) Hihocoder 后缀自动机四·重复旋律7 求几个数字串本质不同的子串所代表的数的和, \(mod\ 10^9+7\) 先建一下广义…
BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难题 啥也不会,暴力点分治. 点分治的时候只有相同颜色的链合并到一起的时候会出事. 一开始以为权值非负,于是胡了个假做法-- 把边按颜色排序,每次处理一整段的相同颜色,分两棵线段树维护其他颜色/当前颜色的最大权值,然后就没了. 单调队列神仙做法不会-- 代码 LOJ #2180. 「BJOI2017」…
退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) 余\(r\)的方案数,直接矩乘优化. [六省联考2017]相逢是问候 \(c^x\mod p=c^{x\mod \varphi(p)+\varphi(p)}\mod p(x>p)\) \(\varphi\)跳\(\log\)次就会跳到\(1\). 用欧拉定理时取膜这么写:int Mod(ll a,i…
「BZOJ2510」弱题 这题的dp式子应该挺好写的,我是不会告诉你我开始写错了的,设f[i][j]为操作前i次,取到j小球的期望个数(第一维这么大显然不可做),那么 f[i][j]=f[i-1][j](累加)+1*$\frac{f[i-1][j-1]}{M}$ - 1* $\frac{f[i-1][j]}{M}$(前i-1次拿到的j-1号球转化为j号球)以及(前i-1次拿到的j号球转化为j+1号球)注意1要特殊考虑.移项得 $f[i][j]=(1-1/m)*f[i-1][j]+(1/m)*f[…
UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好了> > 只需要统计能缩出多少tab,而这个显然可以前缀和扫扫罗干罗干就好了> > 无爱地刷rank> > #include <cstdio> #define fon(i,s) for(ul i=0;i<s; ++i) #define foxe(i,f,t…
ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{array}{c} S(n) & = & \sum_{i = 1} ^ n \sum_{p = 1} ^ i \sum_{q = p + 1} ^ i \frac {1}{pq}[p + q \geq i][gcd(p, q) = 1] \\ & = & \sum_{i = 1}…
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车往右开,只要没走到最左边,最后也要折回左边,所以不如先走完左边然后直接过来.左边<右边一样. 然后递归下去变成了一个子问题,可以看做一边的票数+=另一边,然后删除另一边. AGC023 E 考虑枚举两个位置\(i,j\)计算这两个位置产生逆序对的排列数量. 如果\(A_i=A_j\)很好算,方案数都是对…
退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计几题都不写了 CF611G New Year and Cake 真香 双指针扫可行的区间然后维护. 一个三角形的面积可以用\(|AB+BC+CA|\)算,其中\(A,B,C\)是向量\(OA,OB,OC\),\(O\)在三角形外 然后推出的式子可以很好地化简然后维护(为啥我写这么慢啊 CF504E…
「CQOI2006」简单题 线段树 水.区间修改,单点查询.用线段树维护区间\([L,R]\)内的所有\(1\)的个数,懒标记表示为当前区间是否需要反转(相对于区间当前状态),下方标记时懒标记取反即可. #include <cstdio> #include <cmath> #define sl (x<<1) #define sr (x<<1|1) #define MAXN 100010 using namespace std; struct nod{ int…