news 2026/4/20 1:28:16

BZOJ 水题50乱做

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BZOJ 水题50乱做

Edit Posted on 23 9 月, 2016
正在整理以前的老博客内容
BZOJ虽然已经不在了,但是我们会永远怀恋它的

文章目录

1051: [HAOI2006]受欢迎的牛
显然受欢迎的牛一定在一个强连通分量里,缩点后看看有没有出度为0的点,如果有多个那么无解。

4690: Never Wait for Weights
加权并查集。

1269: [AHOI2006]文本编辑器editor
rope 的使用方法:http://blog.csdn.net/iamzky/article/details/38348653

1031: [JSOI2007]字符加密Cipher
后缀数组裸题。

3238: [Ahoi2013]差异
后缀数组裸题。

1041: [HAOI2008]圆上的整点
数学题,求a2+b2=c2a^2+b^2=c^2a2+b2=c2(c 已知)时 a, b 的正整数解个数。

参考:http://blog.csdn.net/csyzcyj/article/details/10044629

1014: [JSOI2008]火星人prefix
splay + hash + 二分。

1069: [SCOI2007]最大土地面积
平面土地上有 N 个点,选择其中的四个点,求围成的多边形最大面积,n≤2000n \le 2000n2000

求凸包,O(n2)O(n^2)O(n2)枚举对角线,两侧的点有决策单调性,用一个指针O(1)O(1)O(1)求。

1090: [SCOI2003]字符串折叠
区间 dp。

3998: [TJOI2015]弦论
SAM。


1066: [SCOI2007]蜥蜴
网络流,拆点。

1015: [JSOI2008]星球大战starwar
倒着并查集。

4443: [Scoi2015]小凸玩矩阵
网络流,动态加边 / 二分都行。

1067: [SCOI2007]降雨量
线段树 / RMQ 都行,要分类讨论。

1042: [HAOI2008]硬币购物
我们先算出不考虑限制时的方案数fsf_sfs,如果一个硬币超出限制,那么至少要使用di+1d_i+1di+1次,此时答案为fs−ci⋅(di+1)f_{s-c_i \cdot (d_i+1)}fsci(di+1),我们可以用容斥定理解决问题。

2298: [HAOI2011]problem a
考虑一个人的话:“有aia_iai个人分数比我高,bib_ibi个人分数比我低"等价于"我的排名在[L,R][L, R][L,R]区间中,这个区间中人的成绩相同”,然后就可以变成线段覆盖问题,贪心即可。

4653: [Noi2016]区间
将区间按长度排序,枚举最长区间长度,显然最短区间长度满足单调性,只需要确认"m 个区间共同包含至少一个位置",用线段树维护最大值即可。

1192: [HNOI2006]鬼谷子的钱袋
k 个钱袋最多能凑出2k−12^k-12k1的所有钱数。

1800: [Ahoi2009]fly 飞行棋
暴力。

1856: [Scoi2010]字符串
回顾卡特兰数的推导过程,发现ans=C(n+m,n)−C(n+m,n+1)ans = C(n+m, n) - C(n+m, n+1)ans=C(n+m,n)C(n+m,n+1)


1801: [Ahoi2009]chess 中国象棋
炮的攻击范围为:横行竖行,跳过一个棋子打一个,距离不限。

故原题为求n×mn \times mn×m的矩阵中同行同列只能放至多 2 个炮的方案数。

fi,j,kf_{i,j,k}fi,j,k表示到第 i 行,j 列放了一个,k 列放了 2 个的方案数。

4641: 基因改造
在允许置换的情况下 KMP 是可以的,hash 应该也行。

我觉得我应该改改 KMP 的模板了……

4602: [Sdoi2016]齿轮
dfs 走一遍。

3926: [Zjoi2015]诸神眷顾的幻想乡
由于叶子节点不超过 20 个,所以可以用 SAM。

注意拷贝叶子节点时只拷贝 c 个节点不然会 TLE。

