请把你想看的二百粉福利留在评论区,谢谢
洛谷万岁!
请把你想看的二百粉福利留在评论区,谢谢
洛谷万岁!
我在 2/23 升级了 Windows 11 26063 版本,随后遇到了笔记本合上盖子后打开盖子或者连接外部显示器后切换显示模式后系统死机黑屏的问题,经过排查已确认是由 Windows 版本造成,请加入了 Windows 11 Canary/Dev 的用户谨慎升级。
附上我的系统配置:
大多数竞赛都是使用 Linux 进行评测的,而有很多程序在 Linux 和 Windows 下会得出不相同的运行结果。那么,如何解决这个问题呢?
本文主要介绍了一种利用 Vmware 和 CLion 搭建 Linux 远程开发环境的方法。
新建虚拟机
,选择典型
,下一步编辑虚拟机设置
-> 高级
-> 不为启动了 Hyper-V 的主机启用侧通道缓解
,这样可以一定程度上提升虚拟机的性能本题就是给定大炮和目标的位置以及炮弹速度、风速和风向,求出打中目标的时间。
由于需要考虑方向,我们不妨将右侧设为正,左侧设为负,即加上
1 | if (ct < cp) cbs *= -1; |
此时我们就可以将炮弹速度和风速加在一起,作为实际速度进行计算,即
1 | t = (ct - cp) / (cbs + ws) |
特判
如果大炮和目标在同一点上,那么时间就是 0 都把自己炸死了还管什么时间,所以
1 | if (ct - cp == 0) cout << "0.000000"; |
1 | if (cbs + ws == 0) cout << "Impossible"; |
最后,我们加上保留小数输出即可(时间为负即不可能)
1 | if (t >= 0) cout << fixed << setprecision(6) << t; |
UVA 613 Numbers That Count 翻译 | Henry-ji 的小站
仔细阅读题目,不难发现本题是一个纯模拟题,只需要通过递归求每个数的”记录数“即可。
记录数的计算:构建长度为 10 的 list,记录各数字的出现次数,最后拼成一个数即可
1 | def inventory(n): # 计算”记录数“ |
数的分类(为了简化代码,我们以迭代的次数 $j$ 以及循环的长度 $k$ 来进行分类)
1 | if j == 0: # 循环长度为 0,即本身就是”自记录数“ |
二、AC Code
理清思路后代码就很好写了,下面放上 AC 代码
“Kronecker’s Knumbers” 是一个专门生产塑料数字板的小公司。公司的老版和唯一的员工 Klyde Kronecker 通过维护库存簿来跟踪他使用的每种类型的数字。例如:他刚刚做了一个包含了电话号码 $5553141$,他就会在库存簿的一列上写下 $5553141$,并在下一列他会列出他所使用的数字及其个数:两个 $1$,一个 $3$,一个 $4$,三个 $5$。(没有用到的数字不会出现在记录中)他会以缩写的形式书写库存簿,比如:$21131435$,他将这种形式称为”记录序列“。
一天,Klyde 对“31123314”的记录感到十分惊讶——它包含了:三个 $1$,一个 $2$,三个 $3$,一个 $4$!他称呼这样的数为“自记录数”。他想找出哪些数是“自记录数”,或者会进入一个“记录循环”(循环的定义会在下面说明)。现在,你被 Klyde 雇佣来完成这项调查。
你会得到一个非负数 $n$ ,他的“记录序列”是 $c_1d_1c_2d_2…c_kd_k$ , 其中 $c_i$ 和 $d_i$ 均为非负整数,同时 $d_i$ 满足 $0 \le d_1 < d_2 < … < d_k \le 9$。比如:对于 $5553141$ 来说,我们认为 $c_1 = 2,d_1 = 1,c_2 = 1,d_2 = 3…$,所以它的“记录数”就是 $21131435$,又比如 $1000000000000$ 的“记录数”就是 $12011$(十二个 $0$,一个 $1$)。
如果一个整数 $n$ 与其“记录数”相等,则我们称 $n$ 为一个“自记录数”。如果一个整数 $n$ 在 $j(j \ge 1 )$ 次“记录迭代”后成为了一个“自记录数”,我们就称 $n$ 在 $j$ 次后成为了“自记录数”。比如:$21221314$ 的“记录数”是 $31321314$,$31321314$ 的“记录数”是 $31123314$,而 $31123314$ 是一个”自记录数“,所以我们称 $211221314$ 在 $2$ 次后成为了”自记录数“。