自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 【BZOJ 1878】[SDOI2009]HH的项链 莫队

我觉得出题人应该想的是主席树,树状数组什么玩意把,莫队做的话水的要死#include#include#include#include#include#define maxn 200020using namespace std;int n,m,a[maxn],block,ans[maxn],pos[50010];void read(int& x){ x=0;char c=get

2016-11-14 21:42:25 197

原创 【BZOJ 1047】 [HAOI2007]理想的正方形 单调队列(也可以dp水)

BZOJ上面是总时间,所以这一道题在BZOJ上是可以直接用滚动数组水过去的,但是还是不推荐,不过还是写出来吧#include#include#include#define mmax(a,b,c,d) max(a,max(b,max(c,d)))#define mmin(a,b,c,d) min(a,min(b,min(c,d)))using namespace std;int f[

2016-11-14 20:13:40 311

原创 【BZOJ 1856】 [Scoi2010]字符串 折线法

方程ans=C(n+m,m)-C(n+m,m-1)类似卡特兰数的公式,卡特兰数通项公式:h[n]=c(2*n,n)-C(2*n,n-1)证明用折线法,不过懒得画图了:卡特兰数证明:http://blog.sina.com.cn/s/blog_6917f47301010cno.html类似于上面我们每增加一个1就相当于斜向上走一步,0就是斜向下走一步,那么在没有限制的情况下方案数就是

2016-11-14 18:08:16 221

原创 【洛谷 1525】关押罪犯 并查集||二分+染色

一开始的想法就是二分最大值,然后将所有大于这个值的边建立起来,这样,边两头链接的端点一定不再同一个集合,直接二分图染色判断就好了;#include#include#include#include#define maxm 200020#define maxn 40020using namespace std;int n,m,head[maxn],tot,col[maxn],vis[

2016-11-14 16:57:58 229

原创 【洛谷 1290】 欧几里德的游戏 博弈论

对于任意状态(x,y)如果x>=2*y则先手必胜。原因很简单,假设m=x%y,如果(y,m)是必胜状态,则先手只用取到y+m,由于yx>y只有一种决策,就是取y个,但是时间复杂度已经可以很轻松的承受了#include#include#include#define LL unsigned long long#define sswap(a,b) (a^=b^=a^=b)using n

2016-11-14 10:21:06 467

原创 【poj 1006】Biorhythms 中国剩余定理

http://blog.csdn.net/acdreamers/article/details/8050018中国剩余定理:                       x≡a1(mod m1)                       x≡a2(mod m2)                       x≡a3(mod m3)                 

2016-11-13 20:48:23 293

原创 【BZOJ 1257】[CQOI2007]余数之和sum

分析发现所有a/b=x....y 如果x相同的话y是一个等差数列于是可以利用等差求和,枚举x最多只枚举到根号n,然后再暴力枚举根号n 以下的数字,复杂度根号n#include#include#include#define LL long longusing namespace std;LL n,k,ans,l;int main(){ scanf("%lld%lld",&n,&

2016-11-13 19:22:34 336

原创 【BZOJ 1084】最大子矩阵

本来一开始的想法是把m==1和m==2的情况分开讨论,也是能做的,现在一想。。。。又是一个dp套路定义f[i][j][k]表示第一段扫到i第二段扫到j一共分为k个矩阵的方案数,然后就可以转移了,就想学长说的,想出dp定义,dp题就做完一半了#include#include#include#define Rep(i,a,b) for(int i=a;i<=b;i++)#define rR

2016-11-12 16:03:25 230

原创 总结

noip没几天了,这几天就不写太难的题了,安安心写一下总结,再做一下安排。不要再胡乱刷题了,保持手感写一下noip二三题的难度的题。

2016-11-12 10:55:49 310

原创 【poj 3461】Oulipo hash求子串hash值

我靠,这道题卡时限太厉害了吧,我用大质数取模居然能T,最好无赖改成了unsigned long long自然溢出才过,不过这样写hash很容易被卡啊。用hash过一次字串hash公式 hash[l,r]=(hash[r]-hash[l-1]*p^(r-l+1)+Mod)%Mod#include#include#include#define LL unsigned long longus

2016-11-10 22:22:33 260

原创 【洛谷 1613】跑路

因为每一次只能走2的k次方步,所以我们先处理除 那些点之间可以直接通过走一次(即长度为2的k次方)能走到,实现嘛,有点类似Floyd跑传递闭包维护可达性,然后再随随便便跑一个最短路数据这么小floyd泡一泡就好了,唯一的坑点就是,我靠居然是有向图#include#include#include#define maxn 10020#define LL long longusing na

