- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试解决 Google CodeJam 2017 "Bathroom Stalls" problem C - 链接中提供了解决方案,下面我的 C# 代码在 small1 和 2 集上运行良好。大集合看起来解决得很好,但在线判断失败了,因为不正确。有谁知道为什么?我尝试使用 ulong
,我尝试检测溢出,我通过 bruteforce 与小集合进行比较以找到相同的解决方案。
private string SeatTreeSkip(ulong n, ulong k)
{
var q = new SortedSet<ulong>();
q.Add(n);
var c = new Dictionary<ulong,ulong>();
c[n] = 1;
for (ulong i = 0; i < n; )
{
ulong p = q.Last();
ulong x0 = (ulong)Math.Ceiling((p - 1) / 2.0);
ulong x1 = (ulong)Math.Floor((p - 1) / 2.0);
if (p - 1 < 0)
p = p;
i += c[p];
if (i < 0 || x0 < 0 || x1 < 0)
throw new Exception("overflow");
if (i >= k)
return x0 + " " + x1;
q.Remove(p);
q.Add(x0);
q.Add(x1);
if (!c.ContainsKey(x0)) c.Add(x0, 0);
if (!c.ContainsKey(x1)) c.Add(x1, 0);
c[x0] += c[p];
c[x1] += c[p];
}
throw new Exception("k is over");
}
输入片段:
4 2
5 2
6 2
1000 1000
1000 1
500000000000000000 249999999999999999
1000000000000000000 500000000000000000
999999999999999999 423539247696576511
3 2
500000000000000000 144115188075855872
1000000000000000000 1
输出片段:
Case #1: 1 0
Case #2: 1 0
Case #3: 1 1
Case #4: 0 0
Case #5: 500 499
Case #6: 1 0
Case #7: 1 0
Case #8: 1 1
Case #9: 0 0
Case #10: 1 1
Case #11: 500000000000000000 500000000000000000
最佳答案
正如@Jo 在评论中所说,您对案例 #11 的回答不正确(应该是:
案例 #11:500000000000000000 499999999999999999
)
我怀疑错误出在您用于将整数拆分为子问题的公式中(再次转换回 ulong
时您可能会失去精度)。
您可以通过避免将 float 除以 2.0 并改为移动值来解决此问题。这是我解决它的方法(在 Python 中):
def split(value):
n = value >> 1
return (n, n-1) if value % 2 == 0 else (n, n)
关于c# - Google CodeJam Bathroom Stalls 2017 Qualification Round 大数据集错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462883/
我正在测试新的 zgc包含在 java 中的垃圾收集器11 因为它 promise 非常低的延迟。我们的应用程序是一个实时服务,每秒创建和销毁许多对象,它使用 akka 在多线程环境中完成。 . 启用
自从我升级到新的 MBP 后,我在 R 中收到以下警告。当我启动应用程序并以奇怪的间隔重新出现时,会出现警告。 2016-12-06 15:05:02.067 R[87426:4480089] IMK
假设我有一个具有定义的宽度和高度的视口(viewport)。我克隆了右侧 View 之外的一个元素,然后随机将其飞过视口(viewport) y位置代码如下: ... .css({
当我运行 heroku pg:psql 我得到 --> Connecting to postgresql-cylindrical-38664 并停滞不前。一切看起来都很好,只是卡住了,什么也没做。 最
我正在 Google Chrome 上使用 HTML5 视频标签编写视频播放器:我需要显示一些视频 (1),然后将它们从 DOM 文档中删除以显示其他视频,稍后再次创建一些指向相同视频标签的视频标签文
我在 FastCGI 模式下运行带有 HHVM 3.5.0 的 NGINX 1.2.1。 正如标题所说,在我执行以下操作后,Chrome 会“暂停”请求很长时间: 打开我的网站(只需大约 1.5 秒)
我正在与Tokio一起运行一款铁锈应用程序。在上一个版本中,我有一个错误,一些请求导致我的代码进入无限循环。。发生的情况是,当进入循环的任务陷入停滞时,所有其他任务继续正常工作并处理请求,直到停止任务
我开始注意到发送到我们的应用程序服务器的 post 请求在浏览器端停滞了大约 7 秒,没有明显的原因。 环境: Angular 1.4 Play Framework Chrome 64。* 服务器发送
在我的智能电视应用程序中,我通过跨域请求使用 SoundCloud API - $.getJSON() 等 该应用程序还在 100% HTML5 模式(无 Flash)上使用 SoundManager
我在 chrome 中有以下网络登录: 里面有一件事我不明白:实心灰条和透明灰条有什么区别。 最佳答案 Google 在 Evaluating network performance 中对这些字段进行
我正在开发一个 Java 应用程序,它应该向我们的远程计算机发送一个特定文件。我正在使用 Jsch 库,并遵循网站 @ ( http://www.jcraft.com/jsch/examples/Sc
我正在尝试编写一个使用 [SoundManager 2][1] api 的 javascript 应用程序并旨在运行所有桌面和移动浏览器。在 iPad 平台上,Soundmanager 使用 HTML
我正在使用 Spring Boot 创建一个 Spring Integration 原型(prototype)。 我有一个“集线器”,它接受控制台输入并将其发送到单独的套接字/tcp 应用程序。 tc
在尝试发送 mp3 数据时,我们遇到了一个非常烦人的错误。我们有以下设置。 网络摄像头生成 aac -> ffmpeg 转换为 adts -> 发送到 nodejs 服务器 -> 服务器上的 ffmp
我的 Emacs(Windows 10 64 位下的 GNU Emacs 25.1.1 (x86_64-w64-mingw32))变得非常缓慢和不稳定,尤其是在 Org 模式下,例如可能会暂停 2 秒
我对此非常陌生,所以如果我问的是一个愚蠢的问题,我提前道歉。此外,如果可能的话,最可取的是一个非常简单的答案。 使用 mac osx 10.8.4,安装了 PostgreSQL 9.2.4 和带有自制
我正在尝试解决 Google CodeJam 2017 "Bathroom Stalls" problem C - 链接中提供了解决方案,下面我的 C# 代码在 small1 和 2 集上运行良好。大
运行 perf stat ls 显示: Performance counter stats for 'ls': 1.388670 task-clock
我制作、训练并保存了一个简单的 tf.keras 模型。然后,我通过 Flask、redis 和 rq 设置了一个基于任务的基本 API。 它的工作原理基本上是这样的: 使用输入调用 api 任务(使
我试图了解如何衡量性能并决定编写非常简单的程序: section .text global _start _start: mov rax, 60 syscall 然后我用 pe
我是一名优秀的程序员,十分优秀!