上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: P1004 方格取数 四维dp ,dp[i][j][k][l]表示第一个人走到i,j、第二个人走到k、l时获得的最大的值。 递推公式: dp[i][j][k][l]=max(dp[i-1][j][k-1][l],max(dp[i][j-1][k-1][l],max(dp[i-1][j][k][l-1 阅读全文
posted @ 2019-08-09 09:41 Chuhanjing 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 洛谷P1154 奶牛分厩 如果(a同余b)mod c;则 c|(a-b)。 n^2把每两个数之间的差求出来,做标记vis[cur]。 之后从n开始枚举k,如果对于当前k以及k在数域s内的倍数mk都不存在标记,那么当前值一定满足。 阅读全文
posted @ 2019-08-08 11:09 Chuhanjing 阅读(179) 评论(0) 推荐(0) 编辑
摘要: codeforces百题计划第一周(5) (1)一开始树形dp写了半天(真的是半天),没过,看了题解,用了很巧妙的方法。 对于对于每条两端颜色不同的边,都需要切断,才可以满足要求。 因为只能删除一个点,那也就是这些有不同颜色端点的边都连在一个点上,那么才能通过删掉这个点把树分成几个纯色子树。 每找到 阅读全文
posted @ 2019-08-07 16:27 Chuhanjing 阅读(227) 评论(0) 推荐(0) 编辑
摘要: codeforces百题计划第一周(4) 观察 发现对于k!=0时,对于包含k个1的区间,第一个1左边的0和第k个1右边的0时可选可不选的,那么对于包含当前k个1的区间,找到包含最有0的所有不同情况就时对于包含当前k个1的所有区间 记录每个1的位置,cnt[i] 每个1左右0的个数,l[i],r[i 阅读全文
posted @ 2019-08-06 13:03 Chuhanjing 阅读(140) 评论(0) 推荐(0) 编辑
摘要: codeforces百题计划第一周(3) 很典型的选择或者不选的线性dp。 两个状态,选择:dp[i][1],不选:dp[i][0] 状态转移也很容易,就在i-1的基础上考虑(详见代码) 阅读全文
posted @ 2019-08-06 10:41 Chuhanjing 阅读(153) 评论(0) 推荐(0) 编辑
摘要: codeforces百题计划第一周(2) 线性dp,记录每个数次出现的次数b[i],dp[i]的状态是处理完前i个数字后的最大值。 转移方程:dp[i]=max(dp[i-1],dp[i-2]*i*b[i]) 注意会爆int 阅读全文
posted @ 2019-08-06 09:46 Chuhanjing 阅读(226) 评论(0) 推荐(0) 编辑
摘要: codeforces百题计划第一周(1) 暴力找两次,第一次找AB,然后从下一个位置找BA。 第二次搜找BA,从下一个位置找AB。 阅读全文
posted @ 2019-08-05 10:28 Chuhanjing 阅读(163) 评论(0) 推荐(0) 编辑
摘要: E - Tunnel Warfare HDU - 1540 区间合并+单点修改,查询最大连续长度 区间修改的线段树实现起来稍微比较麻烦,因为维护两个区间左右延伸的数组。 每次查询的时候,如果该区间是sum[rt]||l==r||sum[rt]==r-l+1,那么返回,否则继续向下查找,因为是单点修改 阅读全文
posted @ 2019-08-01 11:16 Chuhanjing 阅读(121) 评论(0) 推荐(0) 编辑
摘要: F - Assign the task HDU - 3974 dfs序线段树 把树形结构变成线性区间结构,树的向下传值变成了这个节点能覆盖的区间的修改。 线段树代码是真的难调,一点小bug就是找不出来,卡了两天。 阅读全文
posted @ 2019-07-31 22:33 Chuhanjing 阅读(128) 评论(0) 推荐(0) 编辑
摘要: poj 3667 阅读全文
posted @ 2019-07-30 15:36 Chuhanjing 阅读(172) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页