06 2019 档案
摘要:"题目" 三天终于把$APIO$做完了 这题还是比较厉害的,如果不知道这是个分块应该就自闭了 考虑一个非常妙的操作,按照 操作 分块 我们设一个闸值$S$,把$S$个边权修改操作分成一块,把所有的边分成两类,一类是在这个块内被修改过的边,一类是没有被修改过的边 我们把没有被修改过的边按照边权离线,同
阅读全文
摘要:"题目" 显然一个熟练的选手应该能一眼看出我们需要维护点对的答案 显然在断开或连上某一条边的时候只会对左右两边联通的点产生贡献,这个拿$set$维护一下就好了 那现在的问题就是怎么维护了 考虑一个非常$sb$的问题,我们只想知道一个点对$(x,y)$从开始到某个时间$t$有多少个时间是联通的 如果$
阅读全文
摘要:"题目" 考虑推柿子 最开始的想法是如果两个$t$在$mod\ B$意义下相等,那么只需要比较一下$(t+\left \lfloor \frac{t}{B}\rfloor \right)mod\ A$就好了 显然$t=t\% B+B\times \lfloor \frac{t}{B} \rfloor
阅读全文
摘要:"题目" 考虑对于每一个$a_i$计算有多少个$0 define LL long long define re register const int maxn = 1e6 + 5; LL T, ans, p[maxn]; std::vector s[maxn], v[maxn]; int len,
阅读全文
摘要:"题目" 好一道语文题 首先你得先排序一下,就是高度为第一关键字从大到小,权值为第而关键字从小到大 第一问看上去非常简单,我们考虑每次把一座山插入到已有的排列中去,这样我们能用乘法原理合并答案,如果没有高度相同的,每个山的贡献就是$min(a[i],v,i)$,如果有高度相同的,我们就一次处理完所有
阅读全文
摘要:"题目" van了,不会反演了,之后复习了一下午反演终于会做了 这个东西一看就很神的样子 $$\sum_{i=1}^n\sum_{j=i+1}^n[{(i+j)}|i\times j]$$ 先分析一下,这个${(i+j)}|i\times j$有什么含义吧 首先这是一道数学题,那么就极有可能需要往$
阅读全文
摘要:"题目" 好题好题 这个分母一直在变,看上去完全不知道怎么去算 考虑容斥一波,设$g_i$表示至少有$i$死在$1$之后的概率,那么答案就是$\sum_{i=0}^n( 1)^ig_i$ 考虑一下$g_i$怎么算,发现又不会算了 考虑一个问题,就是现在有两个人$i,j$,其中$i$比$j$先死的概率
阅读全文
摘要:"题目" 众所周知,除数个数函数$\sigma_0=I^2$,$I$就是狄利克雷卷积里的$1$函数 于是熟悉狄利克雷卷积的话很快就能看出我们要求的就是$I\times I^{k}$,即$I^{k+1}$,我们给这个函数起一个名字叫$f^{k+1}$ 显然这个东西是积性函数,于是我们考虑一下指数次幂的
阅读全文
摘要:"题目" 也不是很知道为什么这道题要和某$B$姓算法扯上关系 首先有一个非常显然基于那个$B$姓算法的做法,每次启发式合并$trie$即可,复杂度是$O(n\ logn\ loga_i)$ 这个做法太无脑了,考虑一个高端的做法,只需要$kruskal$的思想就够了 我们还是先建出一棵$trie$,我
阅读全文
摘要:题目 这个题的输入首先就是一棵树,我们考虑一下点分 我们对于每一个分治重心考虑一下跨过这个分治重心的连边情况 就是把当前分治区域内所有的点向距离分治重心最近的点连边 考虑一下这个算法的正确性,如果我们已经对一个联通块内部形成了一个\(mst\),我们需要把这个联通块和另外一个联通块合并 如果这个新的
阅读全文
摘要:"题目" 只会$O(2^nn^2)$的暴力子集卷积啊 首先第一反应是算贡献,我们先求出每一个子集的子集和$sum_i$,之后考虑$i$这个子集在多少种排列中成为了最大前缀和 由于一个排列的最大前缀和可能有好几个,于是我们强行规定最大前缀和为最大且出现位置最靠前的前缀和 如果我们能求出一个$dp_i$
阅读全文
摘要:"题目" 显然不小于$n$这个东西我们不是很好搞,考虑正难则反,求出有多少条路径小于$n$,之后拿$C_{n+m}^m$一减就好了 于是状态为$dp[i][j][k]$表示到$(i,j)$这个格子累计乘积为$k$的路径数,转移显然 但是一看就是过不了的级别 于是我们不存到现在的乘积是多少了,我们改成
阅读全文
摘要:"题目" 组合数大模拟,没什么好说的,注意一下$0$的特判 还有我现在码力真的差 代码 cpp include include include include define re register const int maxn=100005; const int mod=998244353; inl
阅读全文
摘要:存板子,这玩意死难写好像也没啥用啊 不想学CH定理了,等以后学了再来补一下原理吧 cpp include include include define re register inline int read() { char c=getchar();int x=0,r=1;while(c'9') {
阅读全文