摘要:
[题面戳我][1] sol 很好想+很好写的一道题,然而比赛中我还是没有切掉qaq。 LCT 枚举左端点$i$,向右移动右端点指针$j$找到第一个成环的位置。此时$[i,j],[i,j+1]...[i,m]$都是合法答案。可见就是在区间$[i,j]$上区间加$m j+1$,再在$[j+1,m]$上加 阅读全文
摘要:
"BZOJ" "Luogu" 求 $$f(n)=\sum_{i=0}^{n}\sum_{j=0}^{i}S(i,j) 2^j j!$$ 其中$S(i,j)$是第二类斯特林数 $n\le10^5$,模$998244353$ sol ~~所以说后面两项到底是干什么的~~ 把$j$提到前面去 $$f(n) 阅读全文
摘要:
[CF题面][1] 题意:求$\sum_{i=0}^{n}\binom{n}{i}i^k$ $n\le10^9,k\le5000$ 模$10^9+7$ [BZOJ题面][2] 题意:求$n 2^{\frac{n(n 1))}{2} (n 1)} \sum_{i=0}^{n 1}\binom{n 1} 阅读全文
摘要:
NOIWC2018游记 接着PKUWC就是NOIWC了。感觉时间很紧呀,但越是紧张呢,就越让人心里觉得充实。 能够去NOIWC,应该是一次非常充实的体验吧。 这一篇游记是接着上一篇写的,时间点上完全都能够接起来。这是一个传送门 [PKUWC2018游记 by租酥雨][1] 如果没有什么不可抗因素阻碍 阅读全文
摘要:
"UOJ" sol 这题真是太神啦! 对于S集合中的每个点对,给他们随机附上一个相同权值。 两个点在边(x,y)的两侧当且仅当一个点在x的子树中,另一个点不在x的子树中(假设x是y的儿子) 维护一下子树点权异或和,若x子树的异或和等于所有点对权值的异或和就说明(x,y)是一条必经边 splay终于使 阅读全文
摘要:
"BZOJ" sol 维护点的连通关系和双连通关系,双连通分量就可以缩成一个点,开一个并查集搞一搞。 所以注意每一次跳父亲都要找他在并查集里面的根,即所有的fa[x]都要写成find(fa[x]) 像这种没有cut的LCT题目最好写并查集维护连通性,常数! code cpp include incl 阅读全文
摘要:
"BZOJ" "Luogu" sol 整体二分,其实很简单的啦。 对所有询问二分一个答案mid,把所有修改操作中数字大于mid的做一个区间覆盖(区间加1) 查询就是区间查询 然后左右分一分即可 注意是第k大 然后关于树状数组的区间修改区间查询,有一篇学长的博客 "链接" ,其实原理还是蛮简单的。 比 阅读全文
摘要:
"BZOJ" "Luogu" sol 首先发现肯定有解,又因为每个位置至多操作一次,所以最优解一定是在$[0,n]$之间 有一种可以在$O(\sum_{i=1}^{n}\lfloor\frac{n}{i}\rfloor)$复杂度求最优解的方法。 只要枚举这个数的倍数判断被操作了几次就行了。 如果最优 阅读全文
摘要:
"BZOJ" "Luogu" sol 如果已经确定了一个序列,现要求把这个序列分成m个连续段作为答案,那么就可以用一个显而易见的DP DP显然可以得到当前序列下的最优解。 所以模拟退火~~瞎JB~~改一改序列每次DP一下就可以了 ~~据说这题random_shuffle可以AC~~ code cpp 阅读全文
摘要:
"Luogu" sol 模拟退火呀 初始状态按顺序涂色,让同种颜色尽量放在一起。 每次随机交换两个位置,注意$\Delta$的计算 ~~瞎JB~~调一下参数就行了 可以多做几次避免陷入局部最优解 code cpp include include include include using names 阅读全文