摘要:
纯纯的规律题。 考虑差分。不难发现每次操作相当于交换相邻两个元素,同时不能出现相邻的 0 0 0,那么将 0 0 0作为特征元素,如果初始 0 0 0的数目相等那么移动一下就好了,否则不难想到可以对 a 2 a_2 a2, a n a_n an单独取反,使得 a 2 ∼ n a_{2\sim n 阅读全文
摘要:
1.1 1.1 1.1 多项式乘法逆元:满足 F ( x ) ∗ G ( x ) = 1 F(x)*G(x)=1 F(x)∗G(x)=1时,称 F ( x ) , G ( x ) F(x),G(x) F(x),G(x)互为乘法逆元。保证 f 0 ≠ 0 f_0\ne 0 f0=0。 考虑倍增算法 阅读全文
摘要:
太复杂了,做不动。 设第 2 n 2n 2n个点与 k k k相连,这样把点分成了左右两个集合,一定存在左边的 x x x与右边的 y y y相连的一条边,并且这个结构有一个比较优美的性质,左右相连的边的点的编号应该是单调,否则会存在环。那么我们取最靠近上端的那条边。 那么我们用 [ i : j ] 阅读全文
摘要:
挺有意思一道题。 对于普通的情况进行分析是困难的。那么比较好的思路是对特殊情况进行分析,然后得出结论。 我们考虑什么情况是“好”的,如果最外层构成了一个环,那么显然是“好”的,否则设最外层的角为 A A A, B B B, C C C,并且 A → B , B → C , A → C A\to B, 阅读全文
摘要:
1.1 1.1 1.1 线性映射 f : V ↦ V f:V↦V f:V↦V 被称为线性变换。在选定基底后,线性变换总可以表示为矩阵。下文中,我们用 A \cal A A表示线性变换, A α \cal A\alpha Aα表示 f ( α ) f(\alpha) f(α)。 1.2 1.2 1.2 阅读全文
摘要:
用了大概一个晚自习来做这四道题,顺便复习一下以前学过的知识。 A. 数字游戏 签到题。。。 #include <iostream> using namespace std; string s; int ans; int main() { cin >> s; for (int i = 0; i < s 阅读全文
摘要:
挺神奇的一道题。 类比拟阵,可以贪心地从权值大的往权值小的选,能选择选。 能否想到,将边定向成从小点连向大点,然后先选上出度为 0 0 0的点,再把与这些点相邻的点从图中删去,重复上述过程?因为这是张 D A G DAG DAG因此任意 ( x , y , z ) (x,y,z) (x,y,z)都对 阅读全文
摘要:
已经缺乏深邃的思考力了 记 c i c_i ci表示 i i i之前比 p i p_i pi大的数的个数。合法的 P P P的步数下界是 ∑ i = 1 n max  ( c i − K , 0 ) \sum_{i=1}^n\max(c_i-K,0) ∑i=1nmax(ci−K,0)。并且 阅读全文
摘要:
不妨从必要条件入手,如果 a i > a i + 1 a_i>a_{i+1} ai>ai+1那么显然 i i i和 i + 1 i+1 i+1在同一块中,那么不妨做一个工作,按前缀 max  \max max将结果序列进行划分。 然后有一个神必的结论: c 1 ≥ c 2 c_1\ge c_2 阅读全文