2023年6月9日
摘要: P1121 环状最大两段子段和 非环状最大两子段和 \[fr[i]表示第1 \to i个元素的最大子段和 ba[i]表示第n \to i个元素的最大子段和 所以最大两子段和就是max(fr[i]+ba[i+1]),i \in [1,n) \]int Solve(){ int ans=-0x3f3f3 阅读全文
posted @ 2023-06-09 08:44 Bubble_e 阅读(31) 评论(0) 推荐(0)
  2023年6月8日
摘要: P5322 状态表示 \[dp[i]表示主人公出动i名士兵获得的分数 \]转移 将输入数组进行排序,使得 \(in[i][j]\) 表示对于第 \(i\) 座城堡,出动兵力第 \(j\) 小的玩家的士兵数 这样做,如果主人公能在 \(i\) 城堡打败第 \(j\) 个人,将获得 \(i \times 阅读全文
posted @ 2023-06-08 10:23 Bubble_e 阅读(32) 评论(0) 推荐(0)
  2023年6月2日
摘要: P7074 状态 \[up[i][j]表示这一步向上或向右走到(i,j)的最大价值 \]\[down[i][j]表示这一步向下或向右走到(i,j)的最大价值 \]\[dp[i][j]表示走到(i,j)的最大价值 \] 第一维表示行,第二维表示列 转移 第一列和最后一列只能从上往下走(最后一列还可以从 阅读全文
posted @ 2023-06-02 16:58 Bubble_e 阅读(62) 评论(0) 推荐(0)
摘要: CF1759F 因为每次只对原数加 \(1\),所以表示出来所有的数最多需要 \(p-1\) 次(一共 \(p\) 种数字,\(in[1]\) 已经被表示出来了) 对于输入数的最低位 \(in[1]\),如果有比他小的数没被表示出来,那么一定存在进位(进位过程中,所有大于 \(in[1]\) 的数全 阅读全文
posted @ 2023-06-02 16:19 Bubble_e 阅读(26) 评论(0) 推荐(0)
  2023年5月10日
摘要: 可持久化线段树 值域线段树 设线段树节点 \(i\) 管辖区间 \([l,r]\),\(i\) 的 \(val\) 表示 $ l\ge $ 且 $ \le r$ 的数的个数 那么 \(i.l\) 表示$ l\ge $ 且 $ \le mid$ 的数的个数, \(i.r\) 表示$ mid+1\ge 阅读全文
posted @ 2023-05-10 20:05 Bubble_e 阅读(31) 评论(0) 推荐(0)
摘要: P2014 题意 从一棵树中选择m条与根节点直接/间接相连的点,使得总权值最大 DP(树上背包) 状态: \(dp[i][j]\)表示在以\(i\)为根的子树中,选择了\(j\)个点的权值最大值 转移 选择第k个点:\(dp[i][j]=dp[i][j-k]+dp[to][k]\) 不选第k个点:\ 阅读全文
posted @ 2023-05-10 14:08 Bubble_e 阅读(35) 评论(0) 推荐(0)
  2023年4月18日
摘要: #D.糖果镇 思路 $m=3$时整个路径有两个拐点,分别是$m=1 \to m=2,m=2 \to m=3$ 设拐点$1$在第$i$列,拐点$2$在第$j$列,则路径上的数字总和为$(front[1][i])+(front[2][j]-front[2][i-1])+(back[j])$($front 阅读全文
posted @ 2023-04-18 22:46 Bubble_e 阅读(44) 评论(0) 推荐(0)
  2023年4月14日
摘要: #A. 最大子段和 最大子段和(正常) for(int i=1;i<=n;i++) sum[i]=max(sum[i-1]+in[i],in[i]); $sum[i]$表示以第i个数为结尾的最大子段和,可以由前一个最大子段和转移过来$(sum[i-1]+in[i])$,也可以只包含自己$(in[i] 阅读全文
posted @ 2023-04-14 22:32 Bubble_e 阅读(48) 评论(0) 推荐(0)