L_0_Forever_LF的专栏

曾是一个OIer

BZOJ3868: The only survival

根据1到i的最短路dis[i],将原图中的点分成k+2层0~k+1,k+1代表>=k 枚举每一层的点数,然后做个n^2的dp算这种分层图连边的方案数,再乘个这种分层的组合数 dp算的时候,如果算0~i-1层的点连向i层的点的连边方案数,用使其距离>=i的方案数减去使其距离>i...

2018-01-15 22:03:35

阅读数:199

评论数:0

BZOJ3867: Nice boat

每次区间改成一个数,或者所有>=x的数和一个数x取gcd 和一个数取gcd大概log次就取成1了 又有区间覆盖 线段树维护一下这个区间是不是全部相同,全部相同就一起改否则递归下去暴力改 复杂度大概是nlog^2的? code: #include #include #inclu...

2018-01-15 21:45:22

阅读数:92

评论数:0

BZOJ3866: The Romantic Hero

n f[i][j]表示1~i,异或和为j的方案数,g[i][j]表示i~n,与起来为j的方案数 算答案的时候要去重 比如枚举分界点i,限制i一定在左集合内,就可以不重不漏了 code: #include #include #include #include #include #incl...

2018-01-15 21:40:55

阅读数:87

评论数:0

BZOJ3864: Hero meet devil

