摘要:题目:传送门 题意 给你一个序列 A 让你求F(A) 思路 一看到这题,一般很自然的能想到两种思路: 1.枚举每个 a[i],算出满足以当前点为最大值的区间最大区间,然后去求这个最大区间和其子区间的 gcd 的和,相乘累加起来即为答案; 2.枚举区间右端点,然后 1 ~ i 这一段会分成若干 gcd
阅读全文
摘要:题目:传送门 题意 给你一个长度为 2^n 的序列 a,你有 q 次操作,每次操作有四种情况: 对所有操作4输出答案 思路 操作2,相当于分别执行 swap(k), swap(k - 1), swap(k - 2).... swap(1) 所以,只要维护一下,每个 k 的 swap 次数的奇偶性即可
阅读全文
摘要:题目:传送门 题意 1 < =N < =4*10^5 思路 思路参考 -> 戳 代码参考-> 戳 #include <bits/stdc++.h> #define mem(i, j) memset(i, j, sizeof(i)) #define rep(i, j, k) for(int i = j
阅读全文
摘要:题目: 传送门 题意: 你需要建 n 栋楼,第 i 栋楼最多能建 m[ i ] 层,然后你需要构造一个数组 a 使得对任意 i 满足 1 <= a[ i ] <= m[ i ], 且不能存在 j < i < k and a[ j ] > a[ i ] < a[ k ],也就是说不能同时存在 j 和
阅读全文
摘要:题目:传送门 题意: 有n天,m个区域,第 i 天第 j 个区域有 a[ i ][ j ] 个动物, 然后, 你可以在放一个 2 * k 的矩阵, 问你 n 天能够观察到的动物最多是多少。 若两个矩阵都包含了 a[ i ][ j ],那 a[ i ][ j ] 只算一次。 1 ≤ n ≤ 50, 1
阅读全文
摘要:传送门 自家OJ 1313 题意 : 给你 n个数,让你找一段连续的区间, 使得这段 区间的和 S 除以 P 最大,且S%p <= k; 问你 最大的 S / P 为多少, 若没有这样的区间, 输出 -1; 解: 我们假设, pre[ i ] 为前 i 个数的和, succ[ i ] 为 i ~ n
阅读全文
摘要:题意:小花梨得到了一个长度为𝑛的数组𝑎,现在要对它进行三种操作: ⚫ 1 𝑙 𝑟 对所有的𝑖 ∈ [𝑙, 𝑟], 𝑎[𝑖] = 𝑎[𝑖] ∗ 𝑚𝑖𝑛𝑝𝑟𝑖𝑚𝑒(𝑎[𝑖]) ⚫ 2 𝑙 𝑟 对所有的𝑖 ∈ [w
阅读全文