4627: [BeiJing2016]回转寿司
线段树裸题。

4619: [Wf2016]Swap Space
贪心,证明看得不是很懂。

参考:http://www.cnblogs.com/gangding/p/5705400.html

1016: [JSOI2008]最小生成树计数
回忆 Kruskal 的建立方法,显然每个长度后图的连通性是一定的,具有相同权值的边不会超过 10 条,dfs 就行。

1061: [Noi2008]志愿者招募
经典的问题。

参考:https://www.byvoid.com/blog/noi-2008-employee/

3295: [Cqoi2011]动态逆序对
cdq,三维偏序(白书原题)。

3996: [TJOI2015]线性代数
经过一堆变形我们发现

ans=∑i=1n∑j=1nBi,jaiaj−∑i=1nCiaians = \sum_{i=1}^{n} \sum_{j=1}^{n} B_{i,j} a_i a_j - \sum_{i=1}^{n} C_i a_ians=i=1nj=1nBi,jaiaji=1nCiai

我们把这转化为最大权闭合子图最小割。

答案 = 所有点正权值之和 - 最小割。

3875: [Ahoi2014]骑士游戏
fif_ifi为杀死 i 的最小代价,那么有

fi=min⁡(Ki,∑vfvi)f_i = \min\left(K_i, \sum_v f_{v_i}\right)fi=min(Ki,vfvi)

状态之前的转移有环,我们考虑《SPFA 算法的优化及应用》中提到的算法。


3997: [TJOI2015]组合数学
安利 Dilworth 定理:http://blog.csdn.net/popoqqq/article/details/45171469

4448: [Scoi2015]情报传递
询问离线,树链剖分。

1070: [SCOI2007]修车
费用流经典模型。

参考:http://www.cnblogs.com/Sky-Grey/p/3862019.html

4418: [Shoi2013]扇形面积并
扫描线,用树状数组 + 二分判断。

1406: [AHOI2007]密码箱
x2≡1(modn)x^2 \equiv 1 \pmod{n}x21(modn)等价于n∣(x−1)(x+1)n \mid (x-1)(x+1)n(x1)(x+1),然后暴力枚举因子就行。

1038: [ZJOI2008]瞭望塔
半平面交,把分段点(包括边界)取出来。

2618: [Cqoi2006]凸多边形
拆成一堆直线半平面交。

4517: [Sdoi2016]排列计数
错排公式:D(0)=1, D(1)=0, D(i)=(i−1)(D(i−1)+D(i−2))D(0)=1,\ D(1)=0,\ D(i)=(i-1)(D(i-1)+D(i-2))D(0)=1,D(1)=0,D(i)=(i1)(D(i1)+D(i2))

有个求一段阶乘的逆元的小技巧:

for(inv[n]=pow2(fact[n],F-2,F),i=n-1;i;i--)inv[i]=mul(inv[i+1],i+1);

4516: [Sdoi2016]生成魔咒

  1. 裸 SAM + map
  2. 求出反序后字符串的 SA,每次添加一个字符串,考虑其对 height 前后字符串的影响

4514: [Sdoi2016]数字配对
我们发现两个数能配对,则它们分解质因子后的数的个数奇偶性不同,我们可以建出二分图,费用流乱搞。


2243: [SDOI2011]染色
树链剖分,把情况转成子节点到父节点的两条链会比较好讨论。

3531: [Sdoi2014]旅行
树链剖分,拆成 n 棵树。记得动态开点减少结点数。

3631: [JLOI2014]松鼠的新家
对于加法操作差分,将对链的操作转换为点始末节点的操作,避免后效性。在子节点sis_isi+1 表示从它开始到根节点均 +1,最后统计一遍就行。

4034: [HAOI2015]T2
树链剖分时,可用 dfs 序剖分:

voiddfs(intx,intfa,inttp){top[x]=tp;id[x]=++cnt;if(son[x])dfs(son[x],x,tp);Forp(x){intv=edge[p];if(v==fa||v==son[x])continue;dfs(v,x,v);}mx[x]=cnt;}

