BZOJ一句话题解1

由于某种原因,最近可能会做一些 BZOJ 的题目

1011: [HNOI2008]遥远的行星 由于要求相对误差小于5%,小的时候暴力,大的时候直接算

1016: [JSOI2008]最小生成树计数 由于相同权值的边不超过十条,那么把和最小生成树里和最大的边边权相同的取出来,然后爆搜选哪些就好了

1022: [SHOI2008]小约翰的游戏 John SJ 定理,先手必胜条件,游戏的 SG 值为 0 且所有子游戏 SG 值均不超过 1 或游戏的 SG 值不为 0 且至少一个子游戏 SG 值超过 1

1025: [SCOI2009]游戏 相当于求所有和为 n 的序列的 lcm 的种类,直接背包即可

1029: [JSOI2007]建筑抢修 贪心,按 T2 排序,然后能放就放,不能放的话看下能不能换掉时间最长的建筑

1030: [JSOI2007]文本生成器 补集转换,求长度为 m 的没有出现特定单词的方案数,f(i,j) 表示匹配到第 i 位还没有出现特定单词的方案数,AC自动机上 dp 即可

1037: [ZJOI2008]生日聚会Party md 连 dp 都不会了,数据范围超级小,直接暴力 dp 就好了,具体的 f(i,j,p,q) 表示前 i 个有 j 个 ♂,后缀最大的 ♂-♀ 的的个数为 p 和后缀最大的 ♀-♂ 的个数为 q

1038: [ZJOI2008]瞭望塔 网上很多题解是求半平面交,但是我不会半平面交,我的做法是直接枚举两两交点,然后看是否在半平面交上,然后更新答案,超级好写,时间复杂度是 O(n^3) 的

1040: [ZJOI2008]骑士 肯定是一堆基环树,可以删掉环上一条边然后做两次树形 dp,即枚举环上某个端点不选的答案

1041: [HAOI2008]圆上的整点 推一波式子,瞎搞搞

1042: [HAOI2008]硬币购物 先一次完全背包,然后容斥,Ans = 超过 0 个超限 - 超过1个超限 + 超过 2 个超限 - 超过 3 个超限 + 超过 4 个超限,有点意思

1044: [HAOI2008]木棍分割 第一问显然二分求,第二问 dp,f(i,j) 表示到第 j 位,砍了 i 次且每段长度满足要求的方案数,前缀和优化下就好了

1045: [HAOI2008] 糖果传递 应该是一个比较经典的结论

1079: [SCOI2008]着色方案 数据范围超小,直接放到状态里暴力dp

1072: [SCOI2007]排列perm 简单状压

1071: [SCOI2007]组队 首先可以想到枚举 minh 和 minv 的 O(n^3) 做法,然后我们稍微优化下就好了

1069: [SCOI2007]最大土地面积 直接枚举对角线,然后两边求最大的三角形,直接旋转卡壳

1089: [SCOI2003]严格n元树 OI 白学了,看到这样子的题目就以为是生成函数,没先到是个超级简单的递推,f(i) 表示最大深度小于等于 i 的方案数,那么 f(i)=f(i-1)^n+1,注意这题要高精度

1052: [HAOI2007]覆盖问题 二分,check 用贪心覆盖,肯定是覆盖四个角,枚举哪个角,重复 3 次,不会证明

1046: [HAOI2007]上升序列 先求出最长上升序列,所以不存在的可以直接特判,然后对于字典序,可以先预处理 f(i) 表示以 i 开头的最长上升子序列,然后贪心扫一遍,如果能放就放,字典序肯定最小

1113: [Poi2008]海报PLA 只有两个值相等且中间没有才能节省一个矩形,单调栈搞搞

1112: [POI2008]砖块Klo 平衡树板子题

3600: 没有人的算术 动态标号问题,用替罪羊树实现

3514: Codechef MARCH14 GERALD07加强版 居然一遍 AC,用 LCT 维护每条边加入后删掉的最早的边 tim,然后主席树求区间 [l,r] 小于 l 的个数

2668: [cqoi2012]交换棋子 我网络流好差啊,今天换了个加边方法,之前都是用指针的,有时候写网络流会被卡空间,而且不是很会处理反向边,这道题把一个点拆成入点,原点和出点,入点到原点,原点到出点连接费用为 0 的边来限制流量,然后相邻的点出点向入点连流量为 INF 费用为 1 的边表示一次交换,然后求最小费用最大流就好了

3171: [Tjoi2013]循环格 发现一个点入度等于出度等于 1,然后拆点跑费用流

3668: [Noi2014]起床困难综合症 按位考虑

看起来 BZOJ 要关服半个月, 那就先不做 BZOJ 了

共 27 题

转载于:https://www.cnblogs.com/xay5421/p/BZOJ1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值