随笔分类 - 网站->LOJ
摘要:题解 怎么NOI2015D1……全是一眼秒的sb题……然后我代码全都写跪一遍= = 要是NOI2015是IOI赛制我就可以AK啦(大雾) 代码能力直线下降,NOI2018滚粗预定了啊TAT 我是不是要去开码农题啊QAQ 我们发现大于$\sqrt{N}$的素数只会在每个数里出现至多1个,而小于$\sq
        阅读全文
                
摘要:题解 连树剖我都写跪一次,我现在怎么那么老年啊= = 简直滚粗预定了啊。。 我们线段树维护树剖只需要资瓷区间覆盖和区间求和就好了 安装的时候看看自己到根有多少包装了,dep减去这个数量就好 卸载的时候看看子树里有多少包安装了就行 代码 cpp include // define ivorysi de
        阅读全文
                
摘要:题解 开始是想两个并查集的 和A相等,和A不相等 如果AB相等就连 A 相等,B相等 B不相等 A不相等 如果AB不相等就连 A不相等,B相等 B相等,A不相等 但是显然不对,因为和A不相等的不一定和B相等 所以我就gg了,后来发现只要把所有相等的先连上然后看看不相等的有没有在同一集合就行 老年选手
        阅读全文
                
摘要:题解 一写过一交A的一道数据结构水题 我们发现大于C可以转化为这条路径上有多少个在某天之前开始调查的情报员,离线全部读入,变成树上路径查询某个区间的数出现过多少次,构建一棵根缀的主席树,查询的时候用两边的主席树减掉lca的主席树,然后判断一下lca是否合法 代码 cpp include // def
        阅读全文
                
