cychester

随笔分类 -  BZOJ

上一页 1 2

BZOJ 1874 取石子游戏 - SG函数
摘要:Description $N$堆石子, $M$种取石子的方式, 最后取石子的人赢, 问先手是否必胜 $A_i <= 1000$,$ B_i <= 10$ Solution 由于数据很小, 直接暴力求SG函数即可判断。 Code 1 #include<cstdio> 2 #include<cstrin 阅读全文

posted @ 2018-09-13 06:20 cychester 阅读(295) 评论(0) 推荐(0)

BZOJ 1391 [CEOI] Order - 网络流 最大流
摘要:Solution 非常简单的建边!!! 但是刚开始的代码不够体现社会主义的优越性, 于是我 .... 惨痛教训啊。。。 终于到了今天才能够体现社会主义优越性。。。 Code 1 #include<cstring> 2 #include<cstdio> 3 #include<algorithm> 4 阅读全文

posted @ 2018-09-12 21:16 cychester 阅读(125) 评论(0) 推荐(0)

BZOJ2730 [HNOI2012]矿场搭建 - Tarjan割点
摘要:Solution 输入中没有出现过的矿场点是不用考虑的, 所以不用考虑只有 一个点 的点双联通分量。 要使某个挖矿点倒塌, 相当于割去这个点, 所以我们求一遍割点和点双联通分量。 之后的点双联通分量构成一棵树。 树上的节点有两种情况 1: 仅有一条边(仅有 一个割点 在内部)—— 相当与叶子节点, 阅读全文

posted @ 2018-09-12 14:55 cychester 阅读(204) 评论(0) 推荐(0)

BZOJ 2733 [HNOI2012]永无乡 - 启发式合并主席树
摘要:Description 1: 查询一个集合内的K大值 2: 合并两个集合 Solution 启发式合并主席树板子 Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define rd read() 5 #defi 阅读全文

posted @ 2018-09-10 19:29 cychester 阅读(203) 评论(0) 推荐(0)

BZOJ 1005[HNOI2008]明明的烦恼
摘要:Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数 阅读全文

posted @ 2018-08-21 15:27 cychester 阅读(182) 评论(0) 推荐(0)

BZOJ 1211[HNOI2004]树的计数 - prufer数列
摘要:描述 一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵。给定n,d1, d2, …, dn,编程需要输出满足d(vi)=di的树的个数。 题解 每颗树都对应以中prufer数列, prufer数列中数出现的个数 $=$ 阅读全文

posted @ 2018-08-21 08:42 cychester 阅读(203) 评论(0) 推荐(0)

