上一页 1 2 3 4 5 6 7 ··· 30 下一页
摘要: 题目 分析 首先 \(n^2\) 很显然是个 \(dp\) ,然后显然是需要从低位到高位考虑,因为这样可以让前面的位不对后面造成影响。(比如NOIP2021T2) 然后考虑设状态 \(dp[i][j]\) 表示现在选了前 \(i\) 位,第 \(i\) 位当前有 \(j\) 个数的最大贡献值。 转移 阅读全文
posted @ 2021-12-01 16:35 __Anchor 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 首先如果我们对于左部每个点的贡献进行考虑,其实是不太好做的,所以这样的题目一般可以直接按照每一个贡献点的贡献次数来思考。 然后我们发现其实很多个数的和的 \(\gcd\) 与其本身也有关系,也就是一定可以从小的关系推出大的关系。 于是可以考虑两个不同的右端点,其拥有左端点集合的关系来判断 阅读全文
posted @ 2021-11-30 15:42 __Anchor 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题目 代码 首先容易想到对于所有的初始温度,其答案一定构成一段一段的区间,然后因为题目强制在线,可以想到每一天后就维护一下当前的答案集合。 容易发现,其实本质就是对于答案大于某一个数的所有数进行区间减,对于答案小于某个数的所有数区间加。(因为刚刚说了构成连续区间) 那么现在的问题就在于如何求出这两段 阅读全文
posted @ 2021-11-29 17:13 __Anchor 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 题目 给定一个序列 \(a\) ,定义其权值为: \[ \sum_{i=1}^n\gcd(a_1,a_2,...,a_i) \] 现在你可以重排 \(a\) ,求这个权值的最大值。 本题与同场 D1 的唯一差别在于 \(a_i\) 的范围。 分析 首先容易想到可以 \(dp\) ,并且是按照值域的维 阅读全文
posted @ 2021-11-29 16:54 __Anchor 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 (比赛时直接看出来结论就过了) 直接抛结论:所有子集的异或和的和等于 所有数的或 \(\times 2^{n-1}\) 。 首先可以得到这样一个柿子(其中 \(s\) 是当前位在数组中值为 \(1\) 的个数): \[ \large \sum_{i=0}^{\log V}2^i\time 阅读全文
posted @ 2021-11-29 14:56 __Anchor 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 好像是经典套路,但是我还是不会。 区间异或和并不好直接维护,于是想到按位处理。 枚举二进制的每一位,然后直接对于原序列所有数模一个 \(2^{k+1}\) (假设枚举的是 \(k\) ) 然后对当前位有影响的就是和在区间 \([2^k,2^{k+1}-1]\) 和区间 \([2^k+2^ 阅读全文
posted @ 2021-11-29 09:20 __Anchor 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 像这样多次询问的东西,一般都是一段含有某些一定的特征,我们才能加以判断,所以我们的目的就是寻找这些变化中不变的特征。 需要观察性质,发现在这样的操作当中,每一个 \(0\) 之间的相对位置不会变,并且每一个 \(0\) 的奇偶性一定不变。 于是我们可以想到直接哈希来判断,只要两个区间,每 阅读全文
posted @ 2021-11-29 09:09 __Anchor 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 不难想到可以先按照 \(x\) 值排序,然后如果我们枚举每一个 \(x\) 值的装备,那么其在怪兽里面也一定是单调不降的。 这个时候就需要询问当前的怪兽当中,值小于当前 \(y\) 的怪兽个数。 直接每次加入怪兽,然后对于 \(y\) 就是个查询值域上的前缀和即可。 其实本质就是扫描线。 阅读全文
posted @ 2021-11-29 09:03 __Anchor 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题目 分析 首先发现大的字母如果存在对于小的字母的删除来说一定不优,于是想到可以直接枚举字母 \(z\) 到 \(a\) 依次删除。 删除的过程可以用链表模拟也可以直接 \(vector\) 暴力。 代码 #include<bits/stdc++.h> using namespace std; // 阅读全文
posted @ 2021-11-29 08:52 __Anchor 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题目 CF883D Packmen Strike Back 分析 没看懂题意题。 注意,这里说的结束是可以在任意时间结束,即最优显然是在吃到最后一个的时候结束。(直接导致我做法假了) 回到原题。 首先题目很显然是只要有两个人就能全部拿到,所以我们特判一下只有一个人的情况就行了。 然后我们发现这个最短 阅读全文
posted @ 2021-10-28 21:33 __Anchor 阅读(51) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 30 下一页