摘要:
1731C \(a\) 的质因子为奇数个,当且仅当 \(a\) 是平方数。 我们考虑如何处理出有多少段的异或和为平方数。 枚举平方数 \(p\),枚举左端点 \(l\),问题就变成了有多少 \(r\) 使得 \(\oplus_l^ra_i=p\),处理出异或前缀和 \(s_i=\oplus_1^ia 阅读全文
摘要:
众所周知,在 THU 系列夏令营/冬令营中往往会碰到一些要求手搓 cpu 的工程题。所以你需要学会一些面向对象编程的技巧。 当然下面讲的完全不是面向对象编程。 语言基础 先上网址:cppreference。 C++ 程序是由声明构成的。 全局变量的定义、函数的定义都是声明。 变量 抽象的就不写了,写 阅读全文
摘要:
小 B 想要对一个长为 \(n\) 的序列 \(A\) 排序。已知 \(A\) 中只包含 \(0,1,\cdots,n-1\) 且对任意 \(i\ne j\) 有 \(A_i\ne A_j\) 且 \(n\) 为 \(2\) 的次幂。 为了排序,小 B 只想用以下两种操作: 交换相邻的两个位置,也就 阅读全文
摘要:
抽象局。 AB一眼。 C 相当于求 \(\sum\sum (a_i+a_j)\bmod P\),等价于 \(\sum\sum (a_i+a_j)-\lfloor \frac{a_i+a_j}{P}\rfloor\times P\),由于 \(a_i,a_j<P\),得到 \(\sum\sum a_i 阅读全文
摘要:
发挥抽象。 长了几个教训。 不要轻易使用浮点数 所有位运算必须加括号!!! 感觉还是心态不好,错判了难度。 AB一眼。 C 随便猜个结论。 D 很好的题。考虑将其变为不降,只能通过选一些“000”“111”和至多一个“001”类型的数,所以统计一下不选“001”的答案是多少,判断一下是否存在“001 阅读全文
摘要:
ABC一眼。 那你怎么吃那么多罚时 D 题意比较抽象,稍微想一下就发现是单调队列。 E 考虑 Kruskal 的本质,优化建图一下。 F dfs。 但是我们不屑于 dfs,考虑状压。 发现图上存在一些连通块,每个连通块用一个 \(n\) 位的二进制数来表示,来代表这个连通块中排名的相对关系。对于 0 阅读全文
摘要:
博弈论 Nim游戏 对于 \(n=2\),\(a_1=a_2\),后手可以“模仿”先手,使得后手必胜。 对于 \(a_1\ne a_2\),先手可以让自己进入“模仿期”,使得先手必胜。 结论:若 \(\oplus a_i=0\),先手必败,否则必胜。 很神奇的东西,证明需要群论知识。 发现石子的合并 阅读全文