09 2020 档案
摘要:Codeforces Round #674 (Div. 3) F. Number of Subsequences 题意: 给你一个字符串只有abc和?其中?可以换成abc问有多少个abc子串。 题解: 直接枚举b用$lsum[i]\(表示前i个字符中 a 的个数,\) rsum[i]$表示第i个数到
阅读全文
摘要:ACL Beginner Contest D - Flat Subsequence 题意: 给你n个数, 让你选择一个最长的子序列a 且 a[i + 1] - a[i]的绝对值小于等于k问最长的子序列长度为多少? 题解: 如果写成dp复杂度为$n^2$那肯定过不了的, 如果把dp方程写出来 for
阅读全文
摘要:P3792 由乃与大母神原型和偶像崇拜 题意: 给你n个数, q次询问, 每次询问 有 1 x, y 表示将x的值改成y 2 l,r 询问区间l 到r 从小到达排序后是否连续。 题解: 如果这题不带修改,很多人都会想到,直接用主席树维护一个最大值最小值, 然后查询区间不同数的个数, 如果不同数的个数
阅读全文
摘要:Codeforces Round #672 (Div. 2) C2. Pokémon Army (hard version) 题意:给你一个a数组让你找到一个子数组b求 b[1] - b[2] + b[3] - b[4]……的最大值并且有q次询问每次询问一个l和r表示将a数组的a[l],与a[r]交
阅读全文
摘要:P1712 [NOI2016]区间 题意: 给你n个线段让你找出$m$个线段且这个$m$个线段都有一个公共点$x$,对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。问合法选取的方案花费最小是? 题解: 由于数据太大,首先肯定能想到离散化。 想到离散化就会想到线段树去维
阅读全文
摘要:石子游戏(中等) 题意: 给你n个石子每个石子都有自己的质量和价值, 在给你q次询问每次询问一个区间,问在这个区间里 所有选的石子异或和为j的的价值最大是多少? 题解: 这题和简单版本的唯一不同是n变成了1e6 先来说一下官方的题解的解法: 用线段树维护,每个区间维护$f[j]$表示该区间中异或和为
阅读全文
摘要:P4198 楼房重建 题意: 给你n个点每个点都有一座楼房,小明站在(0,0)点位置看楼房,如果这栋楼房上任何一个高度大于 0 的点与 (0,0)的连线没有与之前的线段相交,那么这栋楼房就被认为是可见的 现在你有q次操作, 每次可以改变任意楼房的高度。问每次改变时小明最多能看多少楼房? 题解: 这题
阅读全文
摘要:D. Discrete Centrifugal Jumpsbu6 题意: 给你1到n的高楼, 现在你在1的位置你可每次从 i 到 i + 1, 或者跳到 i < j 且 \(max(h[i], h[j]) < min(h[i + 1] ...,h[j - 1])\) 或者跳 i < j 且 \(mi
阅读全文