cychester

2018年9月3日

Luogu 1415-拆分数列-动态规划

摘要: Solution 首先要找到使得最后一个数最小, 只需定义一个数组$pre[i]$ 从区间$[pre[i], i]$表示的数, 是最小的能使前面的数递增的方案。 $[ pre[n], n]$即为最小的最后一个数。 接着我们依据这找出的最后一个数, 向前dp, 找出使得每个数都最大的方案。 前导0是非 阅读全文

posted @ 2018-09-03 20:37 cychester 阅读(207) 评论(0) 推荐(0) 编辑

Luogu1070-道路游戏-动态规划

摘要: Solution 用对角线的前缀和快速进行转移,复杂度$O(N^3)$, 洛谷神机太快了$N^3$都能过 然而正解是单调队列优化, 能优化到$O(N^2)$,然而我弱得什么都不会 Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algor 阅读全文

posted @ 2018-09-03 16:18 cychester 阅读(238) 评论(0) 推荐(0) 编辑

Luogu 2577[ZJOI2005]午餐 - 动态规划

摘要: Solution 啊。。。 我太菜了唔 不看题解是不可能的, 这辈子都不可能的。 首先一个队伍中排队轮到某个人的时间是递增的, 又要加上吃饭时间, 所以只能使吃饭时间递减, 才能满足最优,于是以吃饭时间为关键字排序 然后定义数组 $f[i][j]$ 为前$i$个,第一个队伍要排$j$分钟时, 前$i 阅读全文

posted @ 2018-09-03 14:47 cychester 阅读(159) 评论(0) 推荐(0) 编辑

Luogu 1169 [ZJOI2007]棋盘制作 - 动态规划+单调栈

摘要: Description 给一个01矩阵, 求出最大的01交错的正方形和最大的01交错的矩阵 Solution 用动态规划求出最大的正方形, 用单调栈求出最大的矩阵。 在这里仅介绍求出最大正方形(求最大矩阵 = 单调栈裸题 传送门 : 不会单调栈的同学可以去学 定义数组$f[ i ][ j ]$ 为以 阅读全文

posted @ 2018-09-03 13:24 cychester 阅读(140) 评论(0) 推荐(0) 编辑

Luogu 1273 有线电视网 - 树形背包

摘要: Description 树形背包, 遍历到一个节点, 枚举它的每个子节点要选择多少个用户进行转移。 Code 1 #include<cstring> 2 #include<cstdio> 3 #include<algorithm> 4 #define rd read() 5 #define R re 阅读全文

posted @ 2018-09-03 12:36 cychester 阅读(137) 评论(0) 推荐(0) 编辑

导航