上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 题面 "题目传送门" 解法 如果没有不能经过上一次经过的边这个限制,显然就是矩阵乘法的裸题 那么我们考虑转化一下,把边当成点 将一条无向边拆成2条有向边,然后连边,设邻接矩阵为$A$ 将$A$变成$A^{T 1}$,然后枚举起点的出边,终点的入边即可 时间复杂度:$O(m^3\ log\ T)$ 代 阅读全文
posted @ 2018-08-14 18:46 谜のNOIP 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 可以发现,最后每一个位置的值就是经过多次操作后的最大值 那么我们不妨把每一次操作看成两个事件,一个是在$l$位置加入一个数,一个是在$r$这个位置删除一个数 将这些事件按照时间排序,然后扫一遍即可 只要处理和上一次中间间隔的最大值,用堆来实现 时间复杂度:$O(n\ lo 阅读全文
posted @ 2018-08-14 18:45 谜のNOIP 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 第一问直接二分答案,第二问简单dp 注意空间问题,要用滚动数组 时间复杂度:$O(nm)$ 代码 cpp include define Mod 10007 define N 100010 using namespace std; template void chkmax( 阅读全文
posted @ 2018-08-14 18:28 谜のNOIP 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 直接做似乎不太好做 考虑倒着做,将边反向,然后求出字典序最大的拓扑序,最后将这个拓扑序翻转即为答案 为什么这个是正确的?? ~~感觉理性分析一下就可以了吧~~ 时间复杂度:$O(n\ log\ n)$ 代码 cpp include define N 100010 usin 阅读全文
posted @ 2018-08-14 18:27 谜のNOIP 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 显然可以用meet in the middle解决 时间复杂度:$O(3^\frac{m}{2}×n)$(map自带巨大常数) ~~bzoj上竟然9916ms苟过去了~~ 当然还有更好的算法,剪枝力度也比较强,这里就不再赘述了 代码 cpp include define 阅读全文
posted @ 2018-08-14 18:26 谜のNOIP 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 显然可以二分答案 问题就转化为如何检查答案的合法性 考虑这样一个贪心 显然,可以用一个矩形将剩下所有点覆盖,考虑将前两个正方形放在这个矩形的哪四个角,枚举一下 最后看剩下的点能否用一个正方形覆盖就可以了 贪心的复杂度是$O(n)$的,因为每一个点最多只会被覆盖一次 时间复 阅读全文
posted @ 2018-08-14 18:26 谜のNOIP 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 ~~和今天训练的T3简直一样~~ 建出$0$到$a_1 1$这$a_1$个点,$dis_i$表示$a_1x_1+…a_nx_n$在$x_i$均为非负数的情况下对$a_1$取模为$i$的数最小是多少 那么,对于每一个$a_i$,我们可以连接$j\rightarrow (j+ 阅读全文
posted @ 2018-08-14 18:25 谜のNOIP 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 先不妨枚举最后在第$x$天成绩全部出来 那么,可以计算出有至少需要$s_1$次减少老师,$s_2$次增加老师 如果$A B$,那么显然每一次都做$B$这个操作,否则先尽量用$A$,然后如果还有剩余那么用$B$ 把每一个$x$对应出来计算的值定义为$f(x)$ 可以发现,$ 阅读全文
posted @ 2018-08-14 18:25 谜のNOIP 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 不妨将环变成链 那么就变成选出若干段区间,使得它们中间没有空隙且长度≥len 将所有区间按照右端点排序 那么,对于每一个区间,我们都可以找到右端点最大的且能和该区间连接的区间 然后发现这些关系形成了一棵树 那么,现在我们枚举最左边的区间,倍增找到最近的且能完全覆盖这个环的 阅读全文
posted @ 2018-08-14 18:24 谜のNOIP 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题面 "题目传送门" 解法 假设选择的两个点为$x,y$ 那么,一定存在一条边,使得这条边将这棵树分成离$x$最近的和离$y$最近的 那么我们枚举这条边,然后在分成的两棵树中找带权重心 假设当前某一棵树的最优解为$x'$,考虑它的儿子$y'$ 如果$y'$的权值小于$x'$的权值,那么挑最小的一个儿 阅读全文
posted @ 2018-08-14 18:24 谜のNOIP 阅读(231) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页