标签: rmq

如何使用UIButton作为切换按钮?

我正在尝试为表格中的每个单元格创建一个切换按钮.按下时,它将改变图像,再次按下时,它将再次改变图像 - 切换.

在UIButton课堂上,我没有看到一个selected州.

我正在寻找一种方法来创建一个使用UIButton的切换按钮,以便我可以在每次单击时更改状态.

这就是我现在正在rubymotion使用的方式rmq

@fav_button.on(:touch) do |sender|
  puts "pressed fav button for id: " + data[:id] + " and name: " + data[:name]
  #how do I change the state here?
end
Run Code Online (Sandbox Code Playgroud)

iphone uibutton ios rubymotion rmq

21
推荐指数
2
解决办法
2万
查看次数

范围最小查询<O(n),O(1)>方法(从树到受限RMQ)

所以,我在RMQ(范围最小查询)上阅读了这个 TopCoder教程,我有一个很大的问题.

在他介绍这种方法的部分,到目前为止我能理解的是:

(整个方法实际上使用稀疏表(ST)算法中引入的方法,从LCA到RMQ的减少,以及从RMQ到LCA)

给定数组A [N],我们需要将其转换为笛卡尔树,从而使RMQ问题成为LCA(最低共同祖先)问题.稍后,我们可以获得阵列A的简化版本,并使其成为受限制的RMQ问题.

所以它基本上是两个转换.所以第一个RMQ到LCA的部分很简单.通过使用堆栈,我们可以在O(n)时间内进行变换,得到一个数组T [N],其中T [i]是元素i的父元素.树完成了.

但这是我无法理解的.O(n)方法需要一个数组|A[i] - A[i-1]| = 1,并且该数组在本教程的从LCA到RMQ的部分中引入.这涉及到这棵树的欧拉之旅.但是,如何通过转换的最终结果实现这一目标?我对它的处理方法不是线性的,所以在这种方法中应该被认为是不好的,对此采用线性方法是什么?

更新:让我困惑的一点

Here's the array A[]:

  n : 0  1  2  3  4  5  6  7  8  9
A[n]: 2  4  3  1  6  7  8  9  1  7

Here's the array T[]:

  n : 0  1  2  3  4  5  6  7  8  9
T[n]: 3  2  0  *  8  4  5  6 …
Run Code Online (Sandbox Code Playgroud)

algorithm tree least-common-ancestor rmq cartesian-tree

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

服务器关闭通道:406(PRECONDITION-FAILED),消息“PRECONDITION_FAILED - 队列“xyz”的不等价参数“x-max-priority”

在消费者模式下运行应用程序时,我的应用程序经常因错误而崩溃Error: Channel closed by server: 406 (PRECONDITION-FAILED) with message "PRECONDITION_FAILED - inequivalent arg 'x-max-priority' for queue 'xyz' in vhost '/': received the value '10' of type 'byte' but current is none"。有谁知道这个问题的解决方法?

node.js rmq visual-studio-code

9
推荐指数
1
解决办法
2万
查看次数

范围最小查询<O(n),O(1)>方法(最后步骤)

继续我的上一个问题" 范围最小查询方法(从树到受限制的RMQ) "(建议读一读)

再次,从TopCoder的这个教程,我在这里和那里有几个问题,我希望有人可以清除它们.

所以我将RMQ(范围最小查询)问题转换为LCA(最低公共祖先)问题,然后将其转换回来,我可以有一个简化的数组.(两个转换都可以在教程中找到,简化的数组是在"从LCA到RMQ"中讨论的数组L)

无论如何,我可以通过使用Euler Tour获得该数组,这是所有计算的核心部分.

首先,我需要通过使整个数组只包含1和-1来使它变得更简单,所以这就是我所做的:Ls[i] = L[i] - L[i-1].

第二步实际上是分区,这很简单,但是第三步让我感到困惑.

设A'[i]为A中的第i个块的最小值,而B [i]是A中该最小值的位置.

A指的是这个句子中的L数组,所以最小值总是1或-1,并且会有多个1和-1.这让我感到困惑,因为我不认为这会使计算更容易.

第四步,

现在,我们使用第1节中描述的ST算法预处理A'.这将花费O(N/l*log(N/l))= O(N)的时间和空间.

如果A'只保留1和-1的记录,那么对它做任何事情似乎都没用.

最后一步,

要索引表P,预处理A中每个块的类型并将其存储在数组T [1,N/l]中.块类型是通过将-1替换为0而+1替换为1而获得的二进制数.

这是什么意思?要计算每种组合?比如,000- 001-.....?

这看起来像是多个问题,但我希望有人能够完成这些最后的步骤.谢谢!

algorithm rmq

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

计算范围的数量 [L; R]最大值与最小值之差为偶数

给定一个数组 n 个元素 (n <= 10^5) 计算范围的数量 [L; R] (L <= R) 最大值与最小值之差为偶数。

例如,n = 5
a[] = {4, 5, 2, 6, 3}
答案是 11:[1;1], [1;4], [1;5], [2;2], [2;4]、[2;5]、[3;3]、[3;4]、[3;5]、[4;4]、[5;5] 时间限制为 1 秒

如果 n <= 1000,O(n^2) 的 natvie 算法就可以了。我认为我们可以通过使用堆栈或双端队列来改进这种方法。但这太难了。

有什么有效的办法吗?

algorithm stack deque segment-tree rmq

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

在一个范围内的乘法

我有一个数组到10个数字消除A [10] = {1,2,3,4,5,6,7,8,9,10}我必须计算特定范围内的数字乘法但不得正确的答案,我正在使用段树,不知道如何使用查询操作这是我的代码:

#include<stdio.h>
#define m 1000000000
#define MAX 100010

typedef unsigned long long ull;
ull a[MAX];
ull tree[4*MAX];

void build_tree(int n,int b,int e){
    if(b>e)return ;
    else if(b==e){
        tree[n] = a[b];
        return ;
    }
    build_tree(n*2,b,(b+e)/2);
    build_tree(n*2+1,(b+e)/2+1,e);
    tree[n] =( tree[n*2]%m * tree[n*2 + 1]%m )%m;
}


ull query(int index, int ss, int se, int qs, int qe)
  {
      ull p1, p2,p;
      if (qs > se || qe < ss)
          return -1;

      if (ss >= qs && se <= qe)
          return …
Run Code Online (Sandbox Code Playgroud)

algorithm tree data-structures segment-tree rmq

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

Rabbit mq 错误:在线程“main”java.io.IOException 中出现异常 引起原因:com.rabbitmq.client.ShutdownSignalException

这是我运行 main 时遇到的错误。我不太明白为什么第 44 行有问题:channel.basicConsume(Q,true,consumer); 我的目标是尝试将收到的消息存储到可以在其他文件中使用的变量中。

The error is: Exception in thread "main" java.io.IOException
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:105)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:101)
at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:1255)
at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicConsume(AutorecoveringChannel.java:471)
at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicConsume(AutorecoveringChannel.java:461)
at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicConsume(AutorecoveringChannel.java:456)
at Recv.recv(Recv.java:44)
at mainLaptop.main(mainLaptop.java:11)
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'Leonardo' in vhost '/', class-id=60, method-id=20)
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:32)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:366)
at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:1253)
... 5 more
Run Code Online (Sandbox Code Playgroud)

这是我的 Recv 文件代码

    public class Recv 
    {

public static String recv(String ip, String Q) throws Exception 
{

    ConnectionFactory factory = new …
Run Code Online (Sandbox Code Playgroud)

java message-queue rabbitmq rmq que

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