分类: 未分类

544 篇文章

P6524 「Wdoi-1」托卡马克
Jisoo 这个题目怎么搞:胡搞。 首先运用初中数学知识,把贡献算出来,得到的是 $\sum_{i-1}^{\frac{m}{2}}(m-2 \times (i-1)-1)\times (a_{n-i+1 -} a_i)$ 系数是个正在递减的等差数列,并且保证m为偶数。 贪,开始贪,尽可能地选两边的开始伸展,向里面收缩. 这样就处理掉了当k等于1的…
P3121 [USACO15FEB]Censoring G
Jisoo 不知道该怎么做? 匹配,开个栈并记录。删掉一个单词以后就从上一个单词的位置继续匹配。 为什么匹配过程不跳 fail?因为题目保证没有单词是另外一个单词的字串。 #include<cstdio> #include<iostream> #include<cstring> #include<ioman…
P1659 [国家集训队]拉拉队排练
Jisoo manacher算法有个性质 就是求出来的$p_i$是以i为中心的回文串长度+1 所以manacher求出p,差分一下就行了。 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include&…
CF1204C Anna, Svyatoslav and Maps
Jisoo 什么时候两个点中间夹得那个点不会被走?当他不在最短路上的时候。 按照这个思想进行检查就行了。 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #inc…
P2155 [SDOI2008] 沙拉公主的困惑
Jisoo 大家都知道怎样单独求某一个东西的欧拉函数值$Psi(m)=m*prod_{prime_i|m}(frac{prime-1}{prime})$ 其中右边的东西是用容斥定理搞出来的。那么我们是否也能够用容斥定理处理这个问题? 显然那个$m$是需要约去的,并且我们可以快速求出$psi(m!)$那么显然答案就会是 $frac{n!}{m!}*p…
P4626 一道水题 II
Jisoo 大家都知道,对于两个数 $a,b$的$lcm$,只要求去每个质数因数的较大的幂乘起来就行了。然后卡卡时 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath>…
4577 [FJOI2018]领导集团问题
Jisoo 我们来想一下序列上的$O(nlog_n)$是怎么实现的 每次二分,把当前节点插进去替换,来让答案尽可能的更优。 换到树上呢?对于以$u$作为根节点的子树,我们可以发现去掉$U$其实都无所谓了,子树之间没有相互的影响,那就开个集合全扔进去就行了 然后放进u,并且按照类似于序列情况的方法进行删除操作。 左后要注意的是如果u是当前序列最小的,…
P3224 [HNOI2012]永无乡(合并线段树)
Jisoo 这是一种叫线段树合并的东西。 为了简化,我们需要动态开点。 并且一开始为每一个节点建一个线段树,当然是动态开点的 然后合并就行了,相同的线段树节点加起来,只有一个有的就返回另一个 记一个根,并且并查集一下。 #include<cstdio> #include<iostream> #include<cstri…
CF1060E Sergey and Subway
Jisoo 通常来讲这种题可以按照边来考虑 当然也可以按照点对。 对于任意一个点对,在新图上的距离是在原图上的一半上取整,这样,我们可以先把原来的距离都求出来,奇数点和偶数点求出来并且化简一波式子。 #include<cstdio> #include<iostream> #include<cstring> #in…
CF476D Dreamoon and Sets
Jisoo 观察样例,知道肯定和六有关系 并且$gcd(a,b)=gcd(b,a-b)$ 就可以构造了 #include<cstdio> #include<iostream> #include<cstring> #include<iomanip> #include<cmath> #incl…