BZOJ 1430 小猴打架 - prufer数列
摘要:描述 一开始森林里面有N只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友。每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友。经过$N-1$次打架之后,整个森林的小猴都会成为好朋友。 现在的问题是,总共有多少种不同的打架过程。 比如当$N=3$时,就有{1-2,1-3}{ 阅读全文

posted @ 2018-08-21 08:25 cychester 阅读(212) 评论(0) 推荐(0)

BZOJ 1345[BOI]序列问题 - 贪心 + 单调栈
摘要:题解 真的没有想到是单调栈啊。 回想起被单调栈支配的恐惧 最优情况一定是小的数去合并 尽量多的数,所以可以维护一个递减的单调栈。 如果加入的数比栈首小, 就直接推入栈。 如果加入的数大于等于栈首, 必须要合并栈首,因为栈首两边都是大的数, 要选择小的那个进行合并, 需要进行$st[top - 1] 阅读全文

posted @ 2018-08-20 15:32 cychester 阅读(238) 评论(0) 推荐(0)

BZOJ1433 [ZJOI2009]假期的宿舍 - 二分图匹配
摘要:题解 一道裸的二分图匹配,稍微有一点细节需要注意, 但是非常裸= = 本校并且住校的向自己的床和 自己认识的并且本校的人的床连边 离校的不需要向外连边 不是本校的就和自己认识的 并且是本校的人的床连边 最后跑匈牙利就可以了 代码 1 #include<cstring> 2 #include<cstd 阅读全文

posted @ 2018-08-20 14:04 cychester 阅读(149) 评论(0) 推荐(0)

BZOJ1222 [HNOI2001]产品加工 - 动态规划- 背包
摘要:题解 怎么看都不像是个背包,直到我看了题解→_→, 第一次碰到这么奇怪的背包= = 定一个滚动数组$F_i$, $i$表示机器$a$用了$i$的时间, $F_i$表示机器$b$用了$F_i$的时间, 然后就直接可以进行滚动转移了。。。 真是开眼界啊QuQ 代码 1 #include<cstring> 阅读全文

posted @ 2018-08-20 13:57 cychester 阅读(189) 评论(0) 推荐(0)

BZOJ 2763[JLOI2011]飞行路线 - 最短路
摘要:描述 给出一个无向图, 出发地$s$和目的地$t$, 让你求出不计算 任意$K$条边权值 的最短路 题解 刚开始我是用记忆化搜索记录状态$F_{i, k}$, 表示从出发地出发 到第$i$个城市, 还能消去$k$条边的权值 的最短路。然而挂了 只能去看一波题解QAQ 将每个城市都分成$K + 1$个 阅读全文

posted @ 2018-08-20 10:41 cychester 阅读(121) 评论(0) 推荐(0)

BZOJ1221 [HNOI2001]软件开发 - 费用流
摘要:题解 非常显然的费用流。 但是建图还是需要思考的QuQ 将每天分成两个节点 $x_{i,1}, x_{i,2} $, $ x_{i,1}$用于提供服务, $x_{i ,2}$ 用来从源点获得$nd[i] $个毛巾进行消毒(因为$x_{i ,1} $已经流向汇点)。 1、 源点向$x_{i,1} $连 阅读全文

posted @ 2018-08-19 23:52 cychester 阅读(142) 评论(0) 推荐(0)

BZOJ2424 [HAOI2010]订货 - 费用流
摘要:题解 (非常裸的费用流 题意有一点表明不清: 该月卖出的商品可以不用算进仓库里面。 然后套上费用流模板 代码 1 #include<cstring> 2 #include<queue> 3 #include<cstdio> 4 #include<algorithm> 5 #define rd rea 阅读全文

posted @ 2018-08-19 23:36 cychester 阅读(190) 评论(0) 推荐(0)

BZOJ 3171[TJOI2013] 循环格 - 费用流
摘要:题解 刚开始我也没看出来是个网络流QAQ,觉得还是有点难想:( 要满足每一个点都在一个循环内, 必须满足每个点出度和入度为1。 所以将每个点拆成两个点, 一个点为与S相连, 另一个点与T相连, 容量为1,费用为0。 然后每个点向它指向的点连容量为1, 费用为0的边, 向周围的其他点连容量为1, 费用 阅读全文

posted @ 2018-08-19 20:55 cychester 阅读(128) 评论(0) 推荐(0)

BZOJ 1385 [Baltic2000] Division expression
摘要:题解 一个显然的结论: 第二项一定在分母的位置, 其他的都可以在分子。 现在题目只要求判断能否使式子变成一个任意整数, 所以最优情况下让第二项单独当分子。 对$x_2$分解质因数,通过质因数来判断其他数的乘积是否是$x_2$的倍数 时间复杂度$O(\sqrt{x} + N)$ 代码 1 #inclu 阅读全文

posted @ 2018-08-19 20:38 cychester 阅读(155) 评论(0) 推荐(0)

BZOJ 1412[ZJOI2009]狼和羊的故事 - 最小割
摘要:题解 源点$S$连向狼的领地, 羊的领地连向汇点$T$, 再从每个位置连向相邻的位置。 跑一边最大流就可以的出答案 代码 1 #include<cstring> 2 #include<iostream> 3 #include<cstdio> 4 #include<algorithm> 5 #incl 阅读全文

posted @ 2018-08-19 20:30 cychester 阅读(141) 评论(0) 推荐(0)

BZOJ 1010 [HNOI2008] 玩具装箱Toy
摘要:题解 得出状态转移方程为 : $F_i = \min(F_j + (i - j - 1 + S_i - S_j - L)^2 $ 如果我们想要对它进行斜率优化, 必须将平方拆开,很显然是非常不容易的(我这个蒟蒻拆了一下午还是错了唔 所以必须想办法将它变得简单,让 $S_i = S_i + i$, $ 阅读全文

posted @ 2018-08-19 19:41 cychester 阅读(62) 评论(0) 推荐(0)

BZOJ 1911 [APIO2010] 特别行动队 - 斜率优化dp
摘要:题解 非常显然的$O(n^2)$ 的dp转移方程 : $ F_i = \max( F_j + a \times (S_i - S_j) ^2 + b \times (S_i - S_j ) + c) $ 数组S为前缀和 进行一波分离后变成了 $ F_j + a \times (S_j)^2 - b 阅读全文

posted @ 2018-08-19 19:30 cychester 阅读(152) 评论(0) 推荐(0)

BZOJ 2726 [SDOI2012] 任务安排 - 斜率优化dp
摘要:题解 转移方程与我的上一篇题解一样 : $S\times sumC_j + F_j = sumT_i \times sumC_j + F_i - S \times sumC_N$。 分离成:$S\times sumC_j + F_j = sumT_i \times sumC_j + F_i - S 阅读全文

posted @ 2018-08-19 18:56 cychester 阅读(164) 评论(2) 推荐(1)

上一页 1 2

导航