bzoj 3689 异或之

二分答案+trie判定。卡时过 之后看题解: 用堆维护每个数可以获得的最小答案,每次取出最小元素,查询它的比当前大的最小值,加入堆。就和dijstra求k短路差不多的思路。 #include #include #include #include #include #define ll lo...

2015-11-28 23:03:00

阅读数:326

评论数:0

bzoj 4012 [HNOI2015]开店 【树链剖分】

这道题好像各位神犇都是用动态树分治写的,我这么弱只能用树剖水一水了。 dis(x,y)=dis(1,x)+dis(1,y)-dis(1,lca(x,y)) 前两个都是定值,求第三项就行了。 每个点x维护不在重链上的子节点的个数*dis(1,x),查询显然,再yy一些别的东西就可以了。 #i...

2015-11-28 22:55:47

阅读数:569

评论数:1

bzoj4008[HNOI2015]亚瑟王

f[i][j]表示给[i,n]区间的卡牌j次机会的概率。单独考虑每一张牌的情况,而不是单独考虑每一轮的情况 f[0][r]=1; f[i][j]=f[i-1][j]*sig(i-1,j)+f[i-1][j+1]*(1-sig(i-1,j+1)) 其中sig[i][j]表示第i张牌,j次机会,...

2015-11-28 22:51:30

阅读数:764

评论数:0

bzoj 3535Fair Photography【hash】

很容易想到枚举出现的位置,哈希一个前缀和,判定有无出现过。 这样复杂度有点大。 hzwer给出了一个小的常数优化:维护每个数和第一个出现的数的差值,这样只有改首个复杂度是k^2否则都是O(k) 注意细节 #include #include #include #include #includ...

2015-11-28 22:46:45

阅读数:408

评论数:0

bzo j3122: [Sdoi2013]随机数生成器

这道题不难想,难的是分类讨论。 先是最一般的情况 推出公式套用bsgs。 这个要求答案>1且a!=1(等比数列的分类讨论)且a!=0(0没有逆元) 所以第一种情况a!=1 a!=0 ans=1 第二种情况 a!=1 a!=0 ans!=1 如果a=1,第一种情况ans=1 第二种...

2015-11-28 22:29:34

阅读数:248

评论数:0

bzoj 4295 Hazard 【循环】【单调队列】【扫描】

第i个人抽到的序列与(i%m)是一样的,所以只需要讨论i%m剩余系下的问题。 首先搞出来每个人抽牌的循环,然后我们要判定这个人需要多少个循环加多少轮才能没钱。 需要知道两个东西,一个循环中最小的前缀和和一个循环的和。这样循环数就大约是(初始钱数-最小前缀和-1)/一个循环的和+1,还需要的轮数...

2015-11-28 22:18:53

阅读数:419

评论数:0

bzoj 1567 JSOI2008]Blue Mary的战役地图【二维字符串哈希】【水题】

二分后判定有无两个相同的子正方形,复习了一下二维字符串哈希。 #include #include #include #include #include #define ull unsigned long long #define inf 1e9 #define eps 1e-10 #defin...

2015-11-28 22:13:42

阅读数:288

评论数:0

bzoj 2728 与非 【找规律】 【位运算】 【数位dp】

通过与非运算可以组合出and和not,然后and和not可以组合所有的逻辑运算。 所以只要有可能,没有表示不出来的数。但是如果所有数都满足st[i]=st[j] 那么这两位无论如何都相等。 并查集维护所有相等的类别,数位dp 还是不太熟练。 01数位dp的本质是枚举所有的非0位,假设它是0...

2015-11-20 23:18:17

阅读数:278

评论数:0

bzoj 1398 项链 【最小表示法】

盗CA爷的题,学习了最小表示法,最后发现CA爷不是写的这个算法。 但不管了。 最小表示法大致是维护两个指针ij且i!=j 把它们向后扫,直到st[i+k]!=st[j+k] 然后将st较大的那个指针移到x+k+1,如果两个指针相等,任取一个加一。 注意是一个循环字符串,在k=l时退出。 因为...

2015-11-20 23:10:45

阅读数:733

评论数:0

bzoj 2732 射箭 【抛物线】 【线性规划】 【半平面交】

从原点射出的抛物线方程y=ax^2+bx 注意没有c,开始绕了很久。 于是乎可以得出一些线性规划方程 y1=)x1^2a+x1b 其中ab为要求的量。 所以二分,用半平面交判定交是否为空。 1、半平面交是否为空R-L>1; 及如果有两个及以上向量,不为空 2、加4个边框注意方向,而且...

