"华为杯" 武汉大学21级新生程序设计竞赛

https://ac.nowcoder.com/acm/contest/31620#question

D.和谐之树

思路:披着线段树外皮的二分。把区间逐层二分。注:要统计能到达的深度,深度相同时优先走右边(比赛的时候就是因为这个没过)

代码

#include <iostream>
#include <algorithm> using namespace std;
typedef long long ll;
int t;
ll n, num, ans; ll count (ll x) {
ll tt = 1;
while (x > 1) {
x = (x + 1) / 2;
tt ++;
}
return tt;
} void dfs (ll l, ll r, ll num) {
ans = max (ans, num);
if (l == r)
return ;
ll mid = l + r >> 1;
if (count(mid - l + 1) > count(r - mid )) {
dfs (l, mid, num << 1);
}
else {
dfs (mid + 1, r, num << 1 | 1);
} } int main () {
cin >> t; while (t --) {
cin >> n;
ans = 0;
dfs (1, n, 1);
cout << ans << endl; } }

H. wwhhuu

思路

等价于已知n,找三个非负整数a,b,c,使其和为n,求abc积的最大值。由于均值不等式可得,三者数量接近时有最大可能出现

代码

#include <iostream>
#include <algorithm> using namespace std; int main () {
int n;
cin >> n; int x, y, z;
if (n % 3 == 0) {
cout << (n / 3) * (n / 3) * (n / 3) << endl;
return 0;
} if (n % 3 == 1) {
x = n / 3 + 1, y = n / 3, z = n / 3;
cout << x * y * z << endl;
return 0;
} x = y = n / 3 + 1;
z = n - x - y;
cout << x * y * z << endl;
}

最新文章

  1. LintCode389.判断数独是否合法
  2. Base64编码【转】
  3. Unity中的Matrix4x4类
  4. oradebug/strace/pstack等分析数据库性能问题系列一
  5. ListView优化-通用CommonAdapter编写备份
  6. docker网络基础配置
  7. Permissions 0664 for &#39;/home/root/.ssh/id_rsa&#39; are too open.
  8. Spring Aop实例之xml配置
  9. 用grunt搭建自动化的web前端开发环境-完整教程
  10. VC 无标题栏对话框移动(在OnLButtonDown里再次发送消息)
  11. sql like &#39;%x%&#39;优化
  12. 豆瓣FM duilib版
  13. Match类解析
  14. Nginx执行阶段
  15. tcpdump常用参数说明及常见操作
  16. linux系统调用之进程控制
  17. 【转】Leveldb源码分析——1
  18. 基于akka-http搭建restfull框架
  19. 大一下第2次作业(markdown改)
  20. DOM常用的属性和方法

热门文章

  1. luoguP5319 [BJOI2019]奥术神杖(分数规划,AC自动机DP)
  2. bzoj2989 数列(KDTree)
  3. 比Tensorflow还强?
  4. 从零开始,开发一个 Web Office 套件(14):复制、粘贴、剪切、全选
  5. MariaDB CTE公用表达式
  6. redis主从复制与哨兵高可用
  7. TCP(三)
  8. pycharm2019版本可用破解
  9. 玩转 React(四)- 创造一个新的 HTML 标签
  10. web app遇到的一些坑及小技能(持续更新...)