摘要:题解 断环为链,把链复制两份 用set维护一下全是0的区间,然后查找x + n / 2附近的区间,附近各一个过不去,最后弃疗了改为查附近的两个,然后过掉了= = 熟练掌握stl的应用,你值得拥有(雾 代码 cpp include // define ivorysi define enter putc
        阅读全文
                
摘要:题解 神仙dp啊QAQ 我们发现我们需要枚举一个起点,遍历完它所有的儿子然后向上爬 设$f[i][j]$表示第i个点的子树全部处理完之后到达i深度为j的祖先的兄弟处 我们只需要对叶子节点和只有一个儿子的点特殊讨论,因为所有的向上爬都是从叶子爬的 转移的时候只要枚举从两个儿子里哪个爬上取就好了 设$g
        阅读全文
                
摘要:题解 我们要求的其实是这个东西= = $\sum_{i = 1}^{n}\sum_{j = 1}^{n}[(i,j) == 1][(j,k) == 1]$ 然后变一下形 $\sum_{j = 1}^{n}[(j,k) == 1]\sum_{i = 1}^{n}[(i,j) == 1]$ $\sum_
        阅读全文
                
摘要:题解 跟随小迪学姐的步伐,学习一下数论 小迪学姐太巨了! 这道题的式子很好推嘛 $\sum_{i = 1}^{n} \sum_{j = 1}^{n} \sum_{d|\phi(i),\phi(j)} \phi(d) [gcd(\frac{\phi(i)}{d},\frac{\phi(j)}{d}) 
        阅读全文
                
摘要:题解 考虑到状态数比较复杂,其实我们需要轮廓线dp…… 我们设置$f[x][y][S][h][k]$为考虑到第(x,y)个格子,S是轮廓线上的匹配状态,是二进制,如果一位是1表示这一位匹配第一行匹配到第一行的末尾了,然后h是前一个格子匹配到第一行第h列,k是前一个格子匹配到第二行第k列,转移数组用k
        阅读全文
                
摘要:题解 我们发现第一种操作肯定不可取,每个节点里它最近的点是它最长出现过的后缀,发现这就是AC自动机的fail节点,根据fail的关系这会是一棵树,而一个单词的前一个序号最大的后缀必定是它的父亲 然后我们考虑怎么获得最小值,x是肯定要加上的,我们让每次减掉的y最小 一个错误的想法:按照儿子个数分类,建
        阅读全文
                
摘要:题解 最大异或和,明显是个线性基 然而还有那么多路径……那就树分治,反正点数看起来很少,就是为了让人乘上一个60的常数嘛 把一个树的点分树记录下来,然后看看询问的两个点彼此相同的最后一个父亲是谁,把这个询问挂在这个点上,计算就暴力搜索这棵树里每一个节点到重心的线性基就行了,最后再用60的常数把两个线
        阅读全文
                
摘要:题解 这道题教会我很多东西,虽然它是个傻逼三分 1.long double的运算常数是巨大的 2.三分之前的界要算对!一定要算准,不要想一个直接写上! 3.三分100次也就只能把精度往里推20多位,可你需要的精度是最大数值加小数位,大概是12位,而你三分的界最小也得卡到1e4和1e 4(虽然,用1e
        阅读全文
                
摘要:题解 这个题好妙啊 首先我们发现,如果我们可以暴力,就是把相同的元素拿并查集合起来,最后统计集合个数$cnt$ 答案是$9\ 10^{cnt 1}$ 然而我们做不到= = 我们可以用倍增的思想,类似st表,一次合并两个长度为$2^l$的区间 然后再从区间长度最长往下下放,从长到短遍历,就下放一层,之
        阅读全文
                
摘要:题解 做了一下SCOI2015,于是决定搬运SCOI2016= v = 如果没有加法,我们可以向左向右节点查找 每个总权值是2^18 1,然后左右分,那么每次是一个完整的节点 如果有了加法,那么我们如果希望有数满足某一位是1或者0,是一段取值的区间,我们要保证这个区间的左右端点减少x后这个区间里还有
        阅读全文
                
摘要:题解 一道想法很简单的计算几何(由于我半平面交总是写不对,我理所当然的怀疑半平面交错了,事实上是我直线建错了) 首先我们对于两个凸包上的点设为$(x_0,y_0)$和$(x_1,y_1)$(逆时针) 设这个点为(x,y)我们用叉积求一下面积 可以得到 $(x_0 x)(y_1 y) (x_1 x)(
        阅读全文
                
摘要:题解 考虑朴素的做法,断环为链,复制2M个,找到一个位置i,f(i)是这个位置之前开始的线段,结束位置最远的位置在哪 然后对于每一个人,从自己线段的起点往下跳,跳到起点+M或以后的步数就是答案 我们发现这其实是最后一个点为根构建成的一棵树,很显然的,我们答案只可能是最少的用人数量+1或最少的用人数量
        阅读全文
                
摘要:题解 又是美好的一天,我今天的小目标是LOJ刷题数名次前进两名(虽然巨佬们都是BZOJ千题啊这样的 define MAXN 50005 // define ivorysi define enter putchar('\n') define space putchar(' ') define fi f
        阅读全文
                
摘要:题解 听说是什么序列自动机? 我们考虑对于每个位置的串,下面拼接相同的字符时,拼接最近的一个,这样可以保证不重不漏 为了实现这个我们需要什么呢,我们需要一个链表,记录一下每个位置的下一个字符会转移到哪里 例如 ABAB ch[1]['A'] = 3 ch[1]['B'] = 2 听起来挺好建的,具体
        阅读全文
                
摘要:题解 蒟蒻只会$O(nAB)$的dp= = 那么先说答案 $S_{u}(n 1,a + b 2) \binom{a + b 2}{a 1}$ 其中$S_{u}(n,m)$表示无符号第一类斯特林数(求n个数排列成m个圆的方案数) 怎么样呢,除了最高的柱子,剩下的一定是 一个高的柱子,后面跟着一些小于它
        阅读全文
                
摘要:题解 这道题的结论很显然= = 就是暴力求的话,把一个区间的数排一下序,如果当前这个数大于前面所有数的前缀和+1,那么前缀和+1即我们所求的答案 那么我们设置一个当前答案(初始为1),在主席树上求出来小于这个答案的数的和是多少,设为t,如果t = ans,那么设置ans = t + 1 容易发现,在
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号