小编kus*_*szi的帖子

集合分区比差分更好

已知分区问题是NP难的.根据问题的具体情况,我们可以尝试动态编程或一些启发式方法,如差分(也称为Karmarkar-Karp算法).

后者似乎对于具有大数字的实例(使动态编程难以处理)非常有用,但并不总是完美的.什么是找到更好的解决方案的有效方法(随机,禁忌搜索,其他近似)?

PS:问题背后有一些故事.自2004年7月以来,SPOJ就迎来了挑战Johnny Goes Shopping.到目前为止,1087个用户已经解决了这个挑战,但只有11个用户得分高于正确的Karmarkar-Karp算法(目前得分,Karmarkar-Karp给出了11.796614)点).怎么做得更好?(最受欢迎的已接受提交支持的答案,但请不要透露您的代码.)

algorithm optimization partition-problem

29
推荐指数
3
解决办法
2224
查看次数

在C中将中缀表达式转换为后缀(RPN)的最短路径

这里给出原始配方(你可以尝试你的程序的正确性).

附加规则:
1.程序应从标准输入读取并写入标准输出.
2.程序应该向调用系统/程序返回零.
3.程序应该使用gcc -O2 -lm -s -fomit-frame-pointer编译和运行.

挑战有一些历史:2009年9月在波兰编程竞赛博客上宣布了短期实施的要求.比赛结束后,最短的代码是81个字符长.后来第二次调用甚至更短的代码,并在年后matix2267 以78字节发布了他的解决方案:

main(c){read(0,&c,1)?c-41&&main(c-40&&(c%96<27||main(c),putchar(c))):exit(0);}
Run Code Online (Sandbox Code Playgroud)

有人让它更短或证明这是不可能的吗?

c

13
推荐指数
3
解决办法
5479
查看次数

.NET简单聊天服务器示例

我正在为.Net程序员寻找简单的一步一步的通信教程.在一些Google查询之后,我在net-informations.com找到了"CSharp Communications"代码集.只要我到达" 如何使用C#聊天服务器 "示例,它看起来就很不错.

作者建议使用HashTable容器的多线程服务器将所有连接保留在服务器端的共享内存中.根据MSDN文档,用于广播消息的TcpClientNetworkStream类不是线程安全的,而该示例使用来自多个服务器线程的类.

我的问题是:

  1. 你能否证实这个例子是错的?
  2. 应该怎么做,是否足以锁定广播方法(将其标记为关键部分)?
  3. 你能推荐一些socket通信教程(.Net首选)吗?

c# sockets

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

字符串上的 ReferenceEquals

如图所示 这里,创建在运行时不能被拘留的字符串。

但是,以下代码:

    class Program {
    static void Main(string[] args)
    {
        string s1 = "Programming Is Fun";
        string s3 = s1.ToString();
        Console.WriteLine(Object.ReferenceEquals(s1, s3));
    }
}
Run Code Online (Sandbox Code Playgroud)

给出(VS 2015):

True
Run Code Online (Sandbox Code Playgroud)

那么,它是否以某种方式指定了在运行时生成哪些字符串?

顺便提一句:

编码:

using System;
using System.Text;

class Program {
  static void Main(string[] args)
  {
    string s1 = "hop";
    StringBuilder s2 = new StringBuilder(s1);
    string s3 = s2.ToString();
    Console.WriteLine(Object.ReferenceEquals(s1, s3));
  }
}
Run Code Online (Sandbox Code Playgroud)

给出(VS 2015):

False
Run Code Online (Sandbox Code Playgroud)

与单声道(版本 4.0.2)相反,它给出

True
Run Code Online (Sandbox Code Playgroud)

请参阅工作示例

c# string mono

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

如何在Perl中的switch语句中对案例进行分组

给出一个代码

use Switch;

my $var1x = "one";

switch ($var1x) {
    case "one" { print "Why so small?\n"}
    case "two" { print "Why so small?\n"}
    case "three" { print "That is ok.\n"}
    case "four"  { print "That is ok.\n"}
}
Run Code Online (Sandbox Code Playgroud)

我想将类似案件的实施分组.有任何建议如何在Perl中正确编写它?

string perl switch-statement

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