小编Dav*_*jar的帖子

如何计算旅行推销员比特币之旅的最佳路径?

更新

在更多阅读之后,可以给出具有以下递归关系的解决方案:

(a) When i = 1 and j = 2, l(i; j) = dist(pi; pj )
(b) When i < j - 1; l(i; j) = l(i; j - 1) + dist(pj-1; pj)
(c) When i = j - 1 and j > 2, min 1<=k<i (l(k; i) + dist(pk; pj ))
Run Code Online (Sandbox Code Playgroud)

现在开始有意义了,除了C部分.我如何确定最小值k?我想这意味着你可以迭代所有可能的k值并只存储(l(k,i)+ dist(pk,pj)的最小结果?


是的,绝对是我在学校学习的一个问题.我们正在研究旅行商问题的比特旅游.

不管怎么说,我有5个顶点{0,1,2,3,4}.我知道我的第一步是按照增加x坐标的顺序对它们进行排序.从那里开始,我对动态编程如何完成这一点感到困惑.

我正在阅读我应该扫描已排序节点的列表,并维护两个部分(初始路径和返回路径)的最佳路径.我对如何计算这些最佳路径感到困惑.例如,我如何知道是否应该在初始路径或返回路径中包含给定节点,因为它不能同时包含(两个端点除外).回想一下斐波纳契的动态编程,你基本上从基础案例入手,继续前进.我想我要问的是如何开始使用比特型旅行推销员问题?

对于类似Fibonacci数字的东西,接近的动态编程非常清楚.但是,我不知道我是不是只是在密集或什么,但我很困惑试图绕过这个问题.

谢谢你的期待!

注意:我不是在寻找完整的解决方案,但至少有一些很好的技巧可以让我开始.例如,如果这是Fibonacci问题,可以说明如何计算前几个数字.请告诉我如何改进这个问题.

algorithm graph dynamic-programming

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

相互排斥和信号量

我正在写一个模拟男女皆宜的浴室的程序(用于家庭作业).一次只允许4个人,如果其他性别已经在使用浴室,男女不能进入.我的问题是允许最多4人在浴室.从输出中可以看出,一次只有一个人进入洗手间.这是我的代码:

const int Delayx = 60;
int i;
int restroom = 0;
int Menwaiting = 0;
int Womenwaiting = 0;
semaphore max_capacity;
semaphore woman;
semaphore man;
semaphore mutex;
semaphore restroomcount;
void Delay(void)
{
    int DelayTime;
    DelayTime = random(Delayx);
    for (i = 0; i<DelayTime; i++);
}

void Woman(void)
{
//  for(;;){
    Womenwaiting++;
    //wait(mutex);
    wait(woman);
    wait(max_capacity);
        //wait(woman);
        wait(mutex);
        wait(restroomcount);
        cout << "A Woman has entered Restroom"<<endl;
        cout << "People in the Restroom:" << restroom++ <<endl <<endl;
        signal(restroomcount);
        Womenwaiting--;
        Delay();
        wait(restroomcount);
        cout << …
Run Code Online (Sandbox Code Playgroud)

c++ mutex semaphore

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

Hibernate错误:无法在活动的全局事务中打开自动提交

我在部署应用程序时遇到错误.

环境是:

  • Jboss 7.1.3 + Hibernate 4 + JPA
  • OJDBC:ojdbc6.jar

堆栈跟踪如下,

09:13:30,703 WARN  [org.hibernate.engine.jdbc.internal.JdbcServicesImpl] (ServerService Thread Pool -- 127) HHH000341: Could not obtain connection metadata : could not turn on auto-commit in an active global transaction
09:13:30,703 INFO  [org.hibernate.engine.jdbc.internal.LobCreatorBuilder] (ServerService Thread Pool -- 127) HHH000422: Disabling contextual LOB creation as connection was null
09:13:30,704 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 127) MSC00001: Failed to start service jboss.persistenceunit."css-ear-0.5.3-SIT.ear/css-submission-0.5.3-SIT.war#css-submission-PU": org.jboss.msc.service.StartException in service jboss.persistenceunit."css-ear-0.5.3-SIT.ear/css-submission-0.5.3-SIT.war#css-submission-PU": java.lang.NullPointerException
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:100) [jboss-as-jpa-7.1.3.Final.jar:7.1.3.Final]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) …
Run Code Online (Sandbox Code Playgroud)

oracle jboss hibernate

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

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

如何在不使用递归的情况下找到字符串的所有排列?

有人可以帮我解决这个问题:这是一个查找任意长度字符串的所有排列的程序。需要相同的非递归形式。(最好有C语言实现)

using namespace std;

string swtch(string topermute, int x, int y)
{
  string newstring = topermute;
  newstring[x] = newstring[y];
  newstring[y] = topermute[x]; //avoids temp variable
  return newstring;
}

void permute(string topermute, int place)
{
  if(place == topermute.length() - 1)
  {
    cout<<topermute<<endl;
  }
  for(int nextchar = place; nextchar < topermute.length(); nextchar++)
  {
    permute(swtch(topermute, place, nextchar),place+1);
  }
}

int main(int argc, char* argv[])
{    
  if(argc!=2)    
  {
    cout<<"Proper input is 'permute string'";
    return 1;
  }
  permute(argv[1], 0);
  return 0;    
}
Run Code Online (Sandbox Code Playgroud)

c++ iteration algorithm recursion

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

将O添加到不同的例程时

假设我有一个例程,扫描n个项目的整个列表3次,根据大小进行排序,然后bsearches排序列表n次.扫描是O(n)时间,我将调用O(n log(n)),n次bsearch是O(n log(n)).如果我们将所有3加在一起,它是否只是给我们3的最坏情况 - n log(n)值或者语义是否允许增加时间?

很确定,现在我输入的答案是n log(n),但我现在也可以确认我输入了:)

algorithm big-o

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

如何从 SAT 模型中仅获取“真实”变量?

考虑一下我有一个简单的 SMT-lib 公式:

(declare-const a Bool)
(declare-const b Bool)
(declare-const c Bool)
(declare-const d Bool)
(assert (or a b))
(assert (or d c))
(check-sat)
(get-model)
Run Code Online (Sandbox Code Playgroud)

当 SAT 求解器给出模型时。它为所有变量提供真/假值。但我只想要“True”值分配变量。Z3可以吗?

z3

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

bash在第一次失败时终止

有没有办法让我的bash脚本终止于第一个返回非零状态的命令?

我知道我可以用它来链接它&&:

cd /stuff &&
echo 'what's up' &&
....
Run Code Online (Sandbox Code Playgroud)

还有另外一种方法吗?

bash shell

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

如何用Java生成地图?

我试图完成一个项目的RPG游戏,但不知道如何制作游戏地图.它不需要是图形的,但整个地图和每个图块的代码必须是正确的.

到目前为止,我想通过使用包含所有链接的tile的ArrayList来制作非matricial地图(作为教授的请求).

public abstract class Casella {
/** 
 * @uml.property name="tabellone"
 * @uml.associationEnd multiplicity="(1 1)" inverse="casella:Tabellone"
 * @uml.association name="contains"
 */

private int id;
private boolean free = true;
private List adjacent;
private List items;
private Tabellone tabellone = null;

public void in(){
    free = false;
}

public void out(){
    free = true;
}

}
Run Code Online (Sandbox Code Playgroud)

这是单个图块的代码(有3个类扩展它).我仍然不知道如何组合并生成地图.

感谢您的时间.

java map tile

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

数据库触发器和JMS

Cound我创建一个触发器来向JMS发送记录消息?如果是,我该怎么办?提前致谢!

database triggers jms

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