10 2017 档案

摘要:证书编号姓名性别总分学校年级备注CCF-NOIP2016-0362李奥男600中山市第一中学高二*CCF-NOIP2016-0363陈子陵男590汕头市金山中学高二*CCF-NOIP2016-0364杨家齐男585中山市中山纪念中学高三*CCF-NOIP2016-03... 阅读全文
posted @ 2017-10-31 17:32 扩展的灰(Extended_Ash) 阅读(678) 评论(0) 推荐(0) 编辑
摘要:证书编号姓名性别总分学校年级备注CCF-NOIP2016-0362李奥男600中山市第一中学高二*CCF-NOIP2016-0363陈子陵男590汕头市金山中学高二*CCF-NOIP2016-0364杨家齐男585中山市中山纪念中学高三*CCF-NOIP2016-03... 阅读全文
posted @ 2017-10-31 17:32 扩展的灰(Extended_Ash) 阅读(323) 评论(0) 推荐(0) 编辑
摘要:ZMiG成功粉碎了707的基因突变计划,为了人类的安全,他决定向707的科学实验室发起进攻!707并没有想到有人敢攻击她的实验室,一时间不知所措,决定牺牲电力来换取自己实验室的平安。 在实验室周围瞬间产生了一个无限大的力场护盾,它看上去无懈可击!不过ZMiG拥有... 阅读全文
posted @ 2017-10-31 16:29 扩展的灰(Extended_Ash) 阅读(544) 评论(0) 推荐(0) 编辑
摘要:ZMiG成功粉碎了707的基因突变计划,为了人类的安全,他决定向707的科学实验室发起进攻!707并没有想到有人敢攻击她的实验室,一时间不知所措,决定牺牲电力来换取自己实验室的平安。 在实验室周围瞬间产生了一个无限大的力场护盾,它看上去无懈可击!不过ZMiG拥有... 阅读全文
posted @ 2017-10-31 16:29 扩展的灰(Extended_Ash) 阅读(322) 评论(0) 推荐(0) 编辑
摘要:邪恶的707刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大且复杂的一个工程,707尝试了洗脑,催眠,以及武装镇压都没能成功地统治人类,于是她决定从科学上对人类的基因进行研究从而达到他的目的。 707获取了人类的基因信息并尝试... 阅读全文
posted @ 2017-10-31 08:10 扩展的灰(Extended_Ash) 阅读(369) 评论(0) 推荐(0) 编辑
摘要:邪恶的707刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大且复杂的一个工程,707尝试了洗脑,催眠,以及武装镇压都没能成功地统治人类,于是她决定从科学上对人类的基因进行研究从而达到他的目的。 707获取了人类的基因信息并尝试... 阅读全文
posted @ 2017-10-31 08:10 扩展的灰(Extended_Ash) 阅读(199) 评论(0) 推荐(0) 编辑
摘要:这个题一看就是树剖的模型但是有一些问题,比如权值的乘机太大了,可能会爆long long一种解决的方法:我们考虑到,v=10^18 我们可以直接将其变为一个特殊的值(例如-1)表示“足够大”,这种情况直接输出0若不够,我们有一个结论: [[a/b]/c] = [a/b... 阅读全文
posted @ 2017-10-30 22:06 扩展的灰(Extended_Ash) 阅读(109) 评论(0) 推荐(0) 编辑
摘要:这个题一看就是树剖的模型但是有一些问题,比如权值的乘机太大了,可能会爆long long一种解决的方法:我们考虑到,v=10^18 我们可以直接将其变为一个特殊的值(例如-1)表示“足够大”,这种情况直接输出0若不够,我们有一个结论: [[a/b]/c] = [a/b... 阅读全文
posted @ 2017-10-30 22:06 扩展的灰(Extended_Ash) 阅读(88) 评论(0) 推荐(0) 编辑
摘要:“我有个愿望,我希望穿越一切找到你。”这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y)):1、我可以走到(x+1,y)2、我可以走到(x,y+1)3、我可以走到... 阅读全文
posted @ 2017-10-30 22:00 扩展的灰(Extended_Ash) 阅读(105) 评论(0) 推荐(0) 编辑
摘要:“我有个愿望,我希望穿越一切找到你。”这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y)):1、我可以走到(x+1,y)2、我可以走到(x,y+1)3、我可以走到... 阅读全文
posted @ 2017-10-30 22:00 扩展的灰(Extended_Ash) 阅读(79) 评论(0) 推荐(0) 编辑
摘要:(I DO NOT like matrix!!!)首先我们可以暴力 O(nmq)考虑压位(bitset)可以得到60pts正解:我们发现,这些操作如果用边连接起来会形成一颗树(每个节点必然入度为1)那我们考虑用离线方法,将所有的操作连接起来,dfs遍历整颗操作树,每个... 阅读全文
posted @ 2017-10-30 21:46 扩展的灰(Extended_Ash) 阅读(89) 评论(0) 推荐(0) 编辑
摘要:(I DO NOT like matrix!!!)首先我们可以暴力 O(nmq)考虑压位(bitset)可以得到60pts正解:我们发现,这些操作如果用边连接起来会形成一颗树(每个节点必然入度为1)那我们考虑用离线方法,将所有的操作连接起来,dfs遍历整颗操作树,每个... 阅读全文
posted @ 2017-10-30 21:46 扩展的灰(Extended_Ash) 阅读(85) 评论(0) 推荐(0) 编辑
摘要:夏令营有N个人,每个人的力气为M(i)。请大家从这N个人中选出若干人,如果这些人可以分成两组且两组力气之和完全相等,则称为一个合法的选法,问有多少种合法的选法?这道题我们拷打数据范围后知道应该是折半搜索了但是似乎不是那么好做我们考虑如何搜索,显然每个人有三种状态,在队... 阅读全文
posted @ 2017-10-30 17:00 扩展的灰(Extended_Ash) 阅读(101) 评论(0) 推荐(0) 编辑
摘要:夏令营有N个人,每个人的力气为M(i)。请大家从这N个人中选出若干人,如果这些人可以分成两组且两组力气之和完全相等,则称为一个合法的选法,问有多少种合法的选法?这道题我们拷打数据范围后知道应该是折半搜索了但是似乎不是那么好做我们考虑如何搜索,显然每个人有三种状态,在队... 阅读全文
posted @ 2017-10-30 17:00 扩展的灰(Extended_Ash) 阅读(76) 评论(0) 推荐(0) 编辑
摘要:模拟就好,dfs模拟,记录深度计算#include#includechar s[32010],*S; int dijk(char*& s,int d){ int ret=(~d&1),v; for(;*s!=')';++s){ if(*s=='('){ v=dijk... 阅读全文
posted @ 2017-10-30 16:53 扩展的灰(Extended_Ash) 阅读(117) 评论(0) 推荐(0) 编辑
摘要:模拟就好,dfs模拟,记录深度计算#include#includechar s[32010],*S; int dijk(char*& s,int d){ int ret=(~d&1),v; for(;*s!=')';++s){ if(*s=='('){ v=dijk... 阅读全文
posted @ 2017-10-30 16:53 扩展的灰(Extended_Ash) 阅读(114) 评论(0) 推荐(0) 编辑
摘要:一眼就可以看出是贪心,问题就是怎么去操作首先一个很显然的思路就是,开一个小根堆,每次对于一个价格x,如果低于堆顶我们就将其丢进去,否则将堆顶y取出,获得x-y的贡献但是这样是有问题的,我们会发现有反例: 1 4 2 3 用这种方法求出的答案是1但是正确答案应该是2所以... 阅读全文
posted @ 2017-10-30 07:49 扩展的灰(Extended_Ash) 阅读(123) 评论(0) 推荐(0) 编辑
摘要:一眼就可以看出是贪心,问题就是怎么去操作首先一个很显然的思路就是,开一个小根堆,每次对于一个价格x,如果低于堆顶我们就将其丢进去,否则将堆顶y取出,获得x-y的贡献但是这样是有问题的,我们会发现有反例: 1 4 2 3 用这种方法求出的答案是1但是正确答案应该是2所以... 阅读全文
posted @ 2017-10-30 07:49 扩展的灰(Extended_Ash) 阅读(101) 评论(0) 推荐(0) 编辑
摘要:我们注意到有ai>1,所以,ai+aj为质数当且仅当两者奇偶性不同我们可以以此将这个图变成一个二分图跑匈牙利算法即可(这个题n只有40害得我想了半天状压dp和折半搜索,坑。。。)#pragma GCC optimize("O3")#pragma G++ optimiz... 阅读全文
posted @ 2017-10-29 19:04 扩展的灰(Extended_Ash) 阅读(140) 评论(0) 推荐(0) 编辑
摘要:我们注意到有ai>1,所以,ai+aj为质数当且仅当两者奇偶性不同我们可以以此将这个图变成一个二分图跑匈牙利算法即可(这个题n只有40害得我想了半天状压dp和折半搜索,坑。。。)#pragma GCC optimize("O3")#pragma G++ optimiz... 阅读全文
posted @ 2017-10-29 19:04 扩展的灰(Extended_Ash) 阅读(90) 评论(0) 推荐(0) 编辑
摘要:首先题目有一个条件就是所有的实数解都在[1,20]之间且都是整数所以就枚举一下就好了,问题就是要输出重根,以及重根的次数一个根x是方程f(x)=0的k重重根的充分必要条件就是对于f的0~k-1导数f'都有f'(x)=0,那么我们将这个多项式所有的导函数都求出来枚举一下... 阅读全文
posted @ 2017-10-29 18:59 扩展的灰(Extended_Ash) 阅读(188) 评论(0) 推荐(0) 编辑
摘要:首先题目有一个条件就是所有的实数解都在[1,20]之间且都是整数所以就枚举一下就好了,问题就是要输出重根,以及重根的次数一个根x是方程f(x)=0的k重重根的充分必要条件就是对于f的0~k-1导数f'都有f'(x)=0,那么我们将这个多项式所有的导函数都求出来枚举一下... 阅读全文
posted @ 2017-10-29 18:59 扩展的灰(Extended_Ash) 阅读(100) 评论(0) 推荐(0) 编辑
摘要:这个题废话真多题面好长首先看懂题意大概就做完了,完全就是模拟嘛#include#include#includeusing namespace std;int l[100]={0},w[100]={0},r[100]={0};char s[100... 阅读全文
posted @ 2017-10-29 10:23 扩展的灰(Extended_Ash) 阅读(84) 评论(0) 推荐(0) 编辑
摘要:这个题废话真多题面好长首先看懂题意大概就做完了,完全就是模拟嘛#include#include#includeusing namespace std;int l[100]={0},w[100]={0},r[100]={0};char s[100... 阅读全文
posted @ 2017-10-29 10:23 扩展的灰(Extended_Ash) 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题意:给定M个二元组(A_i, B_i),求X_1, ..., X_N满足:对于任意(A_i, B_i),有|X_{A_i} - X_{B_i}| = 1成立。我们发现,如果有解,那么一定存在一组解只有0,1构成证明:对于一个可行的解X,显然解集Y(Yi=Xi%2)也... 阅读全文
posted @ 2017-10-27 21:37 扩展的灰(Extended_Ash) 阅读(93) 评论(0) 推荐(0) 编辑
摘要:题意:给定M个二元组(A_i, B_i),求X_1, ..., X_N满足:对于任意(A_i, B_i),有|X_{A_i} - X_{B_i}| = 1成立。我们发现,如果有解,那么一定存在一组解只有0,1构成证明:对于一个可行的解X,显然解集Y(Yi=Xi%2)也... 阅读全文
posted @ 2017-10-27 21:37 扩展的灰(Extended_Ash) 阅读(95) 评论(0) 推荐(0) 编辑
摘要:给你一个1~n的排列A,询问一些区间内有多少对x,y使得A[x]|A[y]我们考虑将所有的询问按照r排序,让后分成两部分计算:1.A[i]|A[j] 且i>j2.A[i]|A[j] 且i#include#include#define N 200020using nam... 阅读全文
posted @ 2017-10-26 21:14 扩展的灰(Extended_Ash) 阅读(126) 评论(0) 推荐(0) 编辑
摘要:给你一个1~n的排列A,询问一些区间内有多少对x,y使得A[x]|A[y]我们考虑将所有的询问按照r排序,让后分成两部分计算:1.A[i]|A[j] 且i>j2.A[i]|A[j] 且i#include#include#define N 200020using nam... 阅读全文
posted @ 2017-10-26 21:14 扩展的灰(Extended_Ash) 阅读(114) 评论(0) 推荐(0) 编辑
摘要:在麦克雷的面前出现了一个有n*m个格子的矩阵,每个格子用“.”或“#”表示,“.”表示这个格子可以放东西,“#”则表示这个格子不能放东西。现在他拿着一条1*2大小的木棒,好奇的他想知道对于一些子矩阵,有多少种放木棒的方案。(不是填满)我们考虑用前缀和的方式求出答案,这... 阅读全文
posted @ 2017-10-26 20:49 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0) 编辑
摘要:在麦克雷的面前出现了一个有n*m个格子的矩阵,每个格子用“.”或“#”表示,“.”表示这个格子可以放东西,“#”则表示这个格子不能放东西。现在他拿着一条1*2大小的木棒,好奇的他想知道对于一些子矩阵,有多少种放木棒的方案。(不是填满)我们考虑用前缀和的方式求出答案,这... 阅读全文
posted @ 2017-10-26 20:49 扩展的灰(Extended_Ash) 阅读(140) 评论(0) 推荐(0) 编辑
摘要:在麦克雷的面前有N个数,以及一个R*C的矩阵。现在他的任务是从N个数中取出R*C个,并填入这个矩阵中。矩阵每一行的法值为本行最大值与最小值的差,而整个矩阵的法值为每一行的法值的最大值。现在,麦克雷想知道矩阵的最小法值是多少采用二分+贪心策略我们将r*c个数排序,显然,... 阅读全文
posted @ 2017-10-26 20:42 扩展的灰(Extended_Ash) 阅读(106) 评论(0) 推荐(0) 编辑
摘要:在麦克雷的面前有N个数,以及一个R*C的矩阵。现在他的任务是从N个数中取出R*C个,并填入这个矩阵中。矩阵每一行的法值为本行最大值与最小值的差,而整个矩阵的法值为每一行的法值的最大值。现在,麦克雷想知道矩阵的最小法值是多少采用二分+贪心策略我们将r*c个数排序,显然,... 阅读全文
posted @ 2017-10-26 20:42 扩展的灰(Extended_Ash) 阅读(129) 评论(0) 推荐(0) 编辑
摘要:模型显然就是最短路模型,我们考虑怎么计算距离首先,我们不能从起点开始跑最短路,鉴于此题是无向图,我们可以令dist[T]=p(即终点的距离为目标货运数量)这样就可以从终点开始跑最短路,dist[i]表示从i运送p个钥匙所需要的最小数量现在我们考虑如何计算Dis(u,v... 阅读全文
posted @ 2017-10-26 20:15 扩展的灰(Extended_Ash) 阅读(129) 评论(0) 推荐(0) 编辑
摘要:模型显然就是最短路模型,我们考虑怎么计算距离首先,我们不能从起点开始跑最短路,鉴于此题是无向图,我们可以令dist[T]=p(即终点的距离为目标货运数量)这样就可以从终点开始跑最短路,dist[i]表示从i运送p个钥匙所需要的最小数量现在我们考虑如何计算Dis(u,v... 阅读全文
posted @ 2017-10-26 20:15 扩展的灰(Extended_Ash) 阅读(90) 评论(0) 推荐(0) 编辑
摘要:题意:给你a,b两个序列,每次可以在区间[l,r]对每个数加一,求最少的步数使a变成b注意,整个过程都是在mod 4的意义下的,a,b所有元素的值都在[0,3]之间我们可以先考虑不存在Mod 4 的情况我们假设di=max(0,bi-ai)那么显然,对于一个位置i,我... 阅读全文
posted @ 2017-10-26 19:54 扩展的灰(Extended_Ash) 阅读(119) 评论(0) 推荐(0) 编辑
摘要:题意:给你a,b两个序列,每次可以在区间[l,r]对每个数加一,求最少的步数使a变成b注意,整个过程都是在mod 4的意义下的,a,b所有元素的值都在[0,3]之间我们可以先考虑不存在Mod 4 的情况我们假设di=max(0,bi-ai)那么显然,对于一个位置i,我... 阅读全文
posted @ 2017-10-26 19:54 扩展的灰(Extended_Ash) 阅读(140) 评论(0) 推荐(0) 编辑
摘要:更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f... 阅读全文
posted @ 2017-10-25 22:06 扩展的灰(Extended_Ash) 阅读(146) 评论(0) 推荐(0) 编辑
摘要:更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f... 阅读全文
posted @ 2017-10-25 22:06 扩展的灰(Extended_Ash) 阅读(207) 评论(0) 推荐(0) 编辑
摘要:题意:用1x2的骨牌填满4xN的格子的方案数设f[i][j]表示填到第i行,这一行的状态为j的方案数f[i][j]=Σf[i-1][k],其中k->j是一个合法转移合法转移要满足两个条件:1.若k的第x位为0,那么j的第x位一定要为1 (~k|j==j)2.k,j都为... 阅读全文
posted @ 2017-10-25 21:08 扩展的灰(Extended_Ash) 阅读(125) 评论(0) 推荐(0) 编辑
摘要:题意:用1x2的骨牌填满4xN的格子的方案数设f[i][j]表示填到第i行,这一行的状态为j的方案数f[i][j]=Σf[i-1][k],其中k->j是一个合法转移合法转移要满足两个条件:1.若k的第x位为0,那么j的第x位一定要为1 (~k|j==j)2.k,j都为... 阅读全文
posted @ 2017-10-25 21:08 扩展的灰(Extended_Ash) 阅读(115) 评论(0) 推荐(0) 编辑
摘要:这个题意很简单,就是问你连一条边会增加多少双联通点对按照一般的方法,先用Tarjan缩点化为一颗树,每次连起来就在树上找路径统计答案答案的统计方法,设树上节点i(原图的一个双联通块)的大小为v[i]那么一条路径[x,y]的端点被连接起来,贡献应该是(Σv[i])^2-... 阅读全文
posted @ 2017-10-25 19:01 扩展的灰(Extended_Ash) 阅读(113) 评论(0) 推荐(0) 编辑
摘要:这个题意很简单,就是问你连一条边会增加多少双联通点对按照一般的方法,先用Tarjan缩点化为一颗树,每次连起来就在树上找路径统计答案答案的统计方法,设树上节点i(原图的一个双联通块)的大小为v[i]那么一条路径[x,y]的端点被连接起来,贡献应该是(Σv[i])^2-... 阅读全文
posted @ 2017-10-25 19:01 扩展的灰(Extended_Ash) 阅读(149) 评论(0) 推荐(0) 编辑
摘要:经典的O3优化(一般写在开头)#pragma GCC optimize("O3")#pragma G++ optimize("O3")G++手动扩大栈(写在main的开始)int size = 256 '9';ch=getchar()); for(;ch>='0... 阅读全文
posted @ 2017-10-25 08:39 扩展的灰(Extended_Ash) 阅读(376) 评论(0) 推荐(0) 编辑
摘要:经典的O3优化(一般写在开头)#pragma GCC optimize("O3")#pragma G++ optimize("O3")G++手动扩大栈(写在main的开始)int size = 256 '9';ch=getchar()); for(;ch>='0... 阅读全文
posted @ 2017-10-25 08:39 扩展的灰(Extended_Ash) 阅读(169) 评论(0) 推荐(0) 编辑
摘要:若一个数x是平方数,则d(x)为平方数所以就是要考虑有多少对i*j为平方数我们假设,i=p*k^2,那么,j=p*q^2时,i*j为平方数(p不含平方因子,k,q为正整数)所以,我们对于一个i=p*k^2,对应的j就有[√m/p]种我们考虑快速求p,这样对于所有k,i... 阅读全文
posted @ 2017-10-24 20:47 扩展的灰(Extended_Ash) 阅读(115) 评论(0) 推荐(0) 编辑
摘要:若一个数x是平方数,则d(x)为平方数所以就是要考虑有多少对i*j为平方数我们假设,i=p*k^2,那么,j=p*q^2时,i*j为平方数(p不含平方因子,k,q为正整数)所以,我们对于一个i=p*k^2,对应的j就有[√m/p]种我们考虑快速求p,这样对于所有k,i... 阅读全文
posted @ 2017-10-24 20:47 扩展的灰(Extended_Ash) 阅读(100) 评论(0) 推荐(0) 编辑
摘要:我们发现前四个操作可以用双向链表维护,而最后一个操作有一个限制就是1#include#include#define N 1000010using namespace std;int l[N],r[N],s[N]; char c[5];int w[N],f[N]={-1... 阅读全文
posted @ 2017-10-24 20:34 扩展的灰(Extended_Ash) 阅读(147) 评论(0) 推荐(0) 编辑
摘要:我们发现前四个操作可以用双向链表维护,而最后一个操作有一个限制就是1#include#include#define N 1000010using namespace std;int l[N],r[N],s[N]; char c[5];int w[N],f[N]={-1... 阅读全文
posted @ 2017-10-24 20:34 扩展的灰(Extended_Ash) 阅读(121) 评论(0) 推荐(0) 编辑
摘要:给你一个序列,问你能不能只交换2个元素使得它有序解法:扫一遍即可,如果可以,那么逆序对int main(){ int n,a,b,num; scanf("%d%d",&n,&a); b=a; for(int i=2;i<=n;i++){ scanf("%d",... 阅读全文
posted @ 2017-10-24 20:30 扩展的灰(Extended_Ash) 阅读(85) 评论(0) 推荐(0) 编辑
摘要:给你一个序列,问你能不能只交换2个元素使得它有序解法:扫一遍即可,如果可以,那么逆序对int main(){ int n,a,b,num; scanf("%d%d",&n,&a); b=a; for(int i=2;i<=n;i++){ scanf("%d",... 阅读全文
posted @ 2017-10-24 20:30 扩展的灰(Extended_Ash) 阅读(90) 评论(0) 推荐(0) 编辑
摘要:X公司有着严格的等级制度,除了公司所有者小H以外,其他人都有一个直属上司。没有下属的员工称为工人,其他人则称为领导者。为了加薪,工人们都会向他们的上司提交请愿书。当然,每个领导者都希望自己的下属能够尽可能快乐的工作,所以当至少有T%的下属提交请愿书时,那么这个领导者就... 阅读全文
posted @ 2017-10-24 20:02 扩展的灰(Extended_Ash) 阅读(72) 评论(0) 推荐(0) 编辑
摘要:X公司有着严格的等级制度,除了公司所有者小H以外,其他人都有一个直属上司。没有下属的员工称为工人,其他人则称为领导者。为了加薪,工人们都会向他们的上司提交请愿书。当然,每个领导者都希望自己的下属能够尽可能快乐的工作,所以当至少有T%的下属提交请愿书时,那么这个领导者就... 阅读全文
posted @ 2017-10-24 20:02 扩展的灰(Extended_Ash) 阅读(110) 评论(0) 推荐(0) 编辑
摘要:在遥远的西方有一个古老的王国,国王将他的王国分成了网格状,每一块称之为一个城市。在国王临死前,他将这些城市分给了自己的N个儿子(编号为0到N-1)。然而这N个王子的关系不是很好,0讨厌1,1讨厌2,2讨厌3……N-1讨厌0。在国王死后,这种不好的关系使得王子之间爆发了... 阅读全文
posted @ 2017-10-24 08:03 扩展的灰(Extended_Ash) 阅读(64) 评论(0) 推荐(0) 编辑
摘要:在遥远的西方有一个古老的王国,国王将他的王国分成了网格状,每一块称之为一个城市。在国王临死前,他将这些城市分给了自己的N个儿子(编号为0到N-1)。然而这N个王子的关系不是很好,0讨厌1,1讨厌2,2讨厌3……N-1讨厌0。在国王死后,这种不好的关系使得王子之间爆发了... 阅读全文
posted @ 2017-10-24 08:03 扩展的灰(Extended_Ash) 阅读(129) 评论(0) 推荐(0) 编辑
摘要:最近phantom得到了森の妖精的真传。在他练功的时候, 每秒他的思绪中都有一定的概率浮现出奇♂异的幻象,持续x秒的幻象将产生x^2 的幻象值。phantom练功发自真心,他想知道,在N秒内他期望产生的幻象值是多少。比较裸的期望dp设f[i]表示第i秒的期望幻象值那么... 阅读全文
posted @ 2017-10-23 21:28 扩展的灰(Extended_Ash) 阅读(118) 评论(0) 推荐(0) 编辑
摘要:最近phantom得到了森の妖精的真传。在他练功的时候, 每秒他的思绪中都有一定的概率浮现出奇♂异的幻象,持续x秒的幻象将产生x^2 的幻象值。phantom练功发自真心,他想知道,在N秒内他期望产生的幻象值是多少。比较裸的期望dp设f[i]表示第i秒的期望幻象值那么... 阅读全文
posted @ 2017-10-23 21:28 扩展的灰(Extended_Ash) 阅读(117) 评论(0) 推荐(0) 编辑
摘要:求ΣΣ(N%i)(M%j)(i#define P 1000000007#define L long longL sum(L N){ L ans=N*N%P; for(L i=1,j;i>1)%P*(N/i))%P; } return ans;}int main(){ ... 阅读全文
posted @ 2017-10-23 20:38 扩展的灰(Extended_Ash) 阅读(120) 评论(0) 推荐(0) 编辑
摘要:求ΣΣ(N%i)(M%j)(i#define P 1000000007#define L long longL sum(L N){ L ans=N*N%P; for(L i=1,j;i>1)%P*(N/i))%P; } return ans;}int main(){ ... 阅读全文
posted @ 2017-10-23 20:38 扩展的灰(Extended_Ash) 阅读(112) 评论(0) 推荐(0) 编辑
摘要:额这个题么有一个很关键的点:结点个数依然为2N-1(证明可以看sam的讲稿)不难发现以下性质:区间定位个数+区间所覆盖的节点个数=2*区间长度所以问题变为,一个区间覆盖了多少个节点?我们可以求出所有的节点,然后这个问题就是一个二维偏序计数问题了具体用离线+按照r排序套... 阅读全文
posted @ 2017-10-23 19:49 扩展的灰(Extended_Ash) 阅读(116) 评论(0) 推荐(0) 编辑
摘要:额这个题么有一个很关键的点:结点个数依然为2N-1(证明可以看sam的讲稿)不难发现以下性质:区间定位个数+区间所覆盖的节点个数=2*区间长度所以问题变为,一个区间覆盖了多少个节点?我们可以求出所有的节点,然后这个问题就是一个二维偏序计数问题了具体用离线+按照r排序套... 阅读全文
posted @ 2017-10-23 19:49 扩展的灰(Extended_Ash) 阅读(97) 评论(0) 推荐(0) 编辑
摘要:听说NOIP2016大家都考得不错,于是CCF奖励省常中了 K 张变形金刚5的电影票奖励OI队的同学去看电影。可是省常中OI队的同学们共有 N(N >= K)人。于是机智的你想到了一个公平公正的方法决定哪K人去看电影。N个人排成一圈,按顺时针顺序标号为1 - N,每次... 阅读全文
posted @ 2017-10-23 19:38 扩展的灰(Extended_Ash) 阅读(103) 评论(0) 推荐(0) 编辑
摘要:听说NOIP2016大家都考得不错,于是CCF奖励省常中了 K 张变形金刚5的电影票奖励OI队的同学去看电影。可是省常中OI队的同学们共有 N(N >= K)人。于是机智的你想到了一个公平公正的方法决定哪K人去看电影。N个人排成一圈,按顺时针顺序标号为1 - N,每次... 阅读全文
posted @ 2017-10-23 19:38 扩展的灰(Extended_Ash) 阅读(115) 评论(0) 推荐(0) 编辑
摘要:线段树套分块/主席树!我们考虑到ai,p,q比较小(#include#include#includeusing namespace std;struct dq{ int p,q,k; }; vector w[100010];int f[10010],g[110][10... 阅读全文
posted @ 2017-10-23 19:29 扩展的灰(Extended_Ash) 阅读(89) 评论(0) 推荐(0) 编辑
摘要:线段树套分块/主席树!我们考虑到ai,p,q比较小(#include#include#includeusing namespace std;struct dq{ int p,q,k; }; vector w[100010];int f[10010],g[110][10... 阅读全文
posted @ 2017-10-23 19:29 扩展的灰(Extended_Ash) 阅读(156) 评论(0) 推荐(0) 编辑
摘要:很明显,山峰一定是n那么无论其他的数在n的左边还是右边都对应一种单峰数列ok,答案就是2^(N-1)#include#include#include#define L long long#define M 1000000007using namespace std;L... 阅读全文
posted @ 2017-10-23 18:41 扩展的灰(Extended_Ash) 阅读(122) 评论(0) 推荐(0) 编辑
摘要:很明显,山峰一定是n那么无论其他的数在n的左边还是右边都对应一种单峰数列ok,答案就是2^(N-1)#include#include#include#define L long long#define M 1000000007using namespace std;L... 阅读全文
posted @ 2017-10-23 18:41 扩展的灰(Extended_Ash) 阅读(109) 评论(0) 推荐(0) 编辑
摘要:我们先写裸的dp,设φ[i]表示长度为i的划分方案数,φ(0)=1有φ(i)=Σφ(j) (|sum[j,i]|#include#include#define N 200010 #define LL long long#define M 1000000007 usin... 阅读全文
posted @ 2017-10-23 07:15 扩展的灰(Extended_Ash) 阅读(123) 评论(0) 推荐(0) 编辑
摘要:我们先写裸的dp,设φ[i]表示长度为i的划分方案数,φ(0)=1有φ(i)=Σφ(j) (|sum[j,i]|#include#include#define N 200010 #define LL long long#define M 1000000007 usin... 阅读全文
posted @ 2017-10-23 07:15 扩展的灰(Extended_Ash) 阅读(102) 评论(0) 推荐(0) 编辑
摘要:继续上一篇那套题可以将x,y宙分开讨论,对于每一维维护一个数据结构求出所有比之小的部分的和和比之大的部分的和所以我们先将这些点分别按x,y轴排序,得到rankx和ranky之后用树状数组即可#pragma GCC optimize("O3")#pragma G++ o... 阅读全文
posted @ 2017-10-22 22:46 扩展的灰(Extended_Ash) 阅读(140) 评论(0) 推荐(0) 编辑
摘要:继续上一篇那套题可以将x,y宙分开讨论,对于每一维维护一个数据结构求出所有比之小的部分的和和比之大的部分的和所以我们先将这些点分别按x,y轴排序,得到rankx和ranky之后用树状数组即可#pragma GCC optimize("O3")#pragma G++ o... 阅读全文
posted @ 2017-10-22 22:46 扩展的灰(Extended_Ash) 阅读(110) 评论(0) 推荐(0) 编辑
摘要:最近的题目都太难了啊,于是在oj上面瞎找题目来切正好这一套题目名都比较优雅于是就选了这一套这个看起来十分像并查集没错,我们发现,如果两个结论互为逆反命题,那么这两个结论等价而且一个逆命题的逆命题或者是反命题的反命题就是自己所以我们发现,1和2是等价的,这就如同敌人的敌... 阅读全文
posted @ 2017-10-22 22:36 扩展的灰(Extended_Ash) 阅读(173) 评论(0) 推荐(0) 编辑
摘要:最近的题目都太难了啊,于是在oj上面瞎找题目来切正好这一套题目名都比较优雅于是就选了这一套这个看起来十分像并查集没错,我们发现,如果两个结论互为逆反命题,那么这两个结论等价而且一个逆命题的逆命题或者是反命题的反命题就是自己所以我们发现,1和2是等价的,这就如同敌人的敌... 阅读全文
posted @ 2017-10-22 22:36 扩展的灰(Extended_Ash) 阅读(111) 评论(0) 推荐(0) 编辑
摘要:其实就是在求有几对完全相等子串满足长度小于等于k而已很明显打一个sam就好了,条件就是mx[f[p]]#include#include#define N 200010 using namespace std;char str[N]; long long A=0;int... 阅读全文
posted @ 2017-10-21 22:00 扩展的灰(Extended_Ash) 阅读(85) 评论(0) 推荐(0) 编辑
摘要:其实就是在求有几对完全相等子串满足长度小于等于k而已很明显打一个sam就好了,条件就是mx[f[p]]#include#include#define N 200010 using namespace std;char str[N]; long long A=0;int... 阅读全文
posted @ 2017-10-21 22:00 扩展的灰(Extended_Ash) 阅读(107) 评论(0) 推荐(0) 编辑
摘要:有这么一个函数满足Σf(d)=n (d|n),给出序列a,求Σf(a[i])首先,大部分人一眼就能看出这个f就是phi吧那么考虑怎么求有phi(p)=p-1(p为质数)phi(ab)=phi(a)phi(b)(gcd(a,b)=1)phi(ka)=kphi(a)(k|... 阅读全文
posted @ 2017-10-21 21:46 扩展的灰(Extended_Ash) 阅读(111) 评论(0) 推荐(0) 编辑
摘要:有这么一个函数满足Σf(d)=n (d|n),给出序列a,求Σf(a[i])首先,大部分人一眼就能看出这个f就是phi吧那么考虑怎么求有phi(p)=p-1(p为质数)phi(ab)=phi(a)phi(b)(gcd(a,b)=1)phi(ka)=kphi(a)(k|... 阅读全文
posted @ 2017-10-21 21:46 扩展的灰(Extended_Ash) 阅读(137) 评论(0) 推荐(0) 编辑
摘要:LCT模板,待填 阅读全文
posted @ 2017-10-21 21:37 扩展的灰(Extended_Ash) 阅读(99) 评论(0) 推荐(0) 编辑
摘要:LCT模板,待填 阅读全文
posted @ 2017-10-21 21:37 扩展的灰(Extended_Ash) 阅读(107) 评论(0) 推荐(0) 编辑
摘要:题意:求出现次数*长度最大的回文串很水的一道题直接用回文树可以切了太菜并不会回文树,用了极慢的sam+manachermanacher求出所有回文子串用sam在parent树上面倍增就可以求出一个串的出现次数,manacher是O(n)的,倍增lgn,整体复杂度nlg... 阅读全文
posted @ 2017-10-21 20:25 扩展的灰(Extended_Ash) 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题意:求出现次数*长度最大的回文串很水的一道题直接用回文树可以切了太菜并不会回文树,用了极慢的sam+manachermanacher求出所有回文子串用sam在parent树上面倍增就可以求出一个串的出现次数,manacher是O(n)的,倍增lgn,整体复杂度nlg... 阅读全文
posted @ 2017-10-21 20:25 扩展的灰(Extended_Ash) 阅读(204) 评论(0) 推荐(0) 编辑
摘要:给你一个联通无向图,问你要修建几条边使得该图是一个边双连通图无比经典,肯定是一个tarjan求桥,删掉后缩点,变成一颗树,看看有几个叶子结点,叶子结点一对对连起来即可#include#include#include#includeusing namespace std... 阅读全文
posted @ 2017-10-18 20:01 扩展的灰(Extended_Ash) 阅读(123) 评论(0) 推荐(0) 编辑
摘要:给你一个联通无向图,问你要修建几条边使得该图是一个边双连通图无比经典,肯定是一个tarjan求桥,删掉后缩点,变成一颗树,看看有几个叶子结点,叶子结点一对对连起来即可#include#include#include#includeusing namespace std... 阅读全文
posted @ 2017-10-18 20:01 扩展的灰(Extended_Ash) 阅读(82) 评论(0) 推荐(0) 编辑
摘要:题意:给你一颗树,要求断掉一条边,使得剩下两个联通快的直径之和最大一看就是树形DP嘛,c1表示最长边c2次长,f表示父亲部分的最长路上面做法不讲,我们讲一种比较新奇的方法假设我们枚举断哪一条边,在lgn时间内求出两个联通快的直径不就行了嘛怎么做呢,我们发现,可以用树的... 阅读全文
posted @ 2017-10-17 20:24 扩展的灰(Extended_Ash) 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题意:给你一颗树,要求断掉一条边,使得剩下两个联通快的直径之和最大一看就是树形DP嘛,c1表示最长边c2次长,f表示父亲部分的最长路上面做法不讲,我们讲一种比较新奇的方法假设我们枚举断哪一条边,在lgn时间内求出两个联通快的直径不就行了嘛怎么做呢,我们发现,可以用树的... 阅读全文
posted @ 2017-10-17 20:24 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0) 编辑
摘要:相信大家都猜到题意了,简单说一下圆形广场共有 N 个种花的位置,顺时针编号1到N。并且每个位置都有一个美观度ai ,两株花不能种在相邻的位置(1号和N号也算相邻位置)一共有 M 株花,现在小D也想知道应该如何摆这 N 株花才能使美观度最大这道题显然可以用堆,每次将堆顶... 阅读全文
posted @ 2017-10-15 21:52 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0) 编辑
摘要:相信大家都猜到题意了,简单说一下圆形广场共有 N 个种花的位置,顺时针编号1到N。并且每个位置都有一个美观度ai ,两株花不能种在相邻的位置(1号和N号也算相邻位置)一共有 M 株花,现在小D也想知道应该如何摆这 N 株花才能使美观度最大这道题显然可以用堆,每次将堆顶... 阅读全文
posted @ 2017-10-15 21:52 扩展的灰(Extended_Ash) 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个序列A,要求你求出A长度最大的子序列A'使得任意A'[i]+A'[j]都为素数有一点是显然的,如果没有1,或者只有一个1,那么序列最长为2(一奇一偶),这种情况n^2枚举就好了如果有多于一个1,那么我们可以选择所有的1,和最多一个偶数注意会有长度为0和1... 阅读全文
posted @ 2017-10-15 21:34 扩展的灰(Extended_Ash) 阅读(65) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个序列A,要求你求出A长度最大的子序列A'使得任意A'[i]+A'[j]都为素数有一点是显然的,如果没有1,或者只有一个1,那么序列最长为2(一奇一偶),这种情况n^2枚举就好了如果有多于一个1,那么我们可以选择所有的1,和最多一个偶数注意会有长度为0和1... 阅读全文
posted @ 2017-10-15 21:34 扩展的灰(Extended_Ash) 阅读(93) 评论(0) 推荐(0) 编辑
摘要:这道题十分神,挖坑待填DJL为了避免成为一只咸鱼,来找czgj学习Fibonacci数列。通过czgj的谆谆教导,DJL明白了Fibonacci数列是这样定义的:F(1)=1;F(2)=1;F(n)=F(n-1)+F(n-2)(n>2)Czgj深谙熟能生巧的道理,于是... 阅读全文
posted @ 2017-10-15 21:06 扩展的灰(Extended_Ash) 阅读(187) 评论(0) 推荐(0) 编辑
摘要:这道题十分神,挖坑待填DJL为了避免成为一只咸鱼,来找czgj学习Fibonacci数列。通过czgj的谆谆教导,DJL明白了Fibonacci数列是这样定义的:F(1)=1;F(2)=1;F(n)=F(n-1)+F(n-2)(n>2)Czgj深谙熟能生巧的道理,于是... 阅读全文
posted @ 2017-10-15 21:06 扩展的灰(Extended_Ash) 阅读(108) 评论(0) 推荐(0) 编辑
摘要:srwudi的跳楼机可以采用以下四种方式移动:1、向上移动x层;2、向上移动y层;3、向上移动z层;4、回到第一层。一个月黑风高的大中午,DJL来到了srwudi的家,现在他在srwudi家的第一层,碰巧跳楼机也在第一层。DJL想知道,他可以乘坐跳楼机前往的楼层数(不... 阅读全文
posted @ 2017-10-15 17:31 扩展的灰(Extended_Ash) 阅读(114) 评论(0) 推荐(0) 编辑
摘要:srwudi的跳楼机可以采用以下四种方式移动:1、向上移动x层;2、向上移动y层;3、向上移动z层;4、回到第一层。一个月黑风高的大中午,DJL来到了srwudi的家,现在他在srwudi家的第一层,碰巧跳楼机也在第一层。DJL想知道,他可以乘坐跳楼机前往的楼层数(不... 阅读全文
posted @ 2017-10-15 17:31 扩展的灰(Extended_Ash) 阅读(145) 评论(0) 推荐(0) 编辑
摘要:给你2个没有重复元素的序列A,B,求LCS我们将映射A[i]->i用在B上,对B求LIS即可,若A中没有B[i]直接跳过#include#include#include#includeusing namespace std;map s;int f[300010];in... 阅读全文
posted @ 2017-10-15 16:37 扩展的灰(Extended_Ash) 阅读(116) 评论(0) 推荐(0) 编辑
摘要:给你2个没有重复元素的序列A,B,求LCS我们将映射A[i]->i用在B上,对B求LIS即可,若A中没有B[i]直接跳过#include#include#include#includeusing namespace std;map s;int f[300010];in... 阅读全文
posted @ 2017-10-15 16:37 扩展的灰(Extended_Ash) 阅读(108) 评论(0) 推荐(0) 编辑
摘要:您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)... 阅读全文
posted @ 2017-10-15 16:02 扩展的灰(Extended_Ash) 阅读(109) 评论(0) 推荐(0) 编辑
摘要:您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)... 阅读全文
posted @ 2017-10-15 16:02 扩展的灰(Extended_Ash) 阅读(90) 评论(0) 推荐(0) 编辑
摘要:给出一棵树,求出最小的k,使得,且在树中存在路径p,使得k>=S且k=S的j,若belong[i]=belong[j]则令j=next[j],统计答案即可#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#incl... 阅读全文
posted @ 2017-10-15 11:32 扩展的灰(Extended_Ash) 阅读(138) 评论(0) 推荐(0) 编辑
摘要:给出一棵树,求出最小的k,使得,且在树中存在路径p,使得k>=S且k=S的j,若belong[i]=belong[j]则令j=next[j],统计答案即可#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#incl... 阅读全文
posted @ 2017-10-15 11:32 扩展的灰(Extended_Ash) 阅读(114) 评论(0) 推荐(0) 编辑
摘要:给你n求gcd(i,j)=i xor j的对数(i,jint main(){ int n,A=0; scanf("%d",&n); for(int i=1;i<=n;++i) for(int j=i<<1;j<=n;j+=i) if((i^j)==j-i) ++... 阅读全文
posted @ 2017-10-15 11:19 扩展的灰(Extended_Ash) 阅读(90) 评论(0) 推荐(0) 编辑
摘要:给你n求gcd(i,j)=i xor j的对数(i,jint main(){ int n,A=0; scanf("%d",&n); for(int i=1;i<=n;++i) for(int j=i<<1;j<=n;j+=i) if((i^j)==j-i) ++... 阅读全文
posted @ 2017-10-15 11:19 扩展的灰(Extended_Ash) 阅读(88) 评论(0) 推荐(0) 编辑
摘要:题意:给出n个没有区别的物品放入k个没有区别的盒子,求方案数这个题目可谓计数dp的经典我们令f[i][j][k]表示现在所有数和为i,有j个,最后一个为k的方案数那么显然,f[i][j][k]=∑f[i-p][j-1][p](1int n,k,f[5010][5010... 阅读全文
posted @ 2017-10-14 22:21 扩展的灰(Extended_Ash) 阅读(71) 评论(0) 推荐(0) 编辑
摘要:题意:给出n个没有区别的物品放入k个没有区别的盒子,求方案数这个题目可谓计数dp的经典我们令f[i][j][k]表示现在所有数和为i,有j个,最后一个为k的方案数那么显然,f[i][j][k]=∑f[i-p][j-1][p](1int n,k,f[5010][5010... 阅读全文
posted @ 2017-10-14 22:21 扩展的灰(Extended_Ash) 阅读(80) 评论(0) 推荐(0) 编辑
摘要:如果没有这个+x的话应该都能想到是按位拆开每一位处理吧现在考虑这个+x如何处理一个数v加上x,如果有(v+x)%2^i>2^(i-1)的话,那么就必然第i位为1所以我们考虑,对于每一个询问的y,若有y&(1#include#include#define f(k) (1... 阅读全文
posted @ 2017-10-14 22:09 扩展的灰(Extended_Ash) 阅读(106) 评论(0) 推荐(0) 编辑
摘要:如果没有这个+x的话应该都能想到是按位拆开每一位处理吧现在考虑这个+x如何处理一个数v加上x,如果有(v+x)%2^i>2^(i-1)的话,那么就必然第i位为1所以我们考虑,对于每一个询问的y,若有y&(1#include#include#define f(k) (1... 阅读全文
posted @ 2017-10-14 22:09 扩展的灰(Extended_Ash) 阅读(99) 评论(0) 推荐(0) 编辑
摘要:题意:有n([1,5000])个物品,每一个有价值v和代价w,当你选择了这个物品后,剩下没选的物品价值减少w,问最大价值?假设我们已经选好了物品,那么显然,按照w升序排序贪心是最优的选择让后我们可以用dp来计算最优方案,这样的话我们需要将物品按照w降序排序,否则无法计... 阅读全文
posted @ 2017-10-14 21:56 扩展的灰(Extended_Ash) 阅读(104) 评论(0) 推荐(0) 编辑
摘要:题意:有n([1,5000])个物品,每一个有价值v和代价w,当你选择了这个物品后,剩下没选的物品价值减少w,问最大价值?假设我们已经选好了物品,那么显然,按照w升序排序贪心是最优的选择让后我们可以用dp来计算最优方案,这样的话我们需要将物品按照w降序排序,否则无法计... 阅读全文
posted @ 2017-10-14 21:56 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0) 编辑
摘要:十分套路,这种题很明显是单独计算每个元素的贡献来搞的我们发现,对于ti,它最后到n,n的路线有C(2n-i-2,n-2)条而对于每条路线,其值发生的变化都为t[i]*a^(n-i)*b^(n-1)所以贡献就是∑t[i]*a^(n-i)*b^(n-1)*C(2n-i-2... 阅读全文
posted @ 2017-10-12 21:05 扩展的灰(Extended_Ash) 阅读(171) 评论(0) 推荐(0) 编辑
摘要:十分套路,这种题很明显是单独计算每个元素的贡献来搞的我们发现,对于ti,它最后到n,n的路线有C(2n-i-2,n-2)条而对于每条路线,其值发生的变化都为t[i]*a^(n-i)*b^(n-1)所以贡献就是∑t[i]*a^(n-i)*b^(n-1)*C(2n-i-2... 阅读全文
posted @ 2017-10-12 21:05 扩展的灰(Extended_Ash) 阅读(105) 评论(0) 推荐(0) 编辑
摘要:首先,orzYxuanwKeith,这套题后面两个把我虐爆了我们发现,B序列每一个元素都肯定出现在A中,那么考虑最大的元素B1,显然就是A中元素最大的那个删除后让后我们继续求B2,显然也是最大的那个,让后删除B2,gcd(B1,B2)后,我们就可以得到B3....以此... 阅读全文
posted @ 2017-10-12 16:06 扩展的灰(Extended_Ash) 阅读(128) 评论(0) 推荐(0) 编辑
摘要:首先,orzYxuanwKeith,这套题后面两个把我虐爆了我们发现,B序列每一个元素都肯定出现在A中,那么考虑最大的元素B1,显然就是A中元素最大的那个删除后让后我们继续求B2,显然也是最大的那个,让后删除B2,gcd(B1,B2)后,我们就可以得到B3....以此... 阅读全文
posted @ 2017-10-12 16:06 扩展的灰(Extended_Ash) 阅读(81) 评论(0) 推荐(0) 编辑
摘要:题意:求Fib(n)此题渗水,这里讲一种不用矩阵的方法令f[n]=Fib(n)我们假设k=n/2那么久有以下递推式:若n-k%2=1f[n]=f[k]*f[k]+f[k+1]*f[k+1]否则f[n]=f[k]*f[k+1]+f[k+1]*(f[k]+f[k+1])边... 阅读全文
posted @ 2017-10-11 21:46 扩展的灰(Extended_Ash) 阅读(126) 评论(0) 推荐(0) 编辑
摘要:题意:求Fib(n)此题渗水,这里讲一种不用矩阵的方法令f[n]=Fib(n)我们假设k=n/2那么久有以下递推式:若n-k%2=1f[n]=f[k]*f[k]+f[k+1]*f[k+1]否则f[n]=f[k]*f[k+1]+f[k+1]*(f[k]+f[k+1])边... 阅读全文
posted @ 2017-10-11 21:46 扩展的灰(Extended_Ash) 阅读(216) 评论(0) 推荐(0) 编辑
摘要:先声明:本人在OJ上并没有AC但是坚信是spj错了因为我下载了数据本地评测而且交了一个直接输出答案的程序这个题目思路比较奇怪,题解我也没有看懂,这里提供一种三分的方法我们假设这个B的表达式为[a±x,b±x][c±x,d±x]那么显然答案就是x我们先暴力枚举正负号(二... 阅读全文
posted @ 2017-10-11 21:29 扩展的灰(Extended_Ash) 阅读(153) 评论(0) 推荐(0) 编辑
摘要:先声明:本人在OJ上并没有AC但是坚信是spj错了因为我下载了数据本地评测而且交了一个直接输出答案的程序这个题目思路比较奇怪,题解我也没有看懂,这里提供一种三分的方法我们假设这个B的表达式为[a±x,b±x][c±x,d±x]那么显然答案就是x我们先暴力枚举正负号(二... 阅读全文
posted @ 2017-10-11 21:29 扩展的灰(Extended_Ash) 阅读(115) 评论(0) 推荐(0) 编辑
摘要:如果∑d≠2n-2说明错了否则,我们先构造出这棵树的直径,若一个di>2则我们将d-2个节点与其相连,所以answer=n-1-∑(max(2,d[i])-2)#includeinline int max(int a,int b){ return a>b?a:b; }... 阅读全文
posted @ 2017-10-11 21:24 扩展的灰(Extended_Ash) 阅读(79) 评论(0) 推荐(0) 编辑
摘要:如果∑d≠2n-2说明错了否则,我们先构造出这棵树的直径,若一个di>2则我们将d-2个节点与其相连,所以answer=n-1-∑(max(2,d[i])-2)#includeinline int max(int a,int b){ return a>b?a:b; }... 阅读全文
posted @ 2017-10-11 21:24 扩展的灰(Extended_Ash) 阅读(91) 评论(0) 推荐(0) 编辑
摘要:(EMPTY) 阅读全文
posted @ 2017-10-07 22:33 扩展的灰(Extended_Ash) 阅读(106) 评论(0) 推荐(0) 编辑
摘要:(EMPTY) 阅读全文
posted @ 2017-10-07 22:33 扩展的灰(Extended_Ash) 阅读(73) 评论(0) 推荐(0) 编辑
摘要:2017.10.21更新,下面是原本的咸鱼做法我们发现询问只有一个,我们考虑二分这个最后答案我们将序列中所有大于mid的值变成1,否则变成0,那么,排序就变成了将序列的01放在头或尾,可以用线段树区间修改做到#include#include#define mid (l... 阅读全文
posted @ 2017-10-07 22:09 扩展的灰(Extended_Ash) 阅读(127) 评论(0) 推荐(0) 编辑
摘要:2017.10.21更新,下面是原本的咸鱼做法我们发现询问只有一个,我们考虑二分这个最后答案我们将序列中所有大于mid的值变成1,否则变成0,那么,排序就变成了将序列的01放在头或尾,可以用线段树区间修改做到#include#include#define mid (l... 阅读全文
posted @ 2017-10-07 22:09 扩展的灰(Extended_Ash) 阅读(108) 评论(0) 推荐(0) 编辑
摘要:子树的问题都是dfs序的工作啦,加上个线段树就ok了#include#define mid (l+r>>1)struct Edge{ int v,nt; } G[200010];int h[100010],cnt=0,clk=0,l[100010],r[100010]... 阅读全文
posted @ 2017-10-07 22:02 扩展的灰(Extended_Ash) 阅读(88) 评论(0) 推荐(0) 编辑
摘要:子树的问题都是dfs序的工作啦,加上个线段树就ok了#include#define mid (l+r>>1)struct Edge{ int v,nt; } G[200010];int h[100010],cnt=0,clk=0,l[100010],r[100010]... 阅读全文
posted @ 2017-10-07 22:02 扩展的灰(Extended_Ash) 阅读(110) 评论(0) 推荐(0) 编辑
摘要:看了一眼就开始想分快树套树莫队了吧?233333333但是这道题有一个奇怪的条件!颜色不超过30种!是不是一个状压就完了?23333333333333333333#include#define ls x>1)int s[400040],t[400010],n,m,c;... 阅读全文
posted @ 2017-10-07 21:55 扩展的灰(Extended_Ash) 阅读(152) 评论(0) 推荐(0) 编辑
摘要:看了一眼就开始想分快树套树莫队了吧?233333333但是这道题有一个奇怪的条件!颜色不超过30种!是不是一个状压就完了?23333333333333333333#include#define ls x>1)int s[400040],t[400010],n,m,c;... 阅读全文
posted @ 2017-10-07 21:55 扩展的灰(Extended_Ash) 阅读(144) 评论(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) 阅读(140) 评论(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) 阅读(159) 评论(0) 推荐(0) 编辑
摘要:(EMPTY) 阅读全文
posted @ 2017-10-07 21:28 扩展的灰(Extended_Ash) 阅读(108) 评论(0) 推荐(0) 编辑
摘要:(EMPTY) 阅读全文
posted @ 2017-10-07 21:28 扩展的灰(Extended_Ash) 阅读(83) 评论(0) 推荐(0) 编辑
摘要:此题非常新颖,有一个专门的算法,所以如果没有了解过,那么就只能写暴力卡了这道题后面的几步都很简单,一个扩展gcd求逆元,一个快速幂,所以关键就是求r,而这需要对N=pq进行分解本来这个问题在是一个NP问题,不存在多项式算法(这里的多项式指的是lgN形式的式子,因为N通... 阅读全文
posted @ 2017-10-06 21:41 扩展的灰(Extended_Ash) 阅读(205) 评论(0) 推荐(0) 编辑
摘要:此题非常新颖,有一个专门的算法,所以如果没有了解过,那么就只能写暴力卡了这道题后面的几步都很简单,一个扩展gcd求逆元,一个快速幂,所以关键就是求r,而这需要对N=pq进行分解本来这个问题在是一个NP问题,不存在多项式算法(这里的多项式指的是lgN形式的式子,因为N通... 阅读全文
posted @ 2017-10-06 21:41 扩展的灰(Extended_Ash) 阅读(125) 评论(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) 阅读(85) 评论(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) 阅读(116) 评论(0) 推荐(0) 编辑
摘要:我倒是觉得上面那一问难一点呢。。。。下面一个SAM就没掉了,上面还要加上倍增和马拉车size为right集合大小,mx为最大长度,跑出parent树,OK搞定#include#include#include#define N 2000010using namespac... 阅读全文
posted @ 2017-10-06 20:41 扩展的灰(Extended_Ash) 阅读(103) 评论(0) 推荐(0) 编辑
摘要:我倒是觉得上面那一问难一点呢。。。。下面一个SAM就没掉了,上面还要加上倍增和马拉车size为right集合大小,mx为最大长度,跑出parent树,OK搞定#include#include#include#define N 2000010using namespac... 阅读全文
posted @ 2017-10-06 20:41 扩展的灰(Extended_Ash) 阅读(100) 评论(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) 阅读(173) 评论(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) 阅读(169) 评论(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) 阅读(69) 评论(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) 阅读(78) 评论(0) 推荐(0) 编辑
摘要:先从终点跑一次dijk得到哪几个点是可以连接到终点,让后再跑一次dijk注意不能经过没被标记的点即可#include#include#include#includeusing namespace std;struct node{ int v,id; };inline ... 阅读全文
posted @ 2017-10-05 21:07 扩展的灰(Extended_Ash) 阅读(94) 评论(0) 推荐(0) 编辑
摘要:先从终点跑一次dijk得到哪几个点是可以连接到终点,让后再跑一次dijk注意不能经过没被标记的点即可#include#include#include#includeusing namespace std;struct node{ int v,id; };inline ... 阅读全文
posted @ 2017-10-05 21:07 扩展的灰(Extended_Ash) 阅读(94) 评论(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) 阅读(113) 评论(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) 阅读(117) 评论(0) 推荐(0) 编辑
摘要:有问题,找副连,无聊的时候当然也可以找他啦。小W找到了他的叔叔——东厂厂长——宇宙超级无敌老WS yy。他们叔侄两个商量之后决定用弹弓打破社区里的一些窗户,但是弹弓每秒只能彻底打破一扇窗户。而且如果某户窗户的主人回来了的话,他们就不能进行破坏了(不然会死得很惨的)。因... 阅读全文
posted @ 2017-10-04 11:40 扩展的灰(Extended_Ash) 阅读(102) 评论(0) 推荐(0) 编辑
摘要:有问题,找副连,无聊的时候当然也可以找他啦。小W找到了他的叔叔——东厂厂长——宇宙超级无敌老WS yy。他们叔侄两个商量之后决定用弹弓打破社区里的一些窗户,但是弹弓每秒只能彻底打破一扇窗户。而且如果某户窗户的主人回来了的话,他们就不能进行破坏了(不然会死得很惨的)。因... 阅读全文
posted @ 2017-10-04 11:40 扩展的灰(Extended_Ash) 阅读(85) 评论(0) 推荐(0) 编辑
摘要:ZPS经过长期的努力争取,终于成为了0901班的领操员,他要带领0901班参加广播操比赛。现在0901班的队伍可以看作是一个n*n的点阵,每个人都站在格点上。现在作为领操员的ZPS站(0,0)点,他想知道如果0901班的队伍站齐了,他能看到多少个人的脸(假设每个人的身... 阅读全文
posted @ 2017-10-04 11:19 扩展的灰(Extended_Ash) 阅读(82) 评论(0) 推荐(0) 编辑
摘要:ZPS经过长期的努力争取,终于成为了0901班的领操员,他要带领0901班参加广播操比赛。现在0901班的队伍可以看作是一个n*n的点阵,每个人都站在格点上。现在作为领操员的ZPS站(0,0)点,他想知道如果0901班的队伍站齐了,他能看到多少个人的脸(假设每个人的身... 阅读全文
posted @ 2017-10-04 11:19 扩展的灰(Extended_Ash) 阅读(117) 评论(0) 推荐(0) 编辑
摘要:【题目背景】蜀汉章武元年(221年),刘备为报吴夺荆州、关羽被杀之仇,率大军攻吴。吴将陆逊为避其锋,坚守不战,双方成对峙之势。蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致锐气渐失,士气低落。刘备为舒缓军士酷热之苦,命蜀军在山林中安营扎寨以避暑热。陆逊... 阅读全文
posted @ 2017-10-04 11:04 扩展的灰(Extended_Ash) 阅读(116) 评论(0) 推荐(0) 编辑
摘要:【题目背景】蜀汉章武元年(221年),刘备为报吴夺荆州、关羽被杀之仇,率大军攻吴。吴将陆逊为避其锋,坚守不战,双方成对峙之势。蜀军远征,补给困难,又不能速战速决,加上入夏以后天气炎热,以致锐气渐失,士气低落。刘备为舒缓军士酷热之苦,命蜀军在山林中安营扎寨以避暑热。陆逊... 阅读全文
posted @ 2017-10-04 11:04 扩展的灰(Extended_Ash) 阅读(188) 评论(0) 推荐(0) 编辑
摘要:【题目背景】公元215年,刘备取益州,孙权令诸葛瑾找刘备索要荆州。刘备不答应,孙权极为恼恨,便派吕蒙率军取长沙、零陵、桂阳三郡。长沙、桂阳蜀将当即投降。刘备得知后,亲自从成都赶到公安(今湖北公安),派大将关羽争夺三郡。孙权也随即进驻陆口,派鲁肃屯兵益阳,抵挡关羽。双方... 阅读全文
posted @ 2017-10-04 10:55 扩展的灰(Extended_Ash) 阅读(169) 评论(0) 推荐(0) 编辑
摘要:【题目背景】公元215年,刘备取益州,孙权令诸葛瑾找刘备索要荆州。刘备不答应,孙权极为恼恨,便派吕蒙率军取长沙、零陵、桂阳三郡。长沙、桂阳蜀将当即投降。刘备得知后,亲自从成都赶到公安(今湖北公安),派大将关羽争夺三郡。孙权也随即进驻陆口,派鲁肃屯兵益阳,抵挡关羽。双方... 阅读全文
posted @ 2017-10-04 10:55 扩展的灰(Extended_Ash) 阅读(121) 评论(0) 推荐(0) 编辑
摘要:【题目背景】众所周知,刘备在长坂坡上与他的一众将领各种开挂,硬生生从曹操手中逃了出去,随后与孙权一起火烧赤壁、占有荆益、成就霸业。而曹操则在赤壁一败后再起不能,终生无力南下。建安二十五年(220年),曹操已到风烛残年,但仍难忘当年长坂的失误,霸业的破灭。他想如果在刘备... 阅读全文
posted @ 2017-10-03 22:58 扩展的灰(Extended_Ash) 阅读(123) 评论(0) 推荐(0) 编辑
摘要:【题目背景】众所周知,刘备在长坂坡上与他的一众将领各种开挂,硬生生从曹操手中逃了出去,随后与孙权一起火烧赤壁、占有荆益、成就霸业。而曹操则在赤壁一败后再起不能,终生无力南下。建安二十五年(220年),曹操已到风烛残年,但仍难忘当年长坂的失误,霸业的破灭。他想如果在刘备... 阅读全文
posted @ 2017-10-03 22:58 扩展的灰(Extended_Ash) 阅读(129) 评论(0) 推荐(0) 编辑
摘要:农夫FJ和奶牛Bessie玩游戏,游戏由一个黑板和N张卡片组成。游戏初始时,黑板写的数字是0。每张卡片都写有一个[0,511]的整数。FJ和Bessie轮流操作,FJ先操作。操作者每次从当前的卡片中选取一张卡片出来(被选出来的卡片不会被再次利用),假设选出来的卡片写的... 阅读全文
posted @ 2017-10-03 20:27 扩展的灰(Extended_Ash) 阅读(136) 评论(0) 推荐(0) 编辑
摘要:农夫FJ和奶牛Bessie玩游戏,游戏由一个黑板和N张卡片组成。游戏初始时,黑板写的数字是0。每张卡片都写有一个[0,511]的整数。FJ和Bessie轮流操作,FJ先操作。操作者每次从当前的卡片中选取一张卡片出来(被选出来的卡片不会被再次利用),假设选出来的卡片写的... 阅读全文
posted @ 2017-10-03 20:27 扩展的灰(Extended_Ash) 阅读(199) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个bst插入的顺序问你完成这些操作需要多少次比较(即这颗bst所有节点深度之和)显然,我们在bst中插入一个节点x,它一定是它前继或者后续的儿子这样的话,我们记录每个点的深度,每次找前继和后续即可本来应该用链表的,我还是为了卡时用了ZKW线段树#pragm... 阅读全文
posted @ 2017-10-03 20:22 扩展的灰(Extended_Ash) 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个bst插入的顺序问你完成这些操作需要多少次比较(即这颗bst所有节点深度之和)显然,我们在bst中插入一个节点x,它一定是它前继或者后续的儿子这样的话,我们记录每个点的深度,每次找前继和后续即可本来应该用链表的,我还是为了卡时用了ZKW线段树#pragm... 阅读全文
posted @ 2017-10-03 20:22 扩展的灰(Extended_Ash) 阅读(74) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个图,求出每个节点所在的联通快的大小总和显然就是tarjan找强连通分量了,没啥好说//#pragma GCC optimize("O3")//#pragma G++ optimize("O3")#include#include#include#inclu... 阅读全文
posted @ 2017-10-03 19:44 扩展的灰(Extended_Ash) 阅读(101) 评论(0) 推荐(0) 编辑
摘要:题意:给你一个图,求出每个节点所在的联通快的大小总和显然就是tarjan找强连通分量了,没啥好说//#pragma GCC optimize("O3")//#pragma G++ optimize("O3")#include#include#include#inclu... 阅读全文
posted @ 2017-10-03 19:44 扩展的灰(Extended_Ash) 阅读(105) 评论(0) 推荐(0) 编辑
摘要:题意:给一棵树,每次删边或者询问连通性,强制在线其实这题做法很多嘛,简单说一下一眼看过去肯定是LCT啦,于是马上开始打打到一半发现似乎不用LCT?好像树剖也可以嘛结果发现树剖也不用,直接一个dfs序就可以了嘛用线段树维护每个点能到达的最远的祖先,删边的时候将整个区间覆... 阅读全文
posted @ 2017-10-03 19:38 扩展的灰(Extended_Ash) 阅读(103) 评论(0) 推荐(0) 编辑
摘要:题意:给一棵树,每次删边或者询问连通性,强制在线其实这题做法很多嘛,简单说一下一眼看过去肯定是LCT啦,于是马上开始打打到一半发现似乎不用LCT?好像树剖也可以嘛结果发现树剖也不用,直接一个dfs序就可以了嘛用线段树维护每个点能到达的最远的祖先,删边的时候将整个区间覆... 阅读全文
posted @ 2017-10-03 19:38 扩展的灰(Extended_Ash) 阅读(138) 评论(0) 推荐(0) 编辑
摘要:给你一个序列s,求出所有最长的区间[l,r]使得存在一个k∈[l,r]且对于任何i∈[l,r]都有s[k]|s[i]显然如果这个k存在,那么s[k]一定是s[l]~s[r]的最小值现在问题就成了,求一个最长的区间使得s[l]~s[r]的最小值=s[l]~s[r]的gc... 阅读全文
posted @ 2017-10-03 17:27 扩展的灰(Extended_Ash) 阅读(111) 评论(0) 推荐(0) 编辑
摘要:给你一个序列s,求出所有最长的区间[l,r]使得存在一个k∈[l,r]且对于任何i∈[l,r]都有s[k]|s[i]显然如果这个k存在,那么s[k]一定是s[l]~s[r]的最小值现在问题就成了,求一个最长的区间使得s[l]~s[r]的最小值=s[l]~s[r]的gc... 阅读全文
posted @ 2017-10-03 17:27 扩展的灰(Extended_Ash) 阅读(79) 评论(0) 推荐(0) 编辑
摘要:题意:给你一颗带权二叉树,求问要修改几次可以将其变成二叉搜索树?我们先跑出原树的中序遍历,那么我们问题变成如何用最少的次数将序列变成严格上升显然我们可以跑出LIS,那么n-LIS就是答案,但是这样做是有问题的,比如1,4,2,3,LIS=3但是显然我们只修改一次是不行... 阅读全文
posted @ 2017-10-03 17:20 扩展的灰(Extended_Ash) 阅读(76) 评论(0) 推荐(0) 编辑
摘要:题意:给你一颗带权二叉树,求问要修改几次可以将其变成二叉搜索树?我们先跑出原树的中序遍历,那么我们问题变成如何用最少的次数将序列变成严格上升显然我们可以跑出LIS,那么n-LIS就是答案,但是这样做是有问题的,比如1,4,2,3,LIS=3但是显然我们只修改一次是不行... 阅读全文
posted @ 2017-10-03 17:20 扩展的灰(Extended_Ash) 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题意:给你一颗树,每次选择一条简单路径进行染色,问最后每条边的颜色此题非常之坑,各种卡,主要是卡栈空间首先看题就写了个树剖,让后各种TLE和RE,开了O3还是不行#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#... 阅读全文
posted @ 2017-10-03 16:58 扩展的灰(Extended_Ash) 阅读(102) 评论(0) 推荐(0) 编辑
摘要:题意:给你一颗树,每次选择一条简单路径进行染色,问最后每条边的颜色此题非常之坑,各种卡,主要是卡栈空间首先看题就写了个树剖,让后各种TLE和RE,开了O3还是不行#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#... 阅读全文
posted @ 2017-10-03 16:58 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0) 编辑
摘要:有n个无聊的人,对于一条长为m(n#includeusing namespace std;int n,m,x,y,v[2000010];int s[2000010>=1) s[x]++;}int fpr(int x){ for(x+=M;x;x>>=1) if((x... 阅读全文
posted @ 2017-10-02 21:27 扩展的灰(Extended_Ash) 阅读(121) 评论(0) 推荐(0) 编辑
摘要:有n个无聊的人,对于一条长为m(n#includeusing namespace std;int n,m,x,y,v[2000010];int s[2000010>=1) s[x]++;}int fpr(int x){ for(x+=M;x;x>>=1) if((x... 阅读全文
posted @ 2017-10-02 21:27 扩展的灰(Extended_Ash) 阅读(74) 评论(0) 推荐(0) 编辑
摘要:给你一个图,求一个最大边和最小边差值最小的生成树首先我们可以枚举最小边,每次跑一个最小生成树即可但是这样会超时,我们考虑优化采用最优性剪枝,假设我们当前树中的最小边是i,当前边是j,当前最优答案是ans,那么对于所有边k使得Length(j)-Length(k)>An... 阅读全文
posted @ 2017-10-02 11:53 扩展的灰(Extended_Ash) 阅读(104) 评论(0) 推荐(0) 编辑
摘要:给你一个图,求一个最大边和最小边差值最小的生成树首先我们可以枚举最小边,每次跑一个最小生成树即可但是这样会超时,我们考虑优化采用最优性剪枝,假设我们当前树中的最小边是i,当前边是j,当前最优答案是ans,那么对于所有边k使得Length(j)-Length(k)>An... 阅读全文
posted @ 2017-10-02 11:53 扩展的灰(Extended_Ash) 阅读(98) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个不同的数问你能构成多少个不同的二叉堆显然不能枚举,我们考虑用递推我们令f[i]表示以i为根的二叉堆有多少种令l,r为i的左右儿子,令size[i]为以i为根的堆的大小那么显然,f[i]=f[l]*f[r]*C(size[i]-1,size[l]),因为n... 阅读全文
posted @ 2017-10-02 11:26 扩展的灰(Extended_Ash) 阅读(131) 评论(0) 推荐(0) 编辑
摘要:题意:给你n个不同的数问你能构成多少个不同的二叉堆显然不能枚举,我们考虑用递推我们令f[i]表示以i为根的二叉堆有多少种令l,r为i的左右儿子,令size[i]为以i为根的堆的大小那么显然,f[i]=f[l]*f[r]*C(size[i]-1,size[l]),因为n... 阅读全文
posted @ 2017-10-02 11:26 扩展的灰(Extended_Ash) 阅读(92) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示