nike0good |Oier&ACMer | 熟能生巧

有所作为是生活中的最高境界。

手速练习

[TOC] RT Problem name time/min solution POJ 1753 Flip Game 20min 枚举 poj1753#include<cstdio> #include<cstring> #include<...

2015-10-29 00:18:18

阅读数 703

评论数 0

POJ 2778(DNA Sequence-Fail指针+矩阵快速幂)

在只有4个字母的字符集中,给你n个字符串(n*L<=100) ,求长度为m的且不包含前面任何一个序列的字符串个数(m<=2000000000)建一个字典树,在上面加Fail指针 然后goi,cgo_{i,c} 表示 从i点走字母cc 会到字典树上的哪个点 最后建立邻接矩阵A,ai,...

2015-10-27 02:14:42

阅读数 472

评论数 0

BZOJ 4282(慎二的随机数列-构造+LIS)

求一个长度为n≤ 100000的最长上升子序列,其中有一些位置为N,表示可以放任意数先贪心把N全取了剩下的 把原数列aia_i 变为 ai−cnta_i-cnt cnt为i之前N的个数 显然这样可以求出答案 加回n即可#include&lt;bits/stdc++.h&gt; ...

2015-10-24 21:06:47

阅读数 778

评论数 3

BZOJ 4276([ONTAK2015]Bajtman i Okrągły Robin-线段树构图费用流)

普通的费用流,但是点数太多 于是用线段树构图#include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<functional> #i...

2015-10-24 19:42:50

阅读数 908

评论数 0

BZOJ 4300(绝世好题-dp)

求一个序列的,满足bibi&bi−1!=0bi-1!=0的最长子序列 1<=n<=100000,ai<=10^9乱搞 #include<bits/stdc++.h> using namespace std; #define For(i,n) for(int ...

2015-10-22 18:39:56

阅读数 458

评论数 0

2014-2015 ACM-ICPC, Asia Xian Regional Contest(H - The Problem to Make You Happy )

Alice和Bob两人玩游戏。两人各有一个棋子,开始时在有向图(n≤100)(n \le 100) 中不同的点上。Bob先手,两人轮流移动棋子,每次只能将棋子移到相邻的点上(沿着图上的有向边),不断重复这样的过程,当那人无法移动时,他就输了(规则1)。还有两条附加规则:任何时候,当两个棋子到达同一...

2015-10-20 19:34:19

阅读数 1108

评论数 0

BZOJ 2000([Hnoi2010]stone 取石头游戏-贪心博弈)

有2个栈和一些双端队列,每次可以从栈首或双端队列边取走一个数,取走数的和多大的人赢。 如果先手者和后手者都使用最优的策略,最后先手者和后手者分别能够取得的总石子数分别是多少。对于一个栈,取法唯一, 对双端队列,长度为奇数取法唯一,否则先手可以取走max(所有奇数位,所有偶数位)1. 1 2 ...

2015-10-17 11:43:07

阅读数 1415

评论数 0

2014-2015 ACM-ICPC, Asia Xian Regional Contest(G - The Problem to Slow Down You-回文树)

求两个字符串的公共回文子序列个数建立2个回文树,统计2个字符串每个本质不同的回文串个数, 然后同时遍历2个回文树(取交),或者hash什么的都行#include<bits/stdc++.h> using namespace std; #define For(i,n) for(int ...

2015-10-13 14:48:41

阅读数 630

评论数 0

BZOJ 2342([Shoi2011]双倍回文-manacher+set)

N<=500000显然wwRwwRww^Rww^R 本身就是偶数回文串 设它为(x−2l+1,x−l),(x−l+1,x),(x+1,y),(x+l+1,x+2l)(x-2l+1,x-l),(x-l+1,x),(x+1,y),(x+l+1,x+2l) 枚举这个回文串的中点xx,找最大的y...

2015-10-13 14:44:50

阅读数 779

评论数 0

BZOJ 3672([Apio2014]回文串-回文树)

考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 字符串长度≤300000回文树模板题建立回文树,则每个节点对应了一个本质不同的回文串,出现次数为cnticnt_i 于是暴力遍历即可一个...

2015-10-13 13:25:40

阅读数 893

评论数 0

CF 584E(Anton and Ira-构造+贪心)

