A. Polo the Penguin and Segments

  • 模拟。

B. Polo the Penguin and Matrix

  • 每个数字模d余数必须一样。
  • 枚举结果,可计算操作次数,取最小。

C. Polo the Penguin and Strings

  • ababab……cdef……
  • 对于n、k分别为1时,需要特判。

D. Polo the Penguin and Houses

  • 前k个暴力枚举,后n-k个每个可取个数为n-k。

E. Polo the Penguin and XOR operation

  • 显然为了让结果尽量大,所以异或和应该和加法和接近。
  • 观察样例可知,结果为n(n+1),所以可猜测对于任意的n可构造出异或和n(n+1)的序列,即异或不存在两个1相消。
  • xjb证明:对于n来说,假设二进制最高位为p,则\(2^{p + 1} - 1 \oplus n\) 显然小于n;对于n-1来说(假设二进制最高位不变),\(2^{p+1}-1 \oplus n - 1\)会大于\(2^{p+1} - 1 \oplus n\)。也就是\([2^{p + 1}-1 \oplus n, n]\)构成一个我们要的区间,而\([1,2^{p + 1}-1 \oplus n)\)则变成一个子问题。

D. Polo the Penguin and Trees

  • 考虑每个点的贡献,把一个点挖掉后会形成若干棵子树,对于每个子树内的路径与经过当前点的路径必然不相交。

E. Polo the Penguin and Lucky Numbers

  • 因为\(l,r\)没有前导0,即最后的幸运数字长度均为\(|l|,|r|\)。
  • 将问题看成求\([1,n]\)内\(a_1a_2+a_2a_3+…+a_{n-1}a_n\)的值。
  • 长度为1时,幸运数字有4,7;
  • 长度为2时,幸运数字有44,47,74,77;
  • 记长度为\(l\)时,幸运数字有\(a_{1}^{l},a_{2}^{l},…,a_{n}^{l}\),那么长度为\(l+1\)时,新的幸运数字为\(\overline{a_{1}^{l}4},\overline{a_{1}^{l}7},\overline{a_{2}^{l}4},\overline{a_{2}^{l}7}…,\overline{a_{n}^{l}4},\overline{a_{n}^{l}7}\)。此时是不考虑有上界的情况,有上界的情况时,最大值是前缀,且添加4、7时要根据下一位的值考虑,下一位是4时,最大值只能加4得到新的幸运数字,下一位是7时则相当于没有限制。
  • 假设\(F_i=\sum_{i=1}^{K_i-1}{a_ia_{i+1}}\),\(K_i\)表示幸运数字的个数。
  • 当\(时s_{i+1}=4时\)\[F_{i+1}=\sum_{i=1}^{K_{i+1}-1}{A_iA_{i+1}}\\=\sum_{i=1}^{K_i-1}{\overline{a_i4}\cdot\overline{a_i7}}+\sum_{i=1}^{K_i-1}{\overline{a_i7}\cdot\overline{a_{i+1}4}}\\=\sum_{i=1}^{K_i-1}{(100a_i^2+110a_i+28)}+\sum_{i=1}^{K_i-1}{(100a_ia_{i+1}+40a_i+70a_{i+1}+28)}\\=100\sum_{i=1}^{K_i-1}{a_ia_{i+1}}+100\sum_{i=1}^{K_i-1}{a_i^2}+220\sum_{i=1}^{K_i-1}{a_i}+70(a_{K_i}-a_1)+56(K_i-1)\]
  • 当\(s_{i+1}=7\)时,只需要加上\(\overline{a_{K_i}7}\)这项即可。
  • 为了得到\(F_i\),需要维护和、平方和,两个值推导与上面的类似。

Codeforces Round #177 (Div. 1 + Div. 2)的更多相关文章

  1. Codeforces Round #177 (Div. 1) 题解【ABCD】

    Codeforces Round #177 (Div. 1) A. Polo the Penguin and Strings 题意 让你构造一个长度为n的串,且里面恰好包含k个不同字符,让你构造的字符 ...

  2. Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...

  3. Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...

  4. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  5. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

  6. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...

  7. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...

  8. Educational Codeforces Round 63 (Rated for Div. 2) 题解

    Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...

  9. Educational Codeforces Round 39 (Rated for Div. 2) G

    Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...

  10. Educational Codeforces Round 48 (Rated for Div. 2) CD题解

    Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...

随机推荐

  1. web标准中定义id与class有什么区别吗

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x ...

  2. CWnd::Attach()具体解释

    CWnd::Attach Attaches a Windows window to a CWnd object. BOOL Attach(    HWND hWndNew ); Parameters ...

  3. 微服务Eureka使用详解

    Eureka是spring cloud中的一个负责服务注册与发现的组件.遵循着CAP理论中的A(可用性)P(分区容错性). 一个Eureka中分为eureka server和eureka client ...

  4. Leetcode766.Toeplitz Matrix托普利茨矩阵

    如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵. 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True. 示例 1: 输入: matrix = ...

  5. 【心有猛虎】react-lesson

    这个项目标识:构建一套适合 React.ES6 开发的脚手架 项目地址为:https://github.com/ZengTianShengZ/react-lesson 运行的是第一课,基本上可以当作是 ...

  6. cmake时选择的VS生成器

    运行cmake --help 在得到的输出中可以得到下面的结果:

  7. 微服务开源生态报告 No.6

    「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展. 社区动态包括,但不限于:版本发布.人员动态.项目动态和规划.培训和活动. 非常欢迎国内其他微服 ...

  8. P1127

    题目描述 如果单词X的末字母与单词Y的首字母相同,则X与Y可以相连成X.Y.(注意:X.Y之间是英文的句号“.”).例如,单词dog与单词gopher,则dog与gopher可以相连成dog.goph ...

  9. MySQL用户管理+MySQL权限管理

    我们现在默认使用的都是root用户,超级管理员,拥有全部的权限! 但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库! 所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限 ...

  10. 移动端以及 PC浏览器页面分享到朋友圈等的功能实现

    我们经常可以在一些 app上看到分享到朋友圈.微信好友.qq好友等功能,例如 饿了么.美团等 app,下单之后就会弹出给好友发红包的 modal窗,这在 app上很常见,app的权限可以很大,甚至连启 ...