HNOI2024
Day1
开把写了 A 的
看到 C 就把 C 弃了想 B,然后也是写了一点性质分。
事实证明没几个对的,爆搜还炸了。
写完之后继续想了一下
此时意识到了这个东西应该是一个单峰函数,然后并没有写三分,降智了。(好像有人三分过了?)
实际上需要解一个绝对值不等式的东西,考场上也并没有去推。
A
性质 B ( ):
因为
对于不为
傻呗二分加一堆特判居然过了三个点,真神奇
总分:
B
测试点 ( , , ,且只有一个 满足 )
先把小的放在
(好像有个东西不是很好描述,贴个代码在这)
int f(int x){
int num=0;
for(int i=0;i<k;i++){
int val=(1ll<<i);
if((x&val)==0) num+=val;
}
return num;
}
然后若大的可加,答案就是
若小的可加,枚举每个二进制位,尝试进行操作。(即对小的加,大的异或)
然后如果小的变成更大的那个了,就当做大的可加的情况来做。
否则用现在的状态更新一下答案就是了。
如果两个都不可加,那就加上两个数都为
(十分抽象)
爆搜挂了好像是因为把特判 if(n<=2)
写前面了。
总分:
C
输出
wsy 这题写了
总分:
Day1 总分:
Day2
先扫了一遍三个题,首先判断 C 完全不可做,然后感觉 B 的性质分比较好写,就写了一个小时 B。
然后开了 A,先是写了性质 A,然后爆搜了一下。
想了一下 A,感觉是类似于分治的东西,推了一下发现在大样例就假了。
然后好像就写不出来了。
A
测试点 ( )
直接 dfs 开哪些石像,然后贪心地走就好了。
特殊性质 A
首先需要尽可能地让 Bob 往左走,这样如果我能够开当前这个石像就肯定开,然后先递归处理左边;否则需要先递归处理右边。
然后也是跑一遍贪心算答案就可以了。
然后性质 B 应该是个树上背包,正解还真就是类似分治的东西,考场上应该是没有想到开启一个石像对于答案的影响。
总分:
B
测试点 1
爆搜,但是太难写了,一直没写出来。
没有限制,直接输出
特殊性质 B
若
若第一个不是
大力算概率:首先,遇到这种情况的概率为
总分:
C
不可做。
总分:
Day2 总分:
总分:
中规中矩吧。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话