bzoj
文章平均质量分 56
pbihao
这个作者很懒,什么都没留下…
展开
-
【bzoj 1087】[SCOI2005]互不侵犯King 状压dp
【bzoj 1087】[SCOI2005]互不侵犯King 状压dp原创 2016-09-04 17:05:46 · 286 阅读 · 0 评论 -
【bzoj 1016】[JSOI2008]最小生成树计数 脑残是病
【bzoj 1016】[JSOI2008]最小生成树计数 脑残是病原创 2016-09-19 11:36:17 · 228 阅读 · 0 评论 -
【bzoj 2102】 [HNOI2005]狡猾的商人 带权并查集维护区间和
【bzoj 2102】 [HNOI2005]狡猾的商人 带权并查集原创 2016-09-19 21:32:05 · 439 阅读 · 0 评论 -
【bzoj 1218】 [HNOI2003]激光炸弹
【bzoj 1218】 [HNOI2003]激光炸弹原创 2016-09-19 22:24:22 · 301 阅读 · 0 评论 -
【bzoj 1088】 [SCOI2005]扫雷Mine 不能再水了
不想多说#include#include#include#define maxn 10020using namespace std;int n,a[maxn];bool check(int now){ if(now>a[1]||now>a[2])return false; int last=now,up=0; for(int i=2;i<=n;i++){ int x=a原创 2016-10-21 16:12:42 · 287 阅读 · 0 评论 -
【bzoj 1934】[Shoi2007]Vote 善意的投票 最小割
【bzoj 1934】[Shoi2007]Vote 善意的投票 最小割原创 2016-10-21 17:25:44 · 396 阅读 · 0 评论 -
【bzoj 1029】 [JSOI2007]建筑抢修
1029原创 2016-10-11 20:43:58 · 270 阅读 · 0 评论 -
【bzoj 2456】 mode 众数
内存1M我开了5个int报空间了。由于出现的哪一个众数会大于n/2所以不同的数之间相互抵消,最后剩下来的一定是哪个众数#includeint n,tot,x,y;int main(){ scanf("%d",&n); while(n--){ scanf("%d",&y); if(tot==0)x=y,tot++; else if(y==x)tot++; else t原创 2016-10-11 20:55:17 · 243 阅读 · 0 评论 -
【bzoj 1050】 [HAOI2006]旅行comf
老实说,这好像是我第3次写这道题了(各种原因),可还是WA了几发,边权从大到小排序以后,以每一个边为起点向后面并查集连边,第一次s和t联通的时候就是比值最小的时候,直接退出就可以了,然后用double暂时储存当前最大值/最小最后gcd约分就ok了#include#include#include#include#define maxn 5020using namespace std;原创 2016-10-11 22:01:25 · 192 阅读 · 0 评论 -
【bzoj 1051】 [HAOI2006]受欢迎的牛 强联通分量
简单的Tarjan入门题,直接缩点以后判断有多少个强联通快的出度为0,如果只有一个就输出大小,否则无论多还是少都输出0#include#include#include#include#define maxn 50010using namespace std;int n,m,head[maxn*2],tot=1,vis[maxn];struct edge{ int v,next;原创 2016-10-12 10:41:40 · 198 阅读 · 0 评论 -
【bzoj 2330】[SCOI2011]糖果 差分约束
连差分约束不知道是什么的:http://www.cnblogs.com/void/archive/2011/08/26/2153928.html假设 需要满足条件:b-ac-bc-a(1)(2)相加 得到不等式c-a所以要使条件满足的首要条件就是c-a注意:1.最少每个人分到一个糖果从0填边的时候边权为1,而且要从后面向前填边原创 2016-10-12 16:03:58 · 223 阅读 · 0 评论 -
【bzoj 2763】2763: [JLOI2011]飞行路线 spfa二维
理解一个模板的时候需要更深层次的理解,这题就是一个例子,虽说spfa是一个很迷的算法(你能一下子说出为什么spfa的复杂度就是那么低吗?)其实大多数的时候推荐使用dijikstra(复杂度是确定的nlogn,虽然有点常数),以前在cf上的比赛就有过卡spfa的,好像是一个深层菊花什么什么图,在最坏的情况下复杂度可以达到n2(扯得有点远)。回到这道题,事实上spfa也是广义的递推,所以思维不要局限,原创 2016-10-12 19:18:39 · 415 阅读 · 0 评论 -
【bzoj 4325】【noip 2015】斗地主 暴力搜索
【bzoj 4325】【noip 2015】斗地主 暴力搜索原创 2016-10-23 20:29:03 · 420 阅读 · 0 评论 -
【bzoj 1045】[HAOI2008] 糖果传递
想了很久一点思路都没有,感谢黄学长:http://hzwer.com/2656.html很巧妙的证明,尤其是后面的坐标求解#include#include#include#include#include#include#define maxn 1000020#define LL long longusing namespace std;int n;int c[max原创 2016-10-13 11:17:06 · 228 阅读 · 0 评论 -
【bzoj 1090】[SCOI2003]字符串折叠 区间dp
我记得好像poj上面有一道类似的题目,不过最后是叫你输出那个压缩后的字符串而不是长度,大同小异啦(poj2176)定义f[i][j]表示i->j这一个区间内压缩后的最短长度,转移类似于很多的区间dp(例如poj1636 :http://blog.csdn.net/pbihao/article/details/52902173),枚举中间的断点然后记忆化递归处理,每一次处理一段的时候再暴力检验能原创 2016-10-25 15:52:13 · 236 阅读 · 0 评论 -
【bzoj 1079】[SCOI2008]着色方案 逆向定义
关于dp的定义嘛一半套路一半脑洞,想到5^16的定义,不知道怎么优化结果又是套路。5^16很大但是16^5小啊,而且只要每一种颜色出现的次数一定,他到底是哪一种 颜色并不影响所以定义f[a][b][c][d][e][x]分别表示出现了一次的颜色个数2次的。。。。但是答案还要求相邻的两个之间不允许出现同样的颜色,那么我们加一维记录上一次选用的是出现了几次的例如说上一次选用的是出现了3次的那么在处原创 2016-10-25 22:05:02 · 220 阅读 · 0 评论 -
【BZOJ 1046】[HAOI2007]上升序列 lis
额,一开始没有认真读题,我以为最小字典序输出是数字大小最小字典序,结果是位置,我靠水我呢。倒过来做一次最长下降子序列(手顺一下子写成最长不上升子序列,一个元素有重复,一个没有重复),得到重每一个位置开始的最长上升子序列(就是倒过来的最长下降),输出的时候贪心,能输出就直接输出#include#include#include#includeusing namespace std;i原创 2016-11-06 20:06:35 · 174 阅读 · 0 评论 -
【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 · 230 阅读 · 0 评论 -
【bzoj 1748】[Ahoi2009]Seq 维护序列seq 裸的线段树
【bzoj 1748】[Ahoi2009]Seq 维护序列seq 裸的线段树原创 2016-10-16 20:14:20 · 250 阅读 · 0 评论 -
【bzoj 1858】 [Scoi2010]序列操作 线段树
第一次学习线段树的时候写的第一道题,想一想那时候天真的自己还是搞了一整天,用了将近标程2倍的代码量,记得那时候当屏幕出现ac是激动的样子,哎,人老了#include#include#include#define maxn 100010#define lson u<<1,l,mid#define rson u<<1|1,mid+1,rusing namespace std;int原创 2016-10-16 20:25:43 · 264 阅读 · 0 评论 -
【bzoj 2298】[HAOI2011]problem a dp
【bzoj 2298】[HAOI2011]problem a dp原创 2016-10-16 22:00:44 · 262 阅读 · 0 评论 -
【bzoj 1012】[JSOI2008]最大数maxnumber 线段树裸题
裸题#include#include#include#define maxn 200020#define ls u<<1,l,mid#define rs u<<1|1,mid+1,r#define LL long longusing namespace std;int m,len;LL d,t;struct node{ int l,r; LL Max; node(){原创 2016-10-17 09:42:51 · 186 阅读 · 0 评论 -
【bzoj 1002】[FJOI2007]轮状病毒 python水过
不想写高精度a=[0]*105b=[0]*105a[1]=1a[2]=4b[1]=1b[2]=3for i in range(3,100): a[i]=3*a[i-1]-a[i-2] b[i]=3*b[i-1]-b[i-2]n=int(input())if(n%2): print ((int(a[int((n+1)/2)]))**2)else: print (原创 2016-10-17 10:09:38 · 308 阅读 · 0 评论 -
【bzoj 1068】[SCOI2007]压缩 区间dp
做完bzoj 1090之后来写这一道题简直就是毒瘤啊!!!!!!虽然主要是怪我没有认真读题,凭着对上一道题的理解,来写着一道,但还是忍不住心累(bzoj 1096:http://blog.csdn.net/pbihao/article/details/52923289)首先这一道题的R是将到M为止 的所有全部复制也是两道题最大的不同例如aaaaaa在压缩以后只能是aaaR 不能是aaRR而在上原创 2016-10-26 19:59:14 · 296 阅读 · 0 评论 -
【bzoj 2463】[中山市选2009]谁能赢呢? 博弈论
自己看吧#include#include#includeusing namespace std;int n;int main(){ while(scanf("%d",&n)&&n){ if(n%2)puts("Bob"); else puts("Alice"); } return 0;}原创 2016-10-17 11:10:29 · 252 阅读 · 0 评论 -
【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 · 283 阅读 · 0 评论 -
【bzoj 1217】[HNOI2003]消防局的设立 贪心
【bzoj 1217】[HNOI2003]消防局的设立 贪心原创 2016-10-03 14:37:55 · 985 阅读 · 0 评论 -
【bzoj 4448】 [Scoi2015]情报传递 离线+树剖+树状数组
【bzoj 4448】 [Scoi2015]情报传递 离线+树剖+树状数组原创 2016-10-03 14:50:57 · 281 阅读 · 0 评论 -
【bzoj 1968】 [Ahoi2005]COMMON 约数研究
以爱是的想法应该是筛素数什么的,但是后来看stayus感觉不对,好嘛。。。。考虑每一个数对于答案的贡献即他是哪些数的因数n/i就是他贡献的次数,累加起来就好了#include#include#includeusing namespace std;int n; int main(){ int ans=0; scanf("%d",&n); for(int i原创 2016-10-18 08:31:00 · 193 阅读 · 0 评论 -
【bzoj 2011】染色 树剖+线段树
【bzoj 2011】染色 树剖+线段树原创 2016-10-05 13:40:07 · 260 阅读 · 0 评论 -
【bzoj 2190】[SDOI2008]仪仗队 欧拉函数
画个图,然后发现没一个点可以被看见的前提就是横坐标和纵坐标互素,ok,套一个欧拉函数就好了#include#include#includeusing namespace std;int n;int phi[40005];void work(){ phi[1]=1; for(int i=2;i<=n;i++){ if(!phi[i])原创 2016-10-18 19:30:03 · 184 阅读 · 0 评论 -
【bzoj 1293】[SCOI2009] 生日礼物 指针维护队列
【bzoj 1293】[SCOI2009] 生日礼物 指针维护队列原创 2016-10-18 20:11:51 · 208 阅读 · 0 评论 -
【bzoj 1854】[Scoi2010]游戏 二分图匹配
http://blog.csdn.net/pbihao/article/details/52835849额,感觉像是一道题改一下就好了#include #include #include #define maxn 1000010 using namespace std; int n,m,head[maxn*2],tot,vis[maxn],tim,Link[maxn];原创 2016-10-18 21:48:06 · 259 阅读 · 0 评论 -
【bzoj 1103】[POI2007]大都市meg 树状数组维护dfs序
我打赌一开始就想到树剖的绝对不止我一个 。(这几天做树剖做习惯了qaq)树状数组维护dfs序,用到了dfs序的一个有趣的性质就是以一个节点为根节点那么他的进出时间戳之间的区间就是它这一棵子树的所有节点,所以dfs序中,利用差分的思想,根节点的值只会对区间之间(也就是以他为根的子树的节点们)赵成影响,下方边权以后,将in[]i[++ out[i]--就可以的到从1到 i 的前缀和即土路数。提原创 2016-10-19 22:03:28 · 227 阅读 · 0 评论 -
【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 · 217 阅读 · 0 评论 -
【bzoj 2822】树屋阶梯详解 卡特兰数性质
【bzoj 2822】树屋阶梯详解 卡特兰数性质原创 2016-09-17 11:03:20 · 431 阅读 · 0 评论 -
【洛谷2680】【BZOJ 4326】运输计划 lca+差分
某学长:这题啊,树剖啊,裸的,结果当我写了100+树剖,猛然发现,好像这个树剖除了求lca就没有任何卵用了,so,为毛不用倍增,不过还是有用,洛谷上时限卡的紧,倍增求lca根本不行,T的不要不要的,好在现在管理员把时限改过来了,可以放心使用了思路嘛,就是二分答案,然后找出所有比二分出答案大的边,那么这些边一定是需要改进的对吧,也就是说需要改进的拿一条边一定是这些路径的一个交集,所以差分记录每一原创 2016-11-01 21:28:13 · 267 阅读 · 0 评论 -
【bzoj 4567】[Scoi2016]背单词 trie树+贪心
因为要维护的是后缀,所以把字符串倒叙插入,然后其实第一种情况是一定不能发生的,所以在一个字符串插入之前必须将他的所有的后缀全部插入,然后证明两个单词之间是不会有影响的,交换任意两个没有后缀关系的单词,其中一个的贡献加一,而另外一个减一所以没有影响。所以建一个新树,再跑贪心就好了#include#include#include#include#include#define maxn 7原创 2016-11-02 10:38:58 · 364 阅读 · 0 评论 -
【BZOJ 2783】 [JLOI2012]树
so,问题描述和题意到底有个什么关系?因为保证路径中节点的深度必须是升序的,所以对于一个点来说,如果可以以他为端点形成一条合法的路径,就可以倍增的找到另外一个端点,而且每一个点的值好像都是大于0的,所以如果有,就只有一条。强调:1.f表示的是不包括他自身的区间范围,例如f[u][0]就是u的父亲而g是要求算上他自身例如g[u][0]包括了自己这个节点的权值。 2.非原创 2016-11-02 15:31:09 · 261 阅读 · 0 评论 -
【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 · 206 阅读 · 0 评论