随笔分类 -  OI

摘要:看了一眼就开始想分快树套树莫队了吧?233333333但是这道题有一个奇怪的条件!颜色不超过30种!是不是一个状压就完了?23333333333333333333#include#define ls x>1)int s[400040],t[400010],n,m,c;... 阅读全文
posted @ 2017-10-07 21:55 扩展的灰(Extended_Ash) 阅读(156) 评论(0) 推荐(0)
摘要:有两种字符串S,T。长度分别为n,m。现在需要在S里面有序地选出k个子串,且在T中出现的顺序与这k个子串的顺序相同。问这k个子串最大长度之和,n,m#include#includeusing namespace std;int n,m,K,f[1010][1010][... 阅读全文
posted @ 2017-10-07 21:32 扩展的灰(Extended_Ash) 阅读(142) 评论(0) 推荐(0)
摘要:有两种字符串S,T。长度分别为n,m。现在需要在S里面有序地选出k个子串,且在T中出现的顺序与这k个子串的顺序相同。问这k个子串最大长度之和,n,m#include#includeusing namespace std;int n,m,K,f[1010][1010][... 阅读全文
posted @ 2017-10-07 21:32 扩展的灰(Extended_Ash) 阅读(165) 评论(0) 推荐(0)
摘要:(EMPTY) 阅读全文
posted @ 2017-10-07 21:28 扩展的灰(Extended_Ash) 阅读(86) 评论(0) 推荐(0)
摘要:(EMPTY) 阅读全文
posted @ 2017-10-07 21:28 扩展的灰(Extended_Ash) 阅读(118) 评论(0) 推荐(0)
摘要:此题非常新颖,有一个专门的算法,所以如果没有了解过,那么就只能写暴力卡了这道题后面的几步都很简单,一个扩展gcd求逆元,一个快速幂,所以关键就是求r,而这需要对N=pq进行分解本来这个问题在是一个NP问题,不存在多项式算法(这里的多项式指的是lgN形式的式子,因为N通... 阅读全文
posted @ 2017-10-06 21:41 扩展的灰(Extended_Ash) 阅读(215) 评论(0) 推荐(0)
摘要:此题非常新颖,有一个专门的算法,所以如果没有了解过,那么就只能写暴力卡了这道题后面的几步都很简单,一个扩展gcd求逆元,一个快速幂,所以关键就是求r,而这需要对N=pq进行分解本来这个问题在是一个NP问题,不存在多项式算法(这里的多项式指的是lgN形式的式子,因为N通... 阅读全文
posted @ 2017-10-06 21:41 扩展的灰(Extended_Ash) 阅读(132) 评论(0) 推荐(0)
摘要:这道题在梦里就能切了,显然每一位都可以拆开,那么一次操作相当于将一个1左移或者右移,那么全部都移到一侧肯定最佳#include#define UL long longint n,v[32]={0},c[32];UL t=0;int main(){ scanf("%d"... 阅读全文
posted @ 2017-10-06 21:31 扩展的灰(Extended_Ash) 阅读(118) 评论(0) 推荐(0)
摘要:这道题在梦里就能切了,显然每一位都可以拆开,那么一次操作相当于将一个1左移或者右移,那么全部都移到一侧肯定最佳#include#define UL long longint n,v[32]={0},c[32];UL t=0;int main(){ scanf("%d"... 阅读全文
posted @ 2017-10-06 21:31 扩展的灰(Extended_Ash) 阅读(93) 评论(0) 推荐(0)
摘要:我倒是觉得上面那一问难一点呢。。。。下面一个SAM就没掉了,上面还要加上倍增和马拉车size为right集合大小,mx为最大长度,跑出parent树,OK搞定#include#include#include#define N 2000010using namespac... 阅读全文
posted @ 2017-10-06 20:41 扩展的灰(Extended_Ash) 阅读(108) 评论(0) 推荐(0)
摘要:我倒是觉得上面那一问难一点呢。。。。下面一个SAM就没掉了,上面还要加上倍增和马拉车size为right集合大小,mx为最大长度,跑出parent树,OK搞定#include#include#include#define N 2000010using namespac... 阅读全文
posted @ 2017-10-06 20:41 扩展的灰(Extended_Ash) 阅读(106) 评论(0) 推荐(0)
摘要:不要被标题迷惑了,这是个图论题目。我们发现,若Ai,j=1那么显然Xi,j=1,所以y[i]!=y[j]这时候就变成了一个类似二分图的图,若Ai,j=1我们将节点i,j连一条边表示i和j不能相等我们先对每个节点i拆点成i和i+n,跑一次2sat,若i和i+n可以互达,... 阅读全文
posted @ 2017-10-06 19:54 扩展的灰(Extended_Ash) 阅读(184) 评论(0) 推荐(0)
摘要:不要被标题迷惑了,这是个图论题目。我们发现,若Ai,j=1那么显然Xi,j=1,所以y[i]!=y[j]这时候就变成了一个类似二分图的图,若Ai,j=1我们将节点i,j连一条边表示i和j不能相等我们先对每个节点i拆点成i和i+n,跑一次2sat,若i和i+n可以互达,... 阅读全文
posted @ 2017-10-06 19:54 扩展的灰(Extended_Ash) 阅读(181) 评论(0) 推荐(0)
摘要:显然,如果令w[i]=s[i]-k,那么显然s[i]|w[j]就是s[j]%s[i]=k的必要条件,那么我们倒序枚举每个开头l,枚举w[l]的每个因数看看他在s[l+1]~s[n]中有没有出现,求出一个位置最靠近l的r,那么贡献就是r-l#include#includ... 阅读全文
posted @ 2017-10-06 07:47 扩展的灰(Extended_Ash) 阅读(76) 评论(0) 推荐(0)
摘要:显然,如果令w[i]=s[i]-k,那么显然s[i]|w[j]就是s[j]%s[i]=k的必要条件,那么我们倒序枚举每个开头l,枚举w[l]的每个因数看看他在s[l+1]~s[n]中有没有出现,求出一个位置最靠近l的r,那么贡献就是r-l#include#includ... 阅读全文
posted @ 2017-10-06 07:47 扩展的灰(Extended_Ash) 阅读(83) 评论(0) 推荐(0)
摘要:先从终点跑一次dijk得到哪几个点是可以连接到终点,让后再跑一次dijk注意不能经过没被标记的点即可#include#include#include#includeusing namespace std;struct node{ int v,id; };inline ... 阅读全文
posted @ 2017-10-05 21:07 扩展的灰(Extended_Ash) 阅读(103) 评论(0) 推荐(0)
摘要:先从终点跑一次dijk得到哪几个点是可以连接到终点,让后再跑一次dijk注意不能经过没被标记的点即可#include#include#include#includeusing namespace std;struct node{ int v,id; };inline ... 阅读全文
posted @ 2017-10-05 21:07 扩展的灰(Extended_Ash) 阅读(100) 评论(0) 推荐(0)
摘要:题意略过,口胡正解对于每个节点i,我们求出每个与i相连的节点的权值和s,那么i的贡献就是∑d[j]*(s-d[j])求最大就排个序咯#include#include#include#define M 10007using namespace std;int n,d[2... 阅读全文
posted @ 2017-10-05 20:54 扩展的灰(Extended_Ash) 阅读(116) 评论(0) 推荐(0)
摘要:题意略过,口胡正解对于每个节点i,我们求出每个与i相连的节点的权值和s,那么i的贡献就是∑d[j]*(s-d[j])求最大就排个序咯#include#include#include#define M 10007using namespace std;int n,d[2... 阅读全文
posted @ 2017-10-05 20:54 扩展的灰(Extended_Ash) 阅读(118) 评论(0) 推荐(0)
摘要:有问题,找副连,无聊的时候当然也可以找他啦。小W找到了他的叔叔——东厂厂长——宇宙超级无敌老WS yy。他们叔侄两个商量之后决定用弹弓打破社区里的一些窗户,但是弹弓每秒只能彻底打破一扇窗户。而且如果某户窗户的主人回来了的话,他们就不能进行破坏了(不然会死得很惨的)。因... 阅读全文
posted @ 2017-10-04 11:40 扩展的灰(Extended_Ash) 阅读(90) 评论(0) 推荐(0)