摘要: ![image](https://img2023.cnblogs.com/blog/2454085/202308/2454085-20230829215349116-96291527.png) 首先不考虑位置交换,抓完虫子要 n-1 精力,所以我们只用求出询问区间内操作3的总次数。 设某个位置为 x 阅读全文
posted @ 2023-08-29 22:31 StranGePants 阅读(10) 评论(2) 推荐(0) 编辑
摘要: CF1830D 贪心地想,黑白交替染色,这样每条大于1的路径的值都为2。但有些情况不优,树的形态是两棵子树中间由一条边相连,这样的最优方案是这条边上两点染1,其余点染0。 并且我们发现只用把每个同色连通块的贡献算出来,因为两个异色连通块之间的贡献为2。 最初 \(Ans=2(\frac{n(n-1) 阅读全文
posted @ 2023-08-27 21:37 StranGePants 阅读(13) 评论(3) 推荐(1) 编辑
摘要: AGC044E 首先列出基本的转移式,设 \(f_i\) 为从 i 出发期望的最大收益。 则 \(f_i=\max(a_i,\frac{f_{i-1}+f_{i+1}}{2}-b_i)\)。 不难看出 a 最大的点的期望值一定是 a,因为不可能花费 b 去获得 a 更小的值。 把这个点记为 \(a_ 阅读全文
posted @ 2023-08-11 13:20 StranGePants 阅读(6) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-07-30 22:11 StranGePants 阅读(7) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-07-30 11:48 StranGePants 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 尽量简洁。 [CF679E](https://codeforces.com/problemset/problem/679/E) ~~不难发现~~直接赋值和修改的时间是对的,所以讲一下写法。把将区间变为好数的操作称为加。 对于一个已经进行过区间赋值的区间打一个标记 Up,那么这个区间及其子区间可看作1 阅读全文
posted @ 2023-07-12 22:36 StranGePants 阅读(13) 评论(0) 推荐(0) 编辑
摘要: day1用了接近4个小时写T3的费用流但是想不起来怎么写了。 用了10min写T2暴力一分没有。 day2用了接近4个小时写T1的部分分越讨论越多跟写5min得分一样。 用了10min写T2暴力一分没有。 GG 阅读全文
posted @ 2023-04-06 21:13 StranGePants 阅读(101) 评论(0) 推荐(1) 编辑
摘要: [PKUSC2018]真实排名 简直就是凑数题嘛( 首先将 A 从小到大排序,将 i 的排名转为小于 A[i] 的数的个数,显然与原定义等价。 考虑枚举 i。 若不操作 i,则需要找出 k 个操作后仍小于或仍大于的数,比较好解决。 若操作 i,设排名增加了 kong,那么需要找到 kong 个原来小 阅读全文
posted @ 2023-02-20 22:26 StranGePants 阅读(26) 评论(0) 推荐(0) 编辑
摘要: [PKUSC2018]最大前缀和 应该是套路题,但是思维还是比较巧妙。 考虑状压。 subtask3 可以设 sum[s] 表示 s 集合的数之和,分负数前后两个部分讨论即可。 subtask4 可以设 dp[n][S] 表示选择前 n 个数后最大前缀和为 S 的方案数,再用一个 sum1[n] 记 阅读全文
posted @ 2023-02-19 21:53 StranGePants 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 神仙的游戏 设 s 的长度为 len,那么当 k<=\(\lfloor\frac{len}{2}\rfloor\) 时,只需要 s[1..k]=s[len-k+1...len] 即可。 也就是说我们要判断前缀的1与后缀的0是否对应。 我们设 \(a[i]=[s[i]=='1'] , b[i]=[s[ 阅读全文
posted @ 2023-02-19 15:00 StranGePants 阅读(15) 评论(0) 推荐(0) 编辑