A. Cows and Primitive Roots

  • 暴力。

B. Cows and Poker Game

  • 模拟。

C. Cows and Sequence

  • 线段树维护。

D. Cow Program

  • 除1的位置\(a_x\)都是固定的,也就说当前位置\(x\)最终的位置也是确定的。
  • 只要判断最后\(x\)超出范围,或者在环中,或者走回1这三种情况。
  • 当前信息需要记录位置\(x\)以及方向\(d\),判断状态是否在环中可以使用时间戳,若在环中,显然时间戳应该是一样的。

E. Coin Troubles

  • 题目保证\(b_i\)不相同,\(c_i\)不相同,即每个点最多出度为1,入度为1,所以要么点构成链要么构成环。
  • 环的判断只要\(O(n^3)\)DP即可,好写。或者跑一遍也可以。
  • 假设有一条链为\(i \gt j \gt k\),当k的个数加1时,\(、、、i、j\)也需要同时加1。因为题目要求\(b_i\)严格大于\(c_i\),所以在之前需要统计每个点的最少个数(就是深度)。
  • 只要构造\(、、、、、、k+j+i、j +i、i\)这些物品,问题转化成背包问

D. Cows and Cool Sequences

  • 根据题意, \((x, y)\)表示\(x=\frac{(2a+1+y)y}{2}\),转换成\[\frac{2x}{y} =2a+1+y\]
  • 显然需要满足\(y|x\), 然后等式两边式子的奇偶性。
  • 若\(y\)是奇数,则右边为偶数,左边也是偶数。
  • 若\(y\)是偶数,则右边为奇数,若左边也要为奇数,则\(y\)的2的因子数要等于\(x\)的2的因子数+1。
  • 记\(f(x)\)表示数\(x\)的最大奇数因子,\(v(x)\)表示2的因子数,则\(x=f(x)v(x)\)。
  • 根据上面的分析,\((x,y)\)是合法的,当\(f(y)|f(x)\)且\(v(y)=0\)或者\(v(y)=v(x)+1\)。
  • 对于序列上的两个位置\(i,j(i< j)\),可以在同一序列的情况下,\(f(a_j)|f(a_i)\)且\(v(a_j)=v(a_i)+j-i\ ||\ v(a_j)<j-i\)
  • 剩下的就类似于最长上升子序列的做法,找出可以在同一序列的最长长度即可。

E. Cow Tennis Tournament

  • 假设tuple为\((x, y, z)\),且\(x<y<z\)。
  • 显然不可能直接计算两两之间的大小关系,所以考虑用总方案数 - 不合法的方案数。
  • 不合法的方案数只要考虑每个值是作\(x,y,z\)中的哪一个。
  • 对于覆盖的区间,只要离线排序,插入线段树即可。

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

  1. 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 ...

  2. 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 ...

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

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

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

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

  5. 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 ...

  6. 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 ...

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

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

  8. 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 < ...

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

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

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

    Educational Codeforces Round 60 (Rated for Div. 2) 题目链接:https://codeforces.com/contest/1117 A. Best ...

随机推荐

  1. 【JZOJ3623】【SDOI2014】数表(table) 树状数组+离线+莫比乌斯反演

    题面 100 \[ Ans=\sum_{i=1}^n\sum_{j=1}^mg(gcd(i,j)) \] 其中, \[ g(d)=\sum_{i|d}i \] 我们注意到\(gcd(i,j)\)最多有 ...

  2. WebWork(在主线程创建子进程)

    WebWork浅谈 前言: 都知道JS是单线程语言,最让人头疼的莫过于在网络正常的情况下经常出现页面的假死, 以及在进行大量的for循环计算时会导致线程阻塞,由于要进行大量的计算JS后面的运行会被阻隔 ...

  3. python findall函数

  4. Python 运算符括号

  5. 初探uni-app

    第一步:下载 第二步:安装 第三步:创建项目 第四步:项目目录 项目运行 项目效果为 打包为原生App(云端) 运行打包 使用vue 效果如下,并不好看 使用代码如下 未完,待续.... 就是对着官网 ...

  6. iOS block 用法

    1.定义Block /* 回传void ,参数也是void 的block*/ void (^blockReturningVoidWithVoidArgument)( void ); /* 回传整数,两 ...

  7. Python编码---转自金角大王

    本节内容 编码回顾 编码转换 Python的bytes类型 编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答 这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有 ...

  8. BKDRHash算法的初步了解

    字符串hash最高效的算法,  搜了一下,  原理是: 字符串的字符集只有128个字符,所以把一个字符串当成128或更高进制的数字来看,当然是唯一的 这里unsigned不需要考虑溢出的问题,  不过 ...

  9. iOS应用国际化教程

    开发一款伟大的iOS应用程序是件了不起的事情,但是还有比优秀的代码.华丽的设计以及直观化交互更多的事要做.跻身在App Store排行榜前列还需要正合时宜的产品营销.扩大用户群的能力.实用的工具以及尽 ...

  10. day10-04_多线程常用属性方法

    一.需要了解的方法 Thread实例对象的方法 # isAlive(): 判断这个线程是否是存活的 # getName(): 获取线程名 # setName(): 设置线程名 #enumerate() ...