上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 用pair写dp, 有种新鲜的感觉. 就是状压dp, pair第一维记录用了几个电梯, 第二维记录还剩多少空间, 取min转移即可. 用pair主要是为了使代码简洁. cpp include include include include include using namespace std; t 阅读全文
posted @ 2018-10-19 20:17 俺是小程 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 难得一见的换根法(肯定是我题目做少了吧) 首先考虑直接暴力dp, 设状态为 $f[i][k]$, 表示第i个节点走k步的总数. 然后就能求出节点1的答案了. 可惜这样不够. 我们要求的是所有节点的答案. 而换一个节点作为根重新跑dp的话复杂度为 $O(KN^2)$, 显然不现实. 考虑从已知答案的节 阅读全文
posted @ 2018-10-19 19:24 俺是小程 阅读(179) 评论(1) 推荐(0) 编辑
摘要: 想到了一个二分 + 线段树检验的方法. 就是二分长度, 然后用线段树记录最小&最大值, 暴力扫一遍查询. 但是这样复杂度貌似是 $O(N(logN)^2)$ 的, 太菜了. 按照以往的经验, 凡是想到这样的思路多半可以用单调队列优化, 一个队列维护最小值, 一个维护最大值就ok. 阅读全文
posted @ 2018-10-19 09:06 俺是小程 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 好题. 搬运一下luogu的题解, 讲的挺清楚的. 题意:给出一些区间的最小值 求问 最早哪个问题会产生矛盾 输出 我们可以二分判断 哪个地方最早出现矛盾 然后每次针对二分的一个值 我去判断一下是否成立 我首先针对权值排序 然后从大到小去覆盖 出现第一个无法覆盖的区域我就返回false 当然, 此处 阅读全文
posted @ 2018-10-18 17:45 俺是小程 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 二进制处理多重背包,,, 其实无非就是将物品拆成几组, 每一组的数量都是 $2^n$ 个, 然后因为二进制可以组成所有情况所以就不会漏解啦 比余数分组的做法不知道简单到哪里去了 cpp include include include include include using namespace s 阅读全文
posted @ 2018-10-17 16:55 俺是小程 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 用取反的方法来处理两个环相交的情况,,, 妙啊, 妙啊 cpp include include include include include include using namespace std; const int MAXN = 1e5 + 10; inline int read(){ cha 阅读全文
posted @ 2018-10-17 16:52 俺是小程 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 一道傻逼模拟写了半个小时还wa了一次 我退役罢 cpp include include include include include using namespace std; const int MAXN = 20 + 5; inline int read(){ char ch = getchar 阅读全文
posted @ 2018-10-13 10:10 俺是小程 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 做了这么长时间的二分图, 终于发现一个只能用 Hungary 做的题了. 一眼二分图, 但是建模非常巧妙. 一开始的想法无非就是把两个属性当做二分图的两边, 但是发现这样似乎不好处理选其中一个的情况. 其实这个应该把属性放到左边, 编号放到右边匹配就ok. 因为编号必须连续的缘故, dinic 此处 阅读全文
posted @ 2018-10-11 17:11 俺是小程 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 久违的树剖~ cpp include include include include include include using namespace std; const int MAXN = 3e4 + 10; inline int read(){ char ch = getchar(); int 阅读全文
posted @ 2018-10-08 18:40 俺是小程 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 组合计数难题,,, 主要思路是先用组合数算出任选3个点的所有情况, 然后再排除不成立的. 不成立的情况很明显就是三点共线. 对于三点共线的情况我们分为两类: 1. 三个点在一条水平或竖直直线上 2. 三个点在一条斜线上 在讨论情况之前, 我们先明确$N$和$M$指代的是水平直线的数量和竖直直线的数量 阅读全文
posted @ 2018-10-08 09:10 俺是小程 阅读(123) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页