小编Pra*_*lee的帖子

段树中的数据映射和延迟传播

看起来在整个互联网上的Segment Tree中只有一篇关于延迟传播的好文章,它是:http: //www.spoj.pl/forum/viewtopic.php?f = 27&t = 8296

我理解只更新查询节点并标记其子节点的概念.但我的问题是,如果我先查询子节点,然后再查询父节点.

在这棵树中(以及堆数组中的位置)

           0->[0 9]
      1->[0 4]    2->[5 9]
   3->[0 2] 4->[3 4]  5->[5 7] 6->[8 9]
 .....................................
Run Code Online (Sandbox Code Playgroud)

第一个查询,如果我更新[0 4],它的数据将被更改,其子项将被标记.第二个查询,是段[0 9]的读状态.

我在这里面对这个问题.我的分段树实现使得每个节点的值是其左右子节点的总和.因此,当我更新节点的值时,我要更新它的所有父节点.为了解决逻辑问题,现在我正在更新节点的所有父节点(直到它到达树的根).但这会带来性能损失,我使用分段树进行快速批量更新的整个目的正在被杀死.

任何人都可以解释一下,我在使用分段树时出错了吗?

algorithm data-mapping data-structures segment-tree

14
推荐指数
1
解决办法
3988
查看次数

乐高积木 - 动态规划

我正在尝试解决以下DP问题:

您有4种类型的乐高积木,尺寸为1*1*1,1*1*2,1*1*3和1*1*4.假设您拥有无限数量的每种类型的积木.

你想在这些块中制作一个高度为H和宽度为M的墙.墙上不应有任何孔.你建造的墙应该是一个坚固的结构.坚固的结构意味着不应该沿着任何垂直线分开墙壁而不切割用于建造墙壁的任何乐高积木.块只能水平放置.墙可以建造多少种方式?

以下是我的尝试方法:用abcd表示1*1*1,1*1*2,1*1*3和1*1*4块.有效模式以粗体表示.无效模式可以被垂直线打破.

H = 1&W = 3 #valid pattern = 1
aa ab ba c

H = 2&W = 3 #valid pattern = 9
在此输入图像描述

我试图通过高度或宽度来找到递推模式,以找到H = 3&W = 3或H = 2&W = 4的值.

关于如何通过身高或体重来计算增长的任何输入?
PS墙壁总是H*W*1.

algorithm dynamic-programming

11
推荐指数
2
解决办法
9111
查看次数

Kerberos错误:GSSHeader找不到正确的标记

我正在尝试将Kerberos身份验证连接到SOAP服务wsdl url.我能够成功建立连接并进行服务呼叫.启动服务器后,我能够至少进行一次成功的服务呼叫.但是在几次请求(1或更多)之后,我突然得到无效的令牌错误.一旦我收到错误,未来的呼叫就不起作用,错误仍然存​​在.

如果我重新启动服务器,那么服务调用至少会运行一次.以上循环继续.

我无法弄清楚为什么突然令牌失效,尽管它早先工作了.并重新启动服务器使令牌再次有效.

这是错误堆栈跟踪:

Caused by: GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag)
        at sun.security.jgss.GSSHeader.<init>(GSSHeader.java:97)
        at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:237)
        at sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179)
Run Code Online (Sandbox Code Playgroud)

java soap kerberos jgss spring-security-kerberos

10
推荐指数
1
解决办法
5411
查看次数

最短加权路径算法 - 频繁变换边缘

我正在尝试解决图形问题.图表是加权和无向的.
图表大小:

no. of vertices upto  200,000 
no. of edges upto  200,000 
Run Code Online (Sandbox Code Playgroud)

我要在图中的给定2个节点(S&D)之间找到最短路径.我正在Dijkstra's algorithm寻找这个.
现在问题是图表经常变化.如果从图中删除特定边,我将在S&D之间找到最短路径.我正在使用Dijkstra算法再次计算新路径,在删除边缘后将图形视为新图形.然而,这种方法太慢,因为可能有200,000个边缘,并且我将为每个边缘移除计算最短路径200,000次.
我正在考虑使用任何记忆技术,但如果从图中删除特定边缘,则无法确定最短路径可能会完全改变.
//更多详细信息
源和目标在整个问题中都是固定的.
每个边缘删除将有多达200,000个查询.每次只对每个测试用例的初始图表中删除一个边缘

algorithm graph shortest-path data-structures

5
推荐指数
1
解决办法
2343
查看次数

在象限中计算点数

我必须计算每个象限中有多少点,我只有以下数据:
没有x> 0,x <0,y> 0和y <0的点.
对于前者 对于跟随图像,我的数据
x> 0 = 4,x <0 = 3
y> 0 = 4,y <0 = 3
是否可以计算否.有这么多数据的每个象限中的点数?

点图像

math logic

1
推荐指数
1
解决办法
116
查看次数

IE 中 window.location.assign(url) 的角度摘要错误

我正在使用 Angular JS,每当我尝试使用 window.location.assign(url) 更改窗口位置 url 时,都会出现以下错误。这种情况只发生在 IE 中 这是我得到的错误:

10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: [["fn: function $locationWatch() {\n      var oldUrl = $browser.url();\n      var currentReplace = $location.$$replace;\n\n      if (!changeCounter || oldUrl != $location.absUrl()) {\n        changeCounter++;\n        $rootScope.$evalAsync(function() {\n          if ($rootScope.$broadcast('$locationChangeStart', $location.absUrl(), oldUrl).\n              defaultPrevented) {\n            $location.$$parse(oldUrl);\n          } else {\n            $browser.url($location.absUrl(), currentReplace);\n            afterLocationChange(oldUrl);\n          }\n        });\n      }\n      $location.$$replace = false;\n\n      return changeCounter;\n    }; newVal: 9; oldVal: 8","fn: function ngModelWatch() {\n    var value = ngModelGet($scope);\n\n    // if scop …
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer angularjs

-1
推荐指数
1
解决办法
1234
查看次数