已知2个排列a,b,交换第i位位与第j位代价=abs(i-j) ,求把排列a变成排列b最小代价及任一合法方案先把第一个排列变成顺序的我们考虑对 ii 最终要移到bib_i ,代价=|i−bi||i-b_i| 最小总代价ans=12∑ni=1|i−bi|ans=\frac1 2 \sum_{i=...

2015-10-13 13:17:19

阅读数 735

评论数 0

BZOJ 4292([PA2015]Równanie-数学)

对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和。现在给定三个正整数k,a,b,请求出满足a<=n<=b且k*f(n)=n的n的个数 已知三个正整数k,a,b(1<=k,a,b<=10^18,a<=b)f(n)的取值范围很小,不超过1600 因此k*...

2015-10-09 07:30:07

阅读数 586

评论数 0

BZOJ 4154(Generating Synergy-kd-tree代替树套树)

给定一棵以1为根的有根树,初始所有节点颜色为1,每次将距离节点a不超过l的a的子节点染成c,或询问点a的颜色,可以离线 n,m,c<=10^5,首先把一个点的dfs序值和深度变成2维平面的点 (In i ,d i )(Out i ,d i ) (In_i,d_i)(Out_i,d_i) ...

2015-10-07 22:20:09

阅读数 1042

评论数 0

BZOJ 2683/4066(简单题-kd-tree重构)

初始(N*N)矩阵全部为0,维护2个操作: 1.矩阵加 2.矩阵求和 1<=N<=500000,操作数不超过200000个,内存限制20M2683离线 4066强制在线,数据加强对于离线,我们可以离散化,然后树套树,cdq,怎么开心怎么来 但是在线的情况,我们不能离散化,于...

2015-10-07 14:56:25

阅读数 1547

评论数 0

UOJ #134(【UR #9】App 管理器-tarjen+构造)

给一张混合图的无向边定向,使得原图强连通,题目保证有解。显然,如果只有无向边,那么原图必边强连通,故用tarjen走一遍就行。 现在考虑有有向边的情况, 对于一条无向边,把它从图中删除,因为原图强连通,故 - 存在一条路径从u到v - 存在一条路径从v到u 必然满足一条。 若只满足一条...

2015-10-05 21:40:50

阅读数 682

评论数 0

HDU 5496(Beauty of Sequence-DP)

统计一个序列所有非空子序列的Beauty值, 一个序列的Beauty值为unique后的数列的和算出每个数出现在连续相同元素中第一个时的贡献,求和#include<cstdio> #include<cstring> #include<cstdlib> #inc...

2015-10-05 13:48:31

阅读数 525

评论数 0

CF 582A(GCD Table-贪心)

已知一个序列,两两gcd得到一张表 (图为4,3,6,24,3,6,2) 现在给出表中所有项(不按顺序),给出原序列一个合法解预处理,把gcd表存为i的倍数在表中出现hih_i次,显然hih_i是完全平方数,取根号得到序列中i的倍数出现几次 贪心取最大的那个,把它从gcd表中删去,再取..#i...

2015-10-04 22:31:55

阅读数 662

评论数 0

BestCoder Round #58(Inversion-线段树)

给定一个数列,删除一个连续长度m的序列,使剩下的序列逆序对对数最少 ..a l−2  a l−1  [a l ..a r ] a r+1 .. .. a_{l-2}\space a_{l-1} \space [a_l..a_r] \space a_{r+1} .. 把删除的序列左右两侧的数各放...

2015-10-04 17:51:28

阅读数 449

评论数 0

HDU 5483(Nux Walpurgis-一定在MST中的边)

给定一张n≤3000 n \leq 3000 的完全无向图,已知边权,求一定在MST上的边的边数先求出MST, 然后令f[roo][i] f[roo][i] 表示以roo为根,是否存在一条非树边(roo,v) (roo,v)其与树链 (roo,x) (roo,x)构成环(roo→x→v→roo...

2015-10-03 21:43:36

阅读数 680

评论数 0

HDU 5473(There was a kingdom-凸包+dp)

已知n<100n<100个点取k<nk <n个,求这k个点构成凸包的最大面积。先求出凸包,枚举凸包上第一个点(只要枚举前n/k+(bool)(n%k)个点.#include<cstdio> #include<iostream> #include<...

2015-10-02 13:39:33

阅读数 1128

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