A

对于每个 \(i\) 我们求出 \(b_i\) 表示 \(i\) 这个数最少要增加多少(\(\max^i_{j=1}a_j-a_i\)),答案等于最小的 \(k\) 使得 \(2^k-1\ge \max^n_{i=1}b_i\).
时间复杂度 \(O(n)\).
代码: 76336034

B

最小:只要存在两个叶子距离为奇数,答案就是 \(3\),否则是 \(1\).
最大:等于非叶子节点数加上和至少一个叶子节点相连的非叶子节点数 \(-1\)。显然和同一个点相连的叶子边权必须相等。那么考虑去掉叶子节点后剩下的树,由于你可以安排任意大的数,所以一定能做到边权互不相同。
时间复杂度 \(O(n)\).
代码: 76352259

C

找规律即可。打表前 \(16\) 位不难发现就是先四进制分解,由 \(\mod 3\) 的值得到答案的最高位,剩下的每一位做个置换。
归纳证明应该不难。
听说这个规律还和 nim 积有关。
时间复杂度 \(O(\log n)\).
代码: 76377989

D

我的做法还是找规律(然而脑速太慢赛后搞了一上午)。找规律的过程非常麻烦,实在不太会讲,直接说一下结论好了:
设 \(f[u][0/1]\) 表示 \(u\) 点的子树内,被根包含/不被根包含的最大层数。需要 \(0/1\) 是因为把根套在外面之后,仅仅能套住那些不被根的儿子包含的圈,而需要和根的儿子相交。这也就意味着,一个子树的状态可以表示为两个相交的圈,其中较大的一个是根,另外一个不是根。
假设 \(u\) 有若干儿子 \(v_1,v_2,...,v_{sonn[u]}\). 那么最优方案一定会套成如下所示,蓝色的是 \(u\),黑色和红色分别是每个儿子的根 (\(0\)) 和非根 (\(1\)).

于是可以得到这样的方程:

\[f[u][1]=\max_i \max(f[v_i][0],f[v_i][1])+(sonn[u]-1) \]

再考虑 \(f[u][0]\) 的转移,显然有

\[f[u][0]=\max_i f[v_i][1]+1 \]

换根 dp 即可。
时间复杂度 \(O(n)\).
比较有道理的做法见 \(\color{black}{\text{s}}\color{red}{\text{uwakow}}\) 神仙的题解: https://www.cnblogs.com/suwakow/p/12692393.html
代码: 76449398

E

题解: https://www.cnblogs.com/suncongbo/p/12779107.html

Codeforces 1338 题解相关推荐

  1. Dominated Subarray[codeforces 1257C]题解

    Dominated Subarray[codeforces 1257C] CF-1257C(Dominated Subarray) 题目 输入 输出 题目大意 样例输入 样例输出 CF-1257C(D ...

  2. Codeforces 833B 题解(DP+线段树)

    题面 传送门:http://codeforces.com/problemset/problem/833/B B. The Bakery time limit per test2.5 seconds m ...

  3. Codeforces 1344 题解

    A 假设所有的 \((i+a_i)\) 模 \(n\) 意义下构成排列则答案为 YES,否则为 NO. 时间复杂度 \(O(n)\) 或 \(O(n\log n)\). 代码: 79150268 B ...

  4. Codeforces 1314 题解

    这场整体质量感觉可以算 2020 年度(目前为止)最垃圾. A 按数值从小到大扫描,维护一个优先队列,每遇到一个数加入队列,每次数值发生 \(+1\) 时弹掉队列中价值最大元素,然后把此时队列中所有元 ...

  5. Codeforces 1149 题解

    A 特判全是 \(2\),对于有 \(1\) 的情况把 \(1\) 放到第二个和最后. 时间复杂度 \(O(n)\). 代码: 76492031 B 考虑只有一次询问的情况,有一个 \(O(n^3)\ ...

  6. Codeforces 1025 题解

    A 若 \(n=1\) 则答案为 YES,否则答案为 YES 当且仅当存在两个相同的字符. 时间复杂度 \(O(n)\). 代码: 76484733 B 求出所有 \(\text{lcm}(a_i,b ...

  7. Codeforces 1188 题解

    A 首先对于 A1 题,可以加减任意实数,结论是答案为 YES 当且仅当没有度数为 \(2\) 的点.必要性显然,充分性通过下面的构造来证明. A2 题的构造:考虑随便找一个叶子节点为根,记为 \(r ...

  8. codeforces #1 题解

    codeforces1A 题目链接:http://codeforces.com/problemset/problem/1/A 题意:给定一个n*m的矩形,然后给一个a*a的地板,求最少需要多少地板可以 ...

  9. Codeforces #635题解

    Codeforces round 635赛后解题报告 A. Ichihime and Triangle 首先这是一道几何题 那么我们知道,在此题中, x , y , z x,y,z x,y,z 满足 ...

最新文章

  1. 支持插件的消息中间件【msg broker with plugin】 - 知然 - 博客园
  2. Spring5源码 - 08 BeanFactory和FactoryBean 源码解析 使用场景
  3. 跨链Cosmos(7)普通交易流程
  4. python3中的type与object
  5. 转录组+微生物组联合解密困扰50年的丛枝菌根共生“自我调节”中枢分子网络机制...
  6. Linux 端口侦听不到,在linux上,如何在不尝试连接的情况下检查端口是否处于侦听状态...
  7. spark练习--统计xxx大学的各个少数名族的情况
  8. 联想集团杨元庆:联想携手SAP解决用户云计算应用痛点
  9. 【C语言开源库】C语言开源库zlog的使用
  10. jsp超市仓库管理系统myeclipse开发sqlserver数据库
  11. 电子元件-电感、磁珠
  12. java 成员变量什么时候初始化_Java中成员变量的初始化过程
  13. android 集成腾讯定位,Android集成腾讯云通信IM
  14. 实验四: IPv6路由选择协议配置
  15. 推荐系统实践——什么是推荐系统
  16. AGC001E BBQ Hard [dp]
  17. 调用移动端“搜索”按键,触发后收起软键盘
  18. 小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
  19. 计算机所有端口代号,端口类型
  20. 软考信息系统项目管理师质量管理高分论文赏析

热门文章

  1. Python实现一个简单数据库查询接口编写
  2. systemtap mysql_使用systemtap调试工具分析MySQL的性能
  3. VTK修炼之道9:坐标系统及空间变换(窗口-视图分割)
  4. getpeername函数与getsockname函数的介绍
  5. 【CyberSecurityLearning 60】ACCESS数据库的注入+ACCESS数据库的cookie注入
  6. 也谈SSDT Hook(二)
  7. 程序的加载和执行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25
  8. 如何将本地代码上传到GitHub
  9. Java8--Lambda表达式对List集合操作
  10. 第一课 计算机网络的分类,第一课-计算机网络基本组成