摘要: 传送门 思路: 设 f[ i ][ j ] 为第 i 节,切到第 j 段的最大恶心值。 枚举 左端点 j ,右端点 i ,段数 k → 转移: f [ i ][ k ] = max ( f [ i ][ k ],f [ j ][ k -1 ] + sum [ j ~i ])。( sum [ j~i 阅读全文
posted @ 2018-11-08 17:11 落笔映惆怅丶 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 先求出各个点到 1 的最短路径。分别用两个数组将最短路径记录下来(一个要用来排序)。按排序后的 dis 值从小到大枚举各点加入树有多少种方案,最后根据乘法原理把各个点的方案数乘起来就是答案。(实现起来会比较繁琐) Code: 阅读全文
posted @ 2018-11-06 11:30 落笔映惆怅丶 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 传送门 14 年 D2T3 ? 思路: 暴力地从 1~m 枚举方程的解,不会T,爆 long long 后期望得分 50分。 正解,也是暴力枚举答案,为了不爆 long long ,可以考虑在每次计算时模一个大质数(足够大),不会影响解的情况。 为了优化方程,需将方程拆解(利用秦九韶公式)。 最后统 阅读全文
posted @ 2018-11-05 22:02 落笔映惆怅丶 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 线段树暴力枚举区间,查询最大区间和。 Code: 阅读全文
posted @ 2018-11-04 16:51 落笔映惆怅丶 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 模拟题。用并查集求出所有 “连通块” ,判断是否有 “连通块” 的最顶上和最下方都不小于奶酪的范围。 Code: 阅读全文
posted @ 2018-11-02 21:04 落笔映惆怅丶 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 传送门 花了一个下午才 A 的毒瘤题 思路: 这题需要建两个图,一个正向图,一个反向图。 先在正向图上跑一遍 dijkstar ,计算出每个点到 点1 的最短路径 。 然后在反向图上开始记忆化搜索: - 和动规一样,先定义 f [ i ][ j ] 表示:从 点 1 到 点 i 的距离为 dis [ 阅读全文
posted @ 2018-11-02 19:39 落笔映惆怅丶 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目大意就是给定一个长度为 n 的正整数序列 A ,求一个平均数最大的,长度不小于 L 的子序列。 思路: 二分答案。 Code: 阅读全文
posted @ 2018-10-31 14:50 落笔映惆怅丶 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 先按学分从大到小排序,根据贪心的思想尽可能地让作业的完成时间延后,这样就能有更多空间给那些限制比较严格的作业 设 f [ i ] 为点 i 向左的最小空闲时间 对于一个限制 t 的作业,我们将它放在 f [ t ] 上,同时使 f [ t ] = f [ t ] - 1(表示这个时间 阅读全文
posted @ 2018-10-31 11:48 落笔映惆怅丶 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 动态规划,设 f [ i ][ j ] 表示小鸟到达坐标( i , j ) 所要点击屏幕的最少次数,如果小鸟无法到达( i , j ),则 f [ i ][ j ] = INF。 转移,考虑小鸟上升,和下降两种状态。 因为,在一个点上升次数不限,下降只有一次。 所以上升可以用 完全背 阅读全文
posted @ 2018-10-30 11:14 落笔映惆怅丶 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 类似于 袁绍的刁难 , 一道二进制的模拟题。 先将:将原先的瓶子数 n 转换成二进制,二进制中 1 的个数就是合并后剩下的瓶子个数 。 主要利用树状数组的 lowbit 函数: 若二进制 1 的个数 > k ,不断将二进制中最低位的 1 加 1 ,重新统计 1 的个数 ,直到 1 的 阅读全文
posted @ 2018-10-29 10:04 落笔映惆怅丶 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 利用公式: C( n,r ) = C( n-1,r ) + C( n-1,r-1 ) 由此可以将计算 C( n,r ) 的过程化为加法来做。 可以看出,C( n,r ) 其实就是求杨辉三角的第 n 行、第 r 列上的数(行列从 0 开始)。 先 N2 暴力地预处理出杨辉三角的各个项, 阅读全文
posted @ 2018-10-27 16:56 落笔映惆怅丶 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 设 f [ i ][ j ][ k ][ 0/1 ] 表示 A 串匹配到第 i 个,B 串匹配到第 j 个,已经匹配到第 k 段,0: A[ i ] 与 B[ j ] 不匹配, 1: A[ i ] 与 B[ j ] 匹配。 状态转移可分为 A[ i ] 与 B[ j ] 匹配和不匹配 阅读全文
posted @ 2018-10-26 17:27 落笔映惆怅丶 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 二分跳跃的最短距离 mid 。暴力判断如果有两个石头直接的距离小于 mid ,就把这个石头拿走。如果拿走的石头数目 cnt ≤ m,说明二分的答案可行,ans = mid,接着二分更短的跳跃距离。 Code: 阅读全文
posted @ 2018-10-26 15:21 落笔映惆怅丶 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: 看到村庄的数目 ≤ 200,很显然可以用 floyd 来做。 但如果对于每次询问时间 t 都暴力地跑一遍 floyd ,时间复杂度为 n4 ,只能拿到 50 分。 所以,要考虑一下如何优化 。。。 因为每个村庄的 t [ i ],及询问 ( x , y , t ) 中的 t 都是不下 阅读全文
posted @ 2018-10-25 15:31 落笔映惆怅丶 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路: ① 可以把每个学生都看作点,而那些实力相同的学生就处在同一个连通块内,因为连通块内的同学要么都取,要么不取,所以可以将连通块缩成一个点。只需用并查集维护每个连通块的大小。 ② 接着采取神奇的可行性DP:用 f[ i ] 判断选出 i 个学生的方案是否可行。可行就转移 。 伪代码: 初 阅读全文
posted @ 2018-10-24 21:48 落笔映惆怅丶 阅读(148) 评论(0) 推荐(0) 编辑