BZOJ 题目整理

现在要写一些题目。
现在已经做了:

157题

「BZOJ1529」「POI2005」Piggy Banks 并查集
「BZOJ3527」「ZJOI2014」力 FFT
「BZOJ1924」「SDOI2010」所驼门王的宝藏 奇妙的建图 强连通分量缩点+最长路dp
「BZOJ3205」思博题
「BZOJ2150」部落战争 建图+最小路径覆盖(不知道什么鬼数据,原图不拆点直接二分图就A了)
「BZOJ1050」「HAOI2006」旅行 求一条使得最大边比最小边最小的路径,枚举最小边,并查集生成树(LCT可以做到 mlog2 不过谁想写啊)
「BZOJ3884」欧拉定理
「BZOJ3668」「NOI2014」起床困难综合症 思博贪心
「BZOJ4196」「NOI2015」软件包管理器 树链剖分,快读导致1A失败,mdzz
「BZOJ3670」「NOI2014」动物园 奇妙的kmp递推
「BZOJ1012」「JSOI2008」弱智线段树
「BZOJ4872」「SHOI2017」分手是祝愿 先观察发现必须从大到小按,那么我们对于还要按 x 次,就有一个概率,然后求个逆元,直接推了
「BZOJ2427」「HAOI2010」5分钟写了一个treedp,然后发现不连通,我蠢死好了,先缩点,然后建一个超级源点,给入度为0的分量连边,这样做依赖dp就好了,这个连接树的方法很好玩,然后就是Treedp都是 O(nm2) 的,我们做一个dfs序,然后求出每个节点子树的 size[x] ,就可以 O(nm) 递推了
「BZOJ1226」「SDOI2009」状态压缩dp,不太好写
「BZOJ2216」「POI2011」对 x 求导,发现斜率增长率递减,所以说当一个点距离远还比距离近的节点小,我们就可以直接让他出队,二分一下原数列,然后对于每个点做一个可行答案区间,然后就可以在 O(nlg) 的时间更新答案,注意到方程与后面的值有关,我们可以反向再做一遍。
「BZOJ3437」第一次写斜率优化,有点恶心,这个式子好像已经到了人尽皆知我不会的地步了。。。我们做出两个sum,保证更新的时候查询距离乘积和的时候是 O(1) 的,然后发现这个式子可以斜率优化,答案在一个上凸壳上,再做两道再说吧,我太弱了。
「BZOJ2749」「HAOI2012」外星人 给了一个式子 ϕx(N)=1 ,好吧我看不懂题目。。其实是求phi迭代计算等于1的值。只有 ϕ(2)=1

ϕ(i=1mpqii)=i=1mpqiii=1m(pi1pi)=i=1m(pi1)pqi1i

好吧这个式子题目给了。。然后我们观察一下,每次做phi操作,使得 pi 的次数-1,然后添加了一个 pi1 ,在观察一下,我们每次操作还可以消去一个2,把它变成1,而 pi1 一定是一个偶数,一定给这个式子添加了一个2,于是问题转化为了求给定数字可以转化为多少个2,我们要消掉它。然后再观察一下,这个关于每个数可以消成的2的个数的函数满足: f[xy]=f[x]+f[y] ,于是就可以线性筛了。
「BZOJ1170」「APIO2009」思博tarjan+dp,但是dp死活过不了,改了个spfa。。。
「BZOJ5039」「JSOI2014」思博线段树。
「BZOJ1015」「JSOI2008」删点维护连通性,离线一下,反向并查集,挺好玩的。
「BZOJ2763」「JLOI2011」思博spfa。(分层图
「BZOJ1570」「JSOI2008」Blue Mary的旅行 暴力枚举答案,每次添加新的层次图,直到最大流==T。(不加当前弧16秒???
「BZOJ1562」「NOI2009」构造二分图, 然后我不会了,然后我dfs,然后我TLE 好吧,我们为了求字典序最小的最大匹配,可以反向求匹配,因为匈牙利算法是后来的边更新前面的,然后一遍二分图最大匹配,把方案输出来就好了。
「BZOJ1257」「CQOI2007」答案是sqrt区间不变的,我好蠢啊。
「BZOJ1103」「POI2007」大都市meg 我直接树链剖分了, dfs序啊啊啊啊,慢的要死。
「BZOJ2190」「SDOI2008」仪仗队,观察性质,直接线性筛了。
「BZOJ1067」「SCOI2007」有毒,线段树分类讨论。
「BZOJ2599」「IOI2011」Race 点分治,我咋老写错这个啊。。。
「BZOJ3658」Jabberwocky 离散化一下,开一个链表维护一个点两边能达到的点,每次树状数组维护删改操作。
「BZOJ1093」「ZJOI2007」最大半连通子图 tarjan+dp最长路
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值