2015-11-20 23:04:08

阅读数:672

评论数:0

bzoj 2306 幸福路径 【floyd】【dp】

期望值最大的dp,转移有环 开始在想强连通分量缩点之后,块内高斯消元+拓扑图dp。 但是高斯消元没有max的转移。 所以用了处理有环最大值的方法:floyd 总结一下: 处理转移有环的方法: 最短路(单源 floyd)主要是求max/min 高斯消元 主要是求期望。 强连通分量缩点...

2015-11-20 22:57:47

阅读数:370

评论数:0

bzoj 4318 osu 【三次方问题】【dp】

二次方的问题可以说是经典了,三次方yy一下也就出来了。 (x+1)^3=x^3+3x^2+3x+1 所以维护x^2 x的期望值。注意x^2的期望值不等于x期望值的平方。#include #include #include #include #include #define ll long l...

2015-11-20 22:52:38

阅读数:625

评论数:0

heheda练数据结构

联赛结束,自己的码力已经下降了不知多少个档次,再加上最近空闲时间比较多,我就开启了这个可以说最费时间的专题。 //话说我未完成的数论专题还会继续的。 最近看了以下知识点: 线段树套线段树 线段树套平衡树 准备学习: 替罪羊树 块状链表 复习: 树链剖分 树状数组套线段树 一些高级的线段树 可持久化...

2015-11-20 22:20:37

阅读数:1974

评论数:0

蒟蒻的noip2015滚粗记

oi就是一场实力与运气的博弈——题记        也不知道这会不会是自己的最后一年noip,也不知道2016夏绵阳见是什么样子。但是,第三年的noip,还是值得回味的。 Day 0        又是一个阴雨连绵日,和往常不一样的是我弃掉了周五上午的课,回家学(tui)习(fei)。花了一...

2015-11-16 18:48:46

阅读数:1759

评论数:2

bzoj 2039 人员雇佣

2个月没写网络流,已经忘得干干净净了。经典最小割建模 x y 都选  B+D=ax+ay不选x, 选y A+D+F=ay+3exy选x,不选y B+C+E=ax+3exyx,y都不选 A+C=2exy这个东西我列错了3遍,两个选一个没有的是x对y,y对x的贡献和x对y的影响都不选是exy*2开始的...

2015-11-16 10:40:38

阅读数:706

评论数:0

bzoj 3997 组合数学

最小链覆盖等于最大独立集。两个点不相互可达则一个数在另一个数的左下角,dp即可。#include#include#include#include#include#define ll long long#define inf 1e9#define eps 1e-10#define md#define...

2015-11-16 10:40:35

阅读数:282

评论数:0

heheda的数论专题练习

膜拜sd数论之神yts1999bzoj 2956 模积和这是bzoj第300道题,纪念一下再说其实并不难,把n%i变成n-(n/i)*i,然后不考虑i!=j就是n^2*m^2-n^2*sigma( (m/j)*j )-m^2*sigma( (n/i)*i )+sigma(i*j*(n/i)*(m/...

2015-11-16 10:40:33

阅读数:512

评论数:0

bzoj 1818/1732 聚会

首先,答案的点一定在三组lca中的一个上它在那个最深的lca上,不要问我为什么或者,这三组lca一定有两个重复的,答案是那个不重复的。#include#include#include#include#include#define ll long long#define inf 1e9#define...

2015-11-16 10:40:30

阅读数:184

评论数:0

bzoj 3594 方伯伯的玉米田

开始觉得自己好不容易想出一道题,后来发现自己是错的。用f[i][j]表示前i个玉米,发动j次技能最多能留下的玉米数。但是这个东西可以由j=1~i-1中任意一个数转移来,所以用树状数组优化dpf[i][j]=f[p][q]+1(p=p+q)#include#include#include#inclu...

2015-11-16 10:40:28

阅读数:367

评论数:0

bzoj 2734 集合选数

构造矩阵1 3  9  27…2 6 18 54…4 12 36 108………每个数是上面的数乘2,左面的数乘3。这样进行状压dp就是相邻的格子不能选的方案数。如何判断一个二进制数没有两个连续的1? x&(x如果有的数没有出现过,就以它为左上角元素再构造一个矩阵。这是怎么想到的?!!#in...

2015-11-16 10:40:25

阅读数:268

评论数:0

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