2016 Multi-University Training Contest 6
2016 Multi-University Training Contest 6
HDU 5799 This world need more Zhu
题意
- 给一棵树,点\(N(N \le 10^5)\),每个点有个权值\(A_i\),有\(M(M \le 10^5)\)次询问。
- 询问分两种:
- 询问某棵子树中,出现\(a\)次和出现\(b\)次的权值和的GCD。
- 询问树上某条路径上,出现\(a\)次和出现\(b\)次的权值和的GCD。
思路
- 子树的询问可以通过dfs序+莫队做。
- 路径上的询问则要通过树上莫队来做。
HDU 5800 To My Girlfriend
题意
- 给\(N(N \le 1000)\)个数\(a_i\),一个数\(S(S \le 1000)\)
- 求$$\sum_{i=1}{n}{\sum_{j=1}{n}{\sum_{l=1}^{s}{f(i,j,k,l,m)}}}}}$$其中\(f(i,j,k,l,m)\)表示由若干数组成和为\(m\)的方案数,一定包含\(i,j\)这两个数,一定不包含\(k,l\)这两个数。
思路
- \(dp(i,j,k,l)\)表示前i个数组成和为j的方案数,其中一定包含了k个值,一定不包含l个值。
HDU 5802 Windows 10
题意
-
有加大声音和降低声音的两个按钮:
- 加大按钮:每次音量加1;
- 降低按钮:第一次降低,音量减1,否则若前一次也是降低声音(记为x),则本次降低2x的音量。
-
每秒钟可以按按钮一次,也可以休息。
-
给定初始音量和末音量,求最少时间使得从初始音量变成末音量。
思路
-
若当前音量低于末音量,只能不断地按加大按钮;
-
若当前音量高于末音量,有两种决策:
- 连续降低音量,降到不低于末音量的最小音量,然后休息;
- 连续降低音量,直至低于末音量,此时只能按加大音量,同时注意到降到该音量前,有休息操作,可以将休息操作变成按加大按钮,所以还要记录降到该音量前的休息次数。
-
一个trick:音量不会低于0,所以音量小于0时要取成0。
代码
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