2016-11-08 22:23:26 230

原创 【BZOJ 1055】[HAOI2008]玩具取名 bool型dp

定义f[i][j][k]表示区间i->j这一段能否通过一定的变换转化成k这一个单个的字符,然后,好像就没有然后了,转移就好了#include#include#includeusing namespace std;int p[5],n;bool f[210][210][5],vis[210][210][5];char s[210],mat[5][20][3];char c[]={'

2016-11-07 21:33:35 293

原创 【BZOJ 1076】 [SCOI2008]奖励关 期望dp

首先看到n的范围非常的小,所以考虑状压f[i][j]表示现在扔到i次,然后第二维表示有那些吃过,所以转移就是f[i][j]+=f[i-1][k]且pre[i]&k==pre[i]但是考虑如果是顺推的话很难判断条件是否合法所以一个常用套路就是逆推,而只是改变的转移方向,方法不变期望公式期望=∑得分*概率这一步的期望=(上一步的期望+本次得分)*概率#include#incl

2016-11-06 21:23:53 246

原创 【BZOJ 1046】[HAOI2007]上升序列 lis

额,一开始没有认真读题,我以为最小字典序输出是数字大小最小字典序,结果是位置,我靠水我呢。倒过来做一次最长下降子序列(手顺一下子写成最长不上升子序列,一个元素有重复,一个没有重复),得到重每一个位置开始的最长上升子序列(就是倒过来的最长下降),输出的时候贪心,能输出就直接输出#include#include#include#includeusing namespace std;i

2016-11-06 20:06:35 187

原创 【poj 1037】A decorative fence 排列dp

没事做,就好好来说一下这一道题把。首先明确这里的dp定义,但是在这里我和我的队友们产生了分歧,虽然效果和解题方法都是一样的但是dp嘛,重要的是在于对于思想的理解。我的想法(也是xgtao的):定义f[i][j]表示用1->i组成排列,且最后一个数字是j的方案数,但是我们可以发现,如果仅仅是这样的话,那么将会有很多的情况没法表示,例如:1 4 2 3 在前3个数字的时候,1 4 2并不是连续

2016-11-04 20:51:31 224

原创 【BZOJ 1208】 [HNOI2004]宠物收养所 splay模板(指针)+set

这一道题,出题就为了强行掩饰这是一道裸的平衡树硬生生装题面。裸的平衡树,找前缀后缀就可以了,但是数据太水了,我的手撕splay居然和stl的set速度只是快了一点,我不服set版:#include#include#include#define Mod 1000000#includeusing namespace std;int n,pos,ans;sets;

2016-11-03 08:35:35 313

原创 【BZOJ 2783】 [JLOI2012]树

so,问题描述和题意到底有个什么关系?因为保证路径中节点的深度必须是升序的,所以对于一个点来说,如果可以以他为端点形成一条合法的路径,就可以倍增的找到另外一个端点,而且每一个点的值好像都是大于0的,所以如果有,就只有一条。强调:1.f表示的是不包括他自身的区间范围,例如f[u][0]就是u的父亲而g是要求算上他自身例如g[u][0]包括了自己这个节点的权值。           2.非

2016-11-02 15:31:09 273

原创 【bzoj 4567】[Scoi2016]背单词 trie树+贪心

因为要维护的是后缀,所以把字符串倒叙插入,然后其实第一种情况是一定不能发生的,所以在一个字符串插入之前必须将他的所有的后缀全部插入,然后证明两个单词之间是不会有影响的,交换任意两个没有后缀关系的单词,其中一个的贡献加一,而另外一个减一所以没有影响。所以建一个新树,再跑贪心就好了#include#include#include#include#include#define maxn 7

2016-11-02 10:38:58 379

原创 【洛谷2680】【BZOJ 4326】运输计划 lca+差分

某学长:这题啊,树剖啊,裸的,结果当我写了100+树剖,猛然发现,好像这个树剖除了求lca就没有任何卵用了,so,为毛不用倍增,不过还是有用,洛谷上时限卡的紧,倍增求lca根本不行,T的不要不要的,好在现在管理员把时限改过来了,可以放心使用了思路嘛,就是二分答案,然后找出所有比二分出答案大的边,那么这些边一定是需要改进的对吧,也就是说需要改进的拿一条边一定是这些路径的一个交集,所以差分记录每一

2016-11-01 21:28:13 278

opencv3.4.1

虽然opencv可以直接在官网上下载,但是很坑的是opencv3居然不能直接用surf特征检测,之前需要一系列的准本工作,所以分享了这个压缩包可以直接使用

2018-09-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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