上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 38 下一页
摘要: 令d[i]为第i个样本数据,cnt为样本个数,经过化简可得\[ans=\frac{\sum(d[i]^2)}{cnt}-(\frac{\sum d[i]}{cnt})^2\]枚举每一种可能的三核苷酸,得到它出现的各个位置,假设当前出现了tot个,第i个的编号为a[i],经过化简可得\[cnt+=C_... 阅读全文
posted @ 2015-09-17 23:02 Claris 阅读(334) 评论(0) 推荐(0)
摘要: 取一棵生成森林,根据题目限制可得,与一个点相连的多余的边数是$O(\sqrt{m})$级别的。对于树边,每个点维护3棵权值线段树,依次保存它的儿子里各个集合的边。再开3*3个分块数组,记录多余边以及树边每种权值的出现次数,修改时暴力修改多余边,时间复杂度$O(q\sqrt{m})$。#include... 阅读全文
posted @ 2015-09-17 00:05 Claris 阅读(304) 评论(0) 推荐(0)
摘要: 假设字符串是从第0位开始的,那么对于两个长度都为n的字符串A,B,定义距离函数\[dis(A,B)=\sum_{i=0}^{n-1}(A[i]-B[i])^2[A[i]!='*'][B[i]!='*']\]若把*号都设置为0,那么有\[dis(A,B)=\sum_{i=0}^{n-1}(A[i]-B... 阅读全文
posted @ 2015-09-16 21:00 Claris 阅读(1933) 评论(0) 推荐(1)
摘要: 首先对于每个位置,求出它开始长度为y的横行的hash值,然后对于hash值再求一次竖列的hash值,排序后求出众数即可。时间复杂度$O(n^2\log n)$。#include#include#define N 1010typedef unsigned long long ll;const ll D... 阅读全文
posted @ 2015-09-15 20:52 Claris 阅读(275) 评论(0) 推荐(0)
摘要: 设$s[i]$为进行$i$次加密后所有奶牛数字的和,有$s[i]=(n-1)s[i-1]$。设$c[i]$为某头固定的奶牛进行$i$次加密后的数字,若$i$为奇数,有:\[c[i]=((1-n)^0+(1-n)^1+...+(1-n)^{T-1})s-c[0]=\frac{(1-(1-n)^T)s}... 阅读全文
posted @ 2015-09-14 00:46 Claris 阅读(296) 评论(0) 推荐(0)
摘要: 因为两棵树中间只有k条边,所以这些边一定要用到。对于每棵树分别考虑:如果一个点往下连着两个点,那么这个点往上的那条边一定不能用到。如果一个点往下连着一个点,那么这个点往上的那条边一定不能用到。否则一定无解。这样求出所有一定要用到的边后,如果不存在奇点且这个图是个连通图的话,那么就有解。时间复杂度$O... 阅读全文
posted @ 2015-09-13 19:15 Claris 阅读(237) 评论(0) 推荐(0)
摘要: 考虑计算LCS的DP过程,设f[i][j]表示T串的前i项与S串的前j项的LCS,则若T[i]==S[j],则f[i][j]=f[i-1][j-1]+1否则f[i][j]=max(f[i-1][j],f[i][j-1])对于固定的i,f[i][j]只可能为f[i][j-1]或f[i][j-1]+1,... 阅读全文
posted @ 2015-09-10 22:45 Claris 阅读(831) 评论(0) 推荐(0)
摘要: 对于一条路径x-y:·若x与y成祖先-孩子关系,假设y是x的祖先,z是y到x方向的第一个节点,则包含它的路径满足:起点在x的子树里,且终点不在z的子树里。·若x与y不成祖先-孩子关系,则包含它的路径满足:起点在x的子树里,且终点在y的子树里。于是每个盘子可以拆成一个或两个矩形,每个水果可以当成两个点... 阅读全文
posted @ 2015-09-08 20:03 Claris 阅读(903) 评论(0) 推荐(0)
摘要: 一个点的感染时间为它到根路径上虚边数+1。用Link-Cut Tree模拟虚实边切换,每次切换时等价于在一段或两段DFS序区间更新,线段树维护即可。时间复杂度$O(n\log^2n)$。#includetypedef long long ll;const int N=100010,M=262145;... 阅读全文
posted @ 2015-09-08 16:15 Claris 阅读(659) 评论(0) 推荐(0)
摘要: 用后缀树统计出出现了x次的本质不同的子串的个数,最后再乘以x,得到一个多项式。这个多项式常数项为0,但是一次项不为0。于是把整个多项式除以一次项,通过多项式求ln和多项式求exp求出它的幂。最后再把除掉的项乘回来即可,时间复杂度$O(n\log n)$。#include#includetypedef... 阅读全文
posted @ 2015-09-08 10:39 Claris 阅读(456) 评论(0) 推荐(0)
摘要: 对于一条边x->y,若去掉之后x不能到达y,那么它是必需的。首先拓扑排序求出拓扑序,然后按照终点拓扑序为第一关键字,起点拓扑序为第二关键字从小到大加边。对于每个点,维护一个bitset,表示当前从哪些点可以到达自己。时间复杂度$O(\frac{nm}{32})$。#include#include#i... 阅读全文
posted @ 2015-09-07 23:28 Claris 阅读(636) 评论(0) 推荐(0)
摘要: 树链剖分+线段树。线段树每个区间[l,r]维护:m:最大的负数s:所有数字绝对值的和d:正数的个数-负数的个数t:懒惰标记区间修改时,若最大的负数=0,则暴力递归,否则打标记。因为每个负数只会被暴力修改一次,所以时间复杂度为$O(n\log^2n)$。#include#define N 100010... 阅读全文
posted @ 2015-09-05 00:49 Claris 阅读(399) 评论(1) 推荐(0)
摘要: 树上带修改莫队算法,对于维护mex值,可以使用修改$O(1)$,查询$O(\sqrt{n})$的权值分块,总时间复杂度为$O(n^\frac{5}{3})$。#include#include#define N 50010#define K 15using namespace std;inline v... 阅读全文
posted @ 2015-09-05 00:04 Claris 阅读(566) 评论(0) 推荐(0)
摘要: 可以修建的缆车总数不超过n,于是可以先通过$O(n^2)$的枚举求出所有可以修建的缆车。对于一个缆车,若它仅连接i和i+1,那么它不受k的限制,把这种缆车额外取出,从大到小排序。剩下的缆车两两之间要么是包含关系,要么没有任何交集,按照包含关系可以建出一棵树。设f[i][j][k]表示以i为根的子树中... 阅读全文
posted @ 2015-09-04 12:48 Claris 阅读(358) 评论(0) 推荐(0)
摘要: 答案=回文子序列数目-回文子串数目。回文子串数目可以通过Manacher在$O(n)$时间内求出。对于求回文子序列的数目,设f[i]为以i为对称中心的字符对数,则它对答案的贡献为$2^{f[i]}-1$。对于两个数$1\leq i\leq j\leq n$,若a[i]==a[j],那么它们对f[i+... 阅读全文
posted @ 2015-09-03 19:31 Claris 阅读(370) 评论(0) 推荐(0)
摘要: 首先旋转坐标系,把每个点可以接收的范围转化成一个正方形。然后建立k-d tree,并记录下每个点在k-d tree上的位置。对询问使用莫队算法,修改$O(\log n)$,查询期望$O(\log n)$。总复杂度$O(n\sqrt{n}\log n)$。#include#include#includ... 阅读全文
posted @ 2015-09-03 15:59 Claris 阅读(325) 评论(0) 推荐(0)
摘要: 设一种方案里三角形上三个点的坐标分别为$(0,0),(-a,b),(c,d)$,则得到的平行四边形的面积为$ac+bd$。设$d(n)$为$n$的约数个数,$D$为$d$的生成函数,则答案的生成函数$=D^2$。先用线性筛$O(n)$求出$d$,再用FFT在$O(n\log n)$的时间内预处理出所... 阅读全文
posted @ 2015-09-03 00:47 Claris 阅读(610) 评论(0) 推荐(0)
摘要: 对于一个点,要求出它到所有点的带权距离和,只需记录下树分治的结构然后查询即可。修改$O(\log n)$,查询$O(\log n)$。到所有点带权距离和最小的点显然是这棵树的带权重心。以1号点为根,考虑一条从父亲x到孩子y的边:若y子树内权值和>=总权值和-y子树内权值和,即2*y子树内权值和>=总... 阅读全文
posted @ 2015-09-03 00:03 Claris 阅读(1489) 评论(0) 推荐(1)
摘要: 显然资源集合处就是树的重心,这题需要动态维护树的重心。每个连通块以重心为根,用link-cut tree维护每个点的子树大小以及子树内所有点到它的距离和。合并两个连通块时,考虑启发式合并,暴力往大的树中添加叶子。添加叶子时,需要将叶子到重心路径上所有点的子树大小+1,距离和则加上一个等差数列。并且新... 阅读全文
posted @ 2015-09-01 20:33 Claris 阅读(514) 评论(0) 推荐(0)
摘要: 设$d=\gcd(a,b),a=xd,b=yd$,则$a+b|ab$等价于$x+y|xyd$。因为$x,y$互质,所以$x+y|d$。假设$xtypedef long long ll;const int N=46500,M=505030;int n,m,lim,i,j,d,l,r,vis[N],to... 阅读全文
posted @ 2015-08-31 12:07 Claris 阅读(361) 评论(0) 推荐(0)
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 38 下一页