当前位置: 首页 > news >正文

23.8.15 杭电暑期多校9部分题解

1002 - Shortest path

题目大意

对于一个数 x x x,可以进行以下三种操作:

1.将 x x x 变成 2 ∗ x 2*x 2x

2.将 x x x 变成 3 ∗ x 3*x 3x

3.将 x x x 变成 x + 1 x+1 x+1

给定一个数 n n n,问最少操作几次才能将 1 1 1 变成 n n n

解题思路

最开始想法是建图跑最短路,然后发现空间显然不够,换思路

可以倒过来考虑,最优操作必然是找不大于本身的最大的 2 2 2 3 3 3 的倍数除以 2 2 2 3 3 3

很容易可以想到暴力搜索,但是会超时,考虑记忆化优化就可以了

code

#include <bits/stdc++.h>
using namespace std;
int t, ans;
long long n;
unordered_map <long long, int> v;
int dfs(long long x) {if (v.find(x) != v.end()) return v[x];return v[x] = min(dfs(x / 2) + x % 2, dfs(x / 3) + x % 3) + 1;
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cin >> t;v[1] = 0;v[2] = v[3] = 1;while (t --) {cin >> n;cout << dfs(n) << "\n";}return 0;
}

1008 - Coins

题目大意

n n n 个人,每个人有 a i a_i ai 个硬币,每次操作可以选择任意 A , B A,\space B A, B 两个人,将 A A A 1 1 1 枚硬币给 B B B,如果这次操作后 A A A 没有硬币,则 A A A 退出游戏,问最后将所有硬币集中到一个人手上的期望操作次数

解题思路

先试试模拟,只有两个人的时候答案是 a 1 ∗ a 2 a_1*a_2 a1a2,再推三个人,四个人,发现结果刚好是 ∑ i = 1 n ∑ j = i + 1 n a i ∗ a j \sum_{i=1}^n\sum_{j=i+1}^na_i*a_j i=1nj=i+1naiaj

听说题解讲了鞅的停时定理,咱也不会,但是其实不难发现每两个人之间的游戏其实是独立事件,也可以推出结论

注意卡亿下时间就好了

code

#include <bits/stdc++.h>
using namespace std;
int t, n, a;
__int128 ans, sum;
inline void write(__int128 x) {if (x > 9) write(x / 10);cout << (char)(x % 10 + '0');
}
signed main() {ios::sync_with_stdio(0);cin.tie(0);cin >> t;while (t --) {cin >> n; sum = ans = 0;for (int i = 1; i <= n; ++ i)cin >> a, ans += sum * a, sum += a;write(ans); cout << "\n";}return 0;
}
http://www.lryc.cn/news/170828.html

相关文章:

  • 四个BY的区别 HIVE中
  • 计时函数与float32 float16 int8 数据转换
  • 自身免疫疾病诊断原料——博迈伦
  • cpu温度监测 Turbo Boost Switcher Pro for mac最新
  • spring 请求 出现实体类大小写不一致 出现的问题
  • zaabix实现对nginx监控
  • 基于AI视觉的表面缺陷检测设备优势显著,加速制造业数智化转型
  • 操作系统权限提升(二十六)之数据库提权-MySQL UDF提权
  • 基于 IntelliJ 的 IDE 将提供 Wayland 支持
  • 誉天在线项目~ElementPlus Tag标签用法
  • iText实战--Table、cell 和 page event
  • WampServer下载安装+cpolar内网穿透实现公网访问本地服务【内网穿透】
  • Elasticsearch 入门 索引、分词器
  • Android NDK 中有导出 sp智能指针吗?如果没有,可以用什么方法代替 android::sp 智能指针
  • 网络爬虫-----爬虫的分类及原理
  • uniapp级联菜单地点区域使用label值,web端el-cascader绑定的value
  • 合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念
  • 力扣第47天--- 第647题、第516题
  • dll文件找不到,微软官方地址
  • 【音视频】FLV封装格式
  • 别再纠结线程池池大小、线程数量了,哪有什么固定公式 | 京东云技术团队
  • Redis 数据一致性方案的分析与研究
  • 【网络安全】黑客自学笔记
  • 深入解析Perlin Simplex噪声函数:在C++中构建现代、高效、免费的3D图形背景
  • 【计算机辅助蛋白质结构分析、分子对接、片段药物设计技术与应用】
  • 免费开箱即用微鳄售后工单管理系统
  • vant 组件库的基本使用
  • HTML常用基本元素总结
  • msvcp140.dll重新安装的解决方法是什么?(最新方法)
  • USI-0002 SDI-1624 HONEYWELL ,用于工业和物流4.0的人工智能