Codeforces #458 (Div1 + Div 2)

由于不是修仙党看见晚上12点开还3个小时就没打,后来线下开虚拟赛打的...估计现场打能涨不少分?不过现场状态会更好还是更坏也说不定A. Perfect Squares题意: 求给定集合中最大的完全平方数 n<=1000 |ai|<=1000000Sol:...

2018-01-22 20:59:15

阅读数:232

评论数:0

POI2005 泛做

快NOIP了...最近又感觉无所事事...做点题写写总结找找状态= = 只做了BZOJ上那些AC人数较多的题 (没几个人过的题不敢看 -------------------------------------分隔线------------------------------------- BZOJ...

2017-10-25 22:34:10

阅读数:76

评论数:0

BZOJ4596 黑暗前的幻想乡 Matrix_Tree定理 容斥原理

题意:n个点的图其中每条边都有颜色且共有n-1种颜色,求一个生成树满足每种颜色的边出现且仅出现一次 Sol: 容斥全靠猜系列 答案=所有边生成树个数-少一种颜色生成树个数+少两个... 生成树个数用矩阵树定理算一下,注意符号 Code: #include typedef long lo...

2017-08-15 20:20:08

阅读数:139

评论数:0

Codeforces53E Dead Ends Matrix_Tree定理 容斥原理

题意:给出一个n个点的无向图,求恰好有k个叶子的生成树个数 n Sol:  如果是完全图,n个点的带标号生成树个数为n^{n-2} 可以用矩阵树定理或者打表+oeis证明 那么在完全图上求恰好k个叶子的生成树就考虑容斥,钦定有几个点一定是叶子,剩下的点用公式算,每个钦定的叶子都可以接在非钦定...

2017-08-12 18:01:55

阅读数:159

评论数:0

Codeforces835E 二进制乱搞

题意:n个元素中有两个是特别的,"不特别的"元素都是x,"特别的"都是y,且x≠y,现在你可以最多询问最多19次找到特别的元素的位置 询问可以询问一个子集元素的异或和,n Sol: 第一次见到这种题呢,长见识了desu... 考虑如果只有一个怎么做,...

2017-08-01 19:48:11

阅读数:359

评论数:0

李超线段树

现在要求你在线动态维护一个二维平面直角坐标系,支持插入一条线段,询问与直线x=x0相交的所有线段中交点y的最大/最小值 --李超线段树解决的问题 现在我们只考虑询问最大,事实上最小是同理的 线段树维护覆盖这个区间的"最优势线段","最优势线段"指覆盖此区间且...

2017-07-28 21:44:57

阅读数:1205

评论数:0

BZOJ3122 [Sdoi2013]随机数生成器 数论

题意:对于递推式X_{i}=(a*X_{i-1}+b)%p | X_{1}=c 求最小的n满足X_{n}=t 其中a,b,c,t,p为给定非负整数且p为质数,0 Sol: 把递推式展开得 X_{n}=x1*a^(n-1)+(a^(n-1)+a^(n-2)...a^0)*b 括号里是等比数列,...

2017-07-27 18:49:24

阅读数:140

评论数:0

Coci2015泛做

最近比较颓废,写点题练练智商... 感觉自己还是太弱了 进入正题 BZOJ3743 [Coci2015]Kamp  题意:一棵树有边权,有k个关键点,求在每个点出发遍历每个关键点一次的最小边权和 Sol:对于一个点,ans_i=以i为根的k个点的虚树边权和*2-i出发最长链; 一遍dfs求出子树边...

2017-07-09 20:51:14

阅读数:190

评论数:0

组合数取模

经典问题:怎么计算 当n不大时 (n复杂度 n稍大(n p 如果此时p是几个不同素数的乘积,可以分别lucas然后中国剩余定理合并 但如果p=p1^k1*p2^k2...怎么办(保证pi^ki 此时是不能用lucas的,因为pi^ki不是素数 考虑能不能算出n! m! (n-m)!来做 但是阶乘在...

2017-07-06 23:00:10

阅读数:99

评论数:0

BZOJ3926 [Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机

神々が恋した幻想郷 ~ Kamigami ga Koishita Gensoukyou 题意:一棵树点上有字符,求树上路径所组成的本质不同的字符串的个数,保证叶子数 Sol: 陈老师出的题..Orz 首先由一个结论:树上任意一条简单路径都可以被以某个叶子为根的树上的一条纵向链表示,即枚...

2017-06-26 22:32:24

阅读数:164

评论数:0

BZOJ3676 [Apio2014]回文串 Manacher+后缀数据结构

题意:一个子串的价值被定义为长度*出现次数,求价值最大的回文子串 Sol: 首先本质不同的回文子串个数是O(n)级别的,可以用Manacher求出 然后就是要求一个子串的出现次数 可以用后缀数组+二分求,也可以用后缀自动机 定位到子串所属前缀在自动机上的位置,要在Parent树上找这个点...

2017-06-23 23:43:41

阅读数:126

评论数:0

BZOJ2555 SubString 后缀自动机+LCT

题意:给一个串,支持 1.询问一个串在当前串中的出现次数 2.在串尾加一个字符串 强制在线 Sol: 如果没有添加操作,答案就是将给定串在SAM上跑到的最终状态的Right集合大小(到不了就是0) Right集合大小可用Parent树算 现在有了添加,Parent树是会变化(加边或删...

2017-06-15 20:37:42

阅读数:117

评论数:0

BZOJ4516 [Sdoi2016]生成魔咒 后缀自动机/后缀数组

题意:一个串初始为空,n次像串尾添加元素,每次添加后回答本质不同的子串个数 n Sol: 本质不同的子串个数,考虑后缀数据结构 发现向结尾添加字符对后缀数组不友好,但是在开头添加很资瓷,相当于新添加一个后缀 于是考虑离线,把最终串搞出来在翻转一下,建立后缀数组,问题转化成动态添加后缀求不同子串个数...

2017-06-14 21:18:51

阅读数:210

评论数:0

BZOJ2013 [Ceoi2010]A huge tower 乱搞

题意:n块砖各有宽度,A在B的上边当且仅当A不比B的宽度+D长,求放在一起方案数 Sol: 先排序,考虑从小到大一个个插入 因为当前插入的一定最大,比她小的一定能在它上面,只需考虑她能放在谁上面 显然可以放在底下,此外还有一段连续区间可以放 那么可以每次二分区间左端点然后乘法原理 发现...

2017-06-08 23:35:07

阅读数:304

评论数:0

BZOJ3451 Normal 点分治+FFT

题意:陈老师在点分治时随机选择重心然后分治,每次代价为树的大小,求期望代价 n Sol: 这只是Normal 啊!!Lunatic要难成什么样啊TAT 由期望的线性性质,我们可以算出每个点的期望代价求和即为答案。 现在选定一个点,考虑其他点对她的贡献,当这个点是她到选定点路径上第一个被钦...

2017-06-08 23:26:39

阅读数:261

评论数:0

BZOJ2741 【FOTILE模拟赛】L 可持久化Trie+分块

题意:给定长度为n的序列,m次询问区间最大连续子段异或和 n Sol: 首先搞前缀异或和,问题变成询问区间选两个数最大异或和 然后考虑暴力 设f[i][j]表示区间i - j 答案 f[i][j]=max(f[i+1][j],calc(a[i],i+1,j)) calc(x,l,r)表示x...

2017-06-06 23:26:47

阅读数:195

评论数:0

BZOJ3166 [Heoi2013]Alo 可持久化Trie

题意:给定长度为n的整数序列,一个连续子段的收益为子段次大值xor子段中任意数,求最大收益子段值 Sol: 考虑枚举次大值是谁,则一个数作为次大值时的扩张范围是[左边第二个大于她的数+1 , 右边第一个大于她的数-1] 和 [左边第一个大于她的数+1 , 右边第二个大于她的数-1]  两个区...

2017-06-06 23:04:38

阅读数:164

评论数:0

BZOJ 3924: [Zjoi2015]幻想乡战略游戏

题意:动态维护支持修改点权的树上带权重心 Sol: 看见东方就点进来了233 膜拜下陈老师出的题 首先考虑如何求一个点到树上其他点的带权距离和,动态点分治可以做到单词O(logn) 现在考虑暴力,发现如果求出了每个点到其他点的带权距离和记为权值,那么以带权重心为根,权值从上到下递增,换句话说对于任...

2017-06-03 07:38:58

阅读数:297

评论数:0

BZOJ 4598: [Sdoi2016]模式字符串

题意:一棵树点上有字符,给定模式字符串,求树上两点间路径形成字符串为模式字符串重复整数次得到的点对个数 Sol: 显然的点分治,判断可以将模式字符串的正反版本补齐到n后Hash,对当前重心的每个儿子dfs时记录路径Hash值与之前的配对即可,注意自己与自己的配对关系 时间复杂度O(nlogn...

2017-06-01 21:20:13

阅读数:236

评论数:0

BZOJ 2459 [BeiJing2011]神秘好人

题意:2行n列网格图,边有边权,支持 1.修改边权 2.询问两点间最短路 Sol: 身经百战之后,已经没有什么好怕的了,3行n列我也写给你看= = 把Traffic的bool数组改成int维护长度就行了 也是注意绕路情况,合并时耿直的讨论一下 Code: #include #def...

2017-05-13 22:06:02

阅读数:162

评论数:0

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