这题吼厉害呀,Orz cls 假设我们知道了最终串T,考虑求T和S求LCS的过程,f[i][j]表示串T的前i位和串S的前j位的LCS最长是多少,有f[i][j]=max(f[i−1][j],f[i][j−1],f[i−1][j−1]+1)f[i][j]=max(f[i-1][j],f[i][j...

2018-01-13 15:30:48

阅读数:178

评论数:0

BZOJ3863: The Revenge of the Princess’ Knight

一个环,把他分割成恰好k段,使字典序最大的段最小 可以旋转 这题和code festival 2017 qual B 的F挺像的 不过那题是给你字符,让你随便拼,这题倒着理解是把环上相邻的字符拼在一起直到剩下k段 但是贪心的思想是类似的 把一开始的所有字符视作一个串Si,把这n个串和他们...

2018-01-13 10:18:05

阅读数:133

评论数:0

BZOJ3862: Little Devil I

肯定是树剖做分析一下3种操作 1:翻转一条链,直接翻 2:翻转与一条链相邻的边 可以发现,与一条链相邻的边中,是与父亲相连的边只有顶端的那一条,这一条可以直接暴力翻转,然后我们重新定义与链相连的边是链上每个点和儿子相邻的边中不在链上的边 考虑链上每个点和儿子的边,按轻重分类,对于轻边,我们...

2018-01-13 09:54:42

阅读数:130

评论数:0

BZOJ3859: Periodic Binary String

我们可以旋转串T,使得l~r等价于0~r-l 根据(r-l)%k可以将T分成T1,T2两部分,问题变成满足0<=a<2|T1|,0<=b<2|T2|0<=a<2^{|T1|},0<=b<2^{|T2|},pa+qb≡x(Mod p)pa+qb≡x ...

2018-01-10 22:11:58

阅读数:113

评论数:0

BZOJ3861: Tree

因为反正也不知道哪个集合对应哪个,可以先将点集做一个映射,所以我们可以将点集变成{1,2,3,4}{5,6}{7,8,9}类似这样,好看又方便处理每个点集连向的点要么是他前面要么后面,可以f[i][j]表示前i个点集,还有j个点集没有匹配点,图的方案数,因为知道了i和j,前面还有多少个点可供匹配就...

2018-01-10 20:33:53

阅读数:86

评论数:0

BZOJ3858: Number Transformation

这个结论不明显啊… 这种题还是打表找规律吧结论:如果当前的数是x,进行到第i次操作,若i>x√i>\sqrt x,则之后的每次操作x只会加一个不变的定值x/ix/i证明: 当i>x√i>\sqrt x时,设x=kix=ki,则i>x√,k<x√i>\s...

2018-01-09 17:13:45

阅读数:132

评论数:0

BZOJ3857: Multiplication table

给了一个K进制的乘法表,给0~K一个映射,给出映射后的乘法表要求复原这个映射0和1是很容易知道对应哪个的 对于2~K-1(%dalao发现)有一个规律…,即x的那一行/列的乘积,首位数字有x种…. 然后就AC了… 小心PE..code:#include<set> #include...

2018-01-09 17:06:02

阅读数:95

评论数:0

BZOJ3855: Light

一开始有些灯是灭的有些灯是亮的,每次选一个位置,翻转他四个相邻的灯的状态,他的状态可翻可不翻轮廓线dp 有一个朴素的四进制状态,代表每个位置是否是亮的及操作次数的奇偶 但是4^n*n^2会T 考虑减少状态 注意到当前位置上一行的对应位置,如果是亮的,当前位置一定要操作,而一次操作之后不管上...

2018-01-07 16:45:23

阅读数:125

评论数:0

BZOJ3853: GCD Array

对原序列中所有(x,m)=d的ax+v,询问前缀和 对这个修改推一波柿子(以下省略下取整) v∑nx=1(x,m)=d−>v\sum_{x=1}^n(x,m)=d-> v∑n/dx=1(x,m/d)=1−>v\sum_{x=1}^{n/d}(x,m/d)=1-> v...

2018-01-05 08:02:23

阅读数:125

评论数:0

BZOJ3851: 2048

显然只有2的幂次对产生2048有用,即20,21,22....2112^0,2^1,2^2....2^{11} f[i][j]表示前i个2的幂次,合并了j个2i2^i的子序列数code:#include<set> #include<map> #include<deq...

2018-01-04 22:06:02

阅读数:102

评论数:0

BZOJ3850: ZCC Loves Codefires

考虑最优的顺序满足什么性质 设两个部件A,B顺序为A在B前面,费用分别是a,b,耗时ta,tb,中间部分费用和S,耗时和T 如果最优顺序中A在B前面(A,B前后的部件显然不需要考虑),则有 ata+Sta+b(ta+T+tb)<btb+Stb+a(tb+T+ta)at_a+St_a...

2018-01-03 14:15:47

阅读数:126

评论数:0

BZOJ3847: ZCC loves march

每个点如果不考虑被分裂出去,他至多只会被合并一次,维护两个set,每次合并可以暴力找出这一行/列的所有点,并查集资瓷一下合并成一个点,每次分裂可以直接新建一个点代表这个分出去的点code:#include<set> #include<map> #include<deq...

2018-01-03 12:29:17

阅读数:215

评论数:0

BZOJ3846: ZCC loves words

注意到模数5047621=179*173*163 拆成这3个质数算,EXCRT合并 建立AC自动机,在上面dp,套个矩乘 但是发现在i位置匹配一个长度为k的单词j,贡献是(i+k)*prime[j],对于不同的i贡献不同,又因为模数<200,最多只有100+种矩阵,处理出循环节就可以矩...

2018-01-03 11:55:46

阅读数:146

评论数:0

BZOJ3844: ZCC loves cards

朴素的暴力是Cknk!k2C_n^kk!k^2,但事实上很多组合根本不可能达到ans,所以枚举了一个组合后先忽略一定是连续的异或和的限制,2k2^k判答案是否有可能超过ans,有可能再k!k2k!k^2找,在随机数据下表现良好QAQcode:#include<set> #include...

2017-12-25 10:49:44

阅读数:159

评论数:0

BZOJ3843: ZCC loves Army

把树转成左儿子右兄弟的那种二叉树的形式 发现一个点能且仅能给他的子树传递order,询问3就变成了询问一个点到根有多少个点 对于传递message,可以给每个点定一个编号0的虚儿子,给他赋权1,就变成了询问两点间路径的权值和,注意要特判一个点是另一个点的祖先的情况,bzoj上的数据有误,不判这...

2017-12-25 08:37:14

阅读数:172

评论数:0

BZOJ3841: ZCC Loves Intersection

两条线段有交的充要条件是每一维上都有交qwq 因为每个线段都平行一个坐标轴,他的表示应该是(l~r,x1,x2,x3…xn) A和B相交和A和C相交显然没有任何关系 算粗A,B相交的概率,乘上两两的组合数就行了 两条线段相交的概率画一下柿子就行了吧 然后写个高精..code:#inclu...

2017-12-25 08:22:02

阅读数:172

评论数:0

BZOJ3840: ZCC Loves COT

正解十分鬼畜…对标记的标记打标记….由于我匮乏的空间想象能力,我果断打了O(n3+nm+nq)O(n^3+nm+nq)的二维情况,然后卡过去了233考虑一维的情况,就是对l~r区间+1,差分后在l,r+1分别打标记,所有操作完扫一次 问题拓展到二维时类似,观察对每一维打的标记, +1,-1...

2017-12-25 08:15:01

阅读数:172

评论数:0

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