3626: [LNOI2014]LCA
操作离线,然后:

后加每个点的时候是把从这个点到根的路径的点权全部 +1,
然后查询就是查询某个点到根的路径的点权和。

1191: [HNOI2006]超级英雄Hero
二分图匹配。

1143: [CTSC2008]祭祀river
用 floyd 求传递闭包,建图,原题求最长反链 = 最小链覆盖。

证明:http://www.bubuko.com/infodetail-664202.html

  • 路径不能相交的最小路径覆盖可以用二分图做。
  • 路径可以相交的最小路径覆盖(也就是最小链覆盖)可以用 floyd 求传递闭包建图,转成前面那个用二分图做。

2227: [Zjoi2011]看电影(movie)
公式题:

ans=(k+1)n−1⋅(k−n+1)knans = \frac{(k+1)^{n-1} \cdot (k-n+1)}{k^n}ans=kn(k+1)n1(kn+1)

神一般的证明:http://www.cnblogs.com/devilpi/articles/3817691.html

1179: [Apio2009]Atm
tarjan 缩点 + 跑一遍 dij。

4419: [Shoi2013]发微博
用户没有传递性(SB 读错题),只有直接关系能看到信息。

差分后得到ansi=t2−t1+t3−t4+…+tn−tn−1ans_i = t_2 - t_1 + t_3 - t_4 + \ldots + t_n - t_{n-1}ansi=t2t1+t3t4++tntn1,暴力维护。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 1:25:50

YOLO26涨点改进| TGRS 2026 | 独家自研创新、检测头改进篇| AHATHead自适应混合注意力检测头,二次创新,强化特征表达与目标判别能力,适合遥感小目标检测、小目标检测有效涨点

一、本文介绍 🔥本文给大家介绍使用 AHATHead自适应混合注意力检测头 改进YOLO26网络模型,通过在预测阶段进一步强化特征表达与目标判别能力,通过融合全局与局部注意力信息,使检测头在进行分类与回归时能够更加关注关键区域与重要通道特征,从而提升目标定位精度与类别判…

作者头像 李华
网站建设 2026/4/20 1:18:33

避开这些坑!CMOS环形振荡器版图设计与LVS匹配实战心得

CMOS环形振荡器版图设计避坑指南:从LVS匹配到61反相器布局实战 在集成电路后端设计的深水区,环形振荡器的版图实现往往成为区分"理论正确"与"生产可用"的关键门槛。当你的原理图仿真曲线完美无瑕,却在物理实现阶段遭遇LV…

作者头像 李华
网站建设 2026/4/20 1:17:37

从机械盘到持久内存:我的存储性能调优踩坑实录(附fio避坑配置)

从机械盘到持久内存:我的存储性能调优踩坑实录(附fio避坑配置) 第一次用fio测试NVMe SSD时,我盯着屏幕上可怜的300MB/s吞吐量百思不得其解——这块标称3.5GB/s的盘怎么连十分之一性能都跑不出来?直到凌晨三点查看系统日…

作者头像 李华
网站建设 2026/4/20 1:14:06

C语言环境搭建指南

学习计算机的人大多接触过C语言,它常被视为编程入门的首选语言,经典的Hello World程序便是许多人的第一段代码。掌握一门语言前,首先需要搭建合适的开发环境。对于C语言而言,选择合适的编译器和编辑工具尤为关键。通过安装集成开发…

作者头像 李华
网站建设 2026/4/20 1:06:26

如何在Navicat导入DBF文件到数据表_字段映射与高级设置

Navicat导入DBF时字段类型映射不准、中文乱码、日期偏移及大文件卡死是四大典型问题;需手动校正类型、确认编码、指定DATE类型、分批导入并禁用自动分析。Navicat 导入 DBF 时字段类型自动映射不准dbf 文件没有显式类型定义,navicat 依赖文件头和样本数据…

作者头像 李华