随笔分类 - OJ---bzoj
摘要:【BZOJ3489】A simple rmq problem 题面 "bzoj" 题解 这个题不强制在线的话随便做啊。。。 考虑强制在线时怎么搞 预处理出一个位置上一个出现的相同数的位置$pre$与下一个位置$nxt$ 则对于一个询问$[l,r]$ 一个位置$i$当且仅当$pre_ir$ 我们可以将
阅读全文
摘要:【BZOJ1054】[HAOI2008]移动玩具 题面 "bzoj" "洛谷" 题解 太$sb$了,不想写了,直接点开洛谷题面单击右边蓝色按钮题解即可
阅读全文
摘要:【BZOJ1053】[HAOI2007]反素数 题面 "bzoj" "洛谷" 题解 可以从反素数的定义看出小于等于$x$的最大反素数一定是约数个数最多且最小的那个 可以枚举所有的质因数来求反素数,但还是跑不过 我们又想,质因数不可能太大 而$37$内素数相乘已经大于$2 10^9$了 所以枚举到$3
阅读全文
摘要:【BZOJ1052】[HAOI2007]覆盖问题 题面 "bzoj" "洛谷" 题解 二分答案是显然的。 算一下包含所有的点的最小矩形的范围$(x1,y1)$$(x2,y2)$ 贪心思考一下肯定是把塑料薄膜其中一个角放在此矩形上的 然后$dfs$判一下即可
阅读全文
摘要:【BZOJ1051】[HAOI2006]受欢迎的牛 题面 "bzoj" "洛谷" 题解 假如$A$喜欢$B$就连一条$A$到$B$的边 然后缩点,如果图不连通就$Impossible$ 否则输出出度为$0$的环的大小 cpp include include include include inclu
阅读全文
摘要:【BZOJ1049】[HAOI2006]数字序列 题面 "bzoj" "洛谷" 题解 第一问 直接做不是很好做,可以转化为最大化不修改的点最多 对于原数列,对于$i,j$($i include include include include include include using namespa
阅读全文
摘要:【BZOJ1048】[HAOI2007]分割矩阵 题面 "bzoj" "洛谷" 题解 $dp[a][b][c][d][num]$表示将矩形$(a,b,c,d)$分成$num$个的最小方差,然后转移即可 cpp include include include include include inclu
阅读全文
摘要:【BZOJ1045】[HAOI2008]糖果传递 题面 "bzoj" "洛谷" 题解 根据题意,我们可以很容易地知道最后每个人的糖果数$ave$ 设第$i$个人给第$i 1$个人$X_i$个糖果($i=1$则表示第1个人个第$n$个人,$X_i include include include inc
阅读全文
摘要:【BZOJ1044】[HAOI2008]木棍分割 题面 "bzoj" "洛谷" 题解 第一问显然可以二分出来的。 第二问: 设$dp[i][j]$表示前$i$个,切了$j$组的方案数 发现每次转移都是从前面一个区间过来的 直接前缀和优化就好了 代码 cpp include include inclu
阅读全文
摘要:【BZOJ1041】[HAOI2008]圆上的整点 题面 "bzoj" "洛谷" 题解 不妨设$x 0,y 0$ $$ x^2+y^2=r^2\\ y^2=(x+r)(x r) $$ 设$r x=ud,r+x=vd,(u,v)=1$ $$ y^2=d^2uv $$ $u,v$一定为完全平方数 则$u
阅读全文
摘要:【BZOJ1018】[SHOI2008]堵塞的交通 题面 bzoj 洛谷 洛谷 题解 菊队讲要用线段树维护连通性,但是好像没人写 解法一 将所有的加边删边离线,然后以最近删除时间为边权,$LCT$维护最大生成树即可 代码 解法二 没打,但是可以参考这篇文章
阅读全文
摘要:【BZOJ1176】[BOI2007]Mokia 摩基亚 题面 "bzoj" "洛谷" 题解 显然的$CDQ$$/$树套树题 然而根本不想写树套树,那就用$CDQ$吧。。。 考虑到点$(x1,y1)$和$(x2,y2)$区域内既有上限又有下限我们不是很好算 于是将这个区域的贡献写成另外一种形式, 记
阅读全文
摘要:【BZOJ3110】【LG3332】[ZJOI2013]K大数查询 题面 "洛谷" "BZOJ" 题解 和普通的整体分治差不多 用线段树维护一下每个查询区间内大于每次二分的值$mid$的值即可 然后再按套路做就行了 代码 cpp include include include include inc
阅读全文
摘要:【LG4309】【BZOJ3173】[TJOI2013]最长上升子序列 题面 "洛谷" "BZOJ" 题解 插入操作显然用平衡树就行了 然后因为后面的插入对前面的操作无影响 就直接在插入完的序列上用树状数组求下每个点为终点的最长上升子序就行了 然而懒得手写平衡树了 直接用了$rope$ "rope用
阅读全文