小编Tim*_*lds的帖子

从数组中选择元素的组合,其总和是最小可能的正数

假设我有一个M元素数组,所有数字,负数或正数或零.

任何人都可以建议一种算法N从数组中选择元素,这样这些N元素的总和是最小的正数吗?

以此数组为例:

-1000,-700,-400,-200,-100,-50,10,100,300,600,800,1200
Run Code Online (Sandbox Code Playgroud)

现在我必须选择任何5个元素,使得它们的总和是可能的最小正数.

arrays algorithm mathematical-optimization selection data-structures

7
推荐指数
2
解决办法
4259
查看次数

ZMQ民意调查不起作用

当我运行以下代码时,第一次调用时出现错误zmq_poll(即返回-1).该zmq_errno()收益128zmr_strerror(128)调用返回"Unknown error".我一直在使用ZMQ和C++一段时间没有任何问题,但zmq_poll无论多么简单,我都无法打电话来工作.

调用zmq::version显示我正在使用ZMQ版本2.1.10.

有没有人知道为什么zmq_poll失败?

#include <zmq/zmq.hpp>

int main(int argc, char* argv[])
{
    zmq::context_t context(1);
    zmq::socket_t repA(context, ZMQ_REP);
    zmq::socket_t repB(context, ZMQ_REP);
    repA.bind("tcp://127.0.0.1:5555");
    repB.bind("tcp://127.0.0.1:5556");
    zmq::pollitem_t items[] =
    {
        { &repA, 0, ZMQ_POLLIN, 0 },
        { &repB, 0, ZMQ_POLLIN, 0 }
    };
    while (true)
    {
        int rc = zmq_poll(items, 2, 1000);
        if (rc < 0)
        {
            int code = zmq_errno(); //code = 128
            auto message …
Run Code Online (Sandbox Code Playgroud)

c++ zeromq

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

IEnumerable <T> .Last()是否针对List <T>进行了优化?

我有一个List<T>叫做LN个项目的东西.

L.Last(),IEnumerable<T>扩展方法,将在线性时间内运行所有N项?

或者内部优化是否具有恒定时间性能L[L.Count - 1]

.net c# c#-4.0

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

如何用Bullet物理逼真地模拟高尔夫球击球?(包括现场演示)

背景

我正在玩一个迷你高尔夫游戏,使用three.js和弹药物理库的ammo.js转换,但是我在让球实际移动方面遇到了一些麻烦.

(我在penguinspuzzle.appspot.com/minigolf.html上放了一个演示,如果你想看看它在实践中是如何工作的.)

什么是一个很好的算法,以提供迷你高尔夫球的更逼真的运动?

我试过的

在ammo.js中,有摩擦,线性阻尼和旋转阻尼选项.

当球滚动时,摩擦设置似乎没有太大影响.

我正在使用

body.setRestitution(0.8);
body.setFriction(1);
body.setDamping(0.2,0.1); // linear damping, rotational damping
Run Code Online (Sandbox Code Playgroud)

问题

由于线性阻尼值较高,球似乎减速得太快.

价值较低似乎需要很长时间才能最终停止.

当球在空中时,完全应用线性阻尼似乎是不合理的.

分析

我认为问题可能是ammo.js中的线性阻尼导致指数减慢.

我试过了:

  1. 录制高尔夫击球的视频
  2. 测量每个框架中球的位置
  3. 根据时间绘制球的位置和速度

结果如下所示.在我看来,速度曲线更接近于线性而非指数.

有什么建议让算法让ammo.js更加真实吗?

高尔夫分析

javascript algorithm physics bulletphysics ammo.js

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

适当的布尔随机生成器(伯努利分布)

我很想知道randomC++ 11库中是否有默认的随机布尔生成器.我一直在使用一个int生成器返回01然后转换为bool但我正在尝试优化我的代码并认为我可以通过从一开始使用bool生成器来保存,如果它存在的话.

c++ random boolean probability c++11

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

OWIN初创公司的剖析

OWIN Startup类的所有钩子是什么?关于这些的信息很少.

例如,每个Startup类上的一个必需钩子是它应该有一个Configuration方法.可以从Microsoft文档中收集此信息.

class Startup
{
    public void Configuration(IAppBuilder appBuilder)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

背后是什么理由具有IOwinStartup界面或OwinStartup框架中的基础类?

interface IOwinStartup
{
    void Configuration(IAppBuilder appBuilder);
}
Run Code Online (Sandbox Code Playgroud)

如何为基于OWIN的应用程序执行清理?OWIN是否检测Dispose到Startup类上的方法,类似于检测Configuration方法的方法?

经过大量搜索后,我发现了这个相关的问题:在自托管的OWIN Web API中,如何在关机时运行代码? 目前尚不清楚回答这个问题的人是如何得出必要的信息的.我是否遗漏了关键文档,或者OWIN Startup课程的这些细节看起来难以捉摸?

.net c# owin asp.net-web-api2

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

使用System.Type调用泛型方法

我使用的是C#/ .NET 4.0和一个Protocol Buffers库(protobuf-net),它提供了以下功能.

public static class Serializer {
    public static void Serialize<T>(Stream destination, T instance);
    public static void Serialize<T>(SerializationInfo info, T instance);
    public static void Serialize<T>(XmlWriter writer, T instance);
    public static void Serialize<T>(SerializationInfo info, StreamingContext context, T instance);
    public static T Deserialize<T>(Stream source);
}
Run Code Online (Sandbox Code Playgroud)

我需要使用非泛型等价物包装其中两个调用.具体来说,我想要

void SerializeReflection(Stream destination, object instance);
object DeserializeReflection(Stream source, Type type);
Run Code Online (Sandbox Code Playgroud)

它只是Serializer在运行时调用相应的通用成员.我已经得到了DeserializeReflection使用以下代码的方法:

public static object DeserializeReflection(Stream stream, Type type)
{
    return typeof(Serializer)
        .GetMethod("Deserialize")
        .MakeGenericMethod(type)
        .Invoke(null, new object[] { stream …
Run Code Online (Sandbox Code Playgroud)

.net c# generics system.reflection

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

Lambda返回lambda错误地推断返回类型?

这个问题是我最近一个问题的延续:
当使用lambda作为模板参数时,这个编译器错误是什么?

2014年11月11日:微软已经回应说这个bug的修复程序应该出现在Visual C++的下一个主要版本中.


此代码无法使用VS2012(Update 2)进行编译:

int main(int argc, char* argv[])
{
    auto f = []()
    {
        int n = 0;
        auto r = [=]{ return n; };
        return r;
    };
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的编译器错误:

1>  main.cpp
1>C:\test\main.cpp(7): error C2440: 'return' : cannot convert from 'main::<lambda_c5d1d707b91a1ddedc06eb080503550c>::()::<lambda_ac357c309731f4971c3269160ed9c24b>' to 'int (__cdecl *)(void)'
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Run Code Online (Sandbox Code Playgroud)
  • 根据C++ 11规范,代码是否有问题?
  • 根据VS2012定义的部分C++ 11支持,代码是否存在问题?
  • 或者这是VS2012 C++编译器错误?

  • 有人能指出我在C++ 11规范中讨论lambdas必须如何隐式转换为函数指针的地方吗?
    • 我记得这仅是为无状态的lambda -那些空捕捉条款-其中内部拉姆达r是 …

c++ compiler-construction lambda c++11 visual-studio-2012

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

cassandra c#驱动程序内存泄漏

使用cassandra .net驱动程序,我们面临以下问题:当使用参数化INSERT插入大量行时,应用程序内存使用量不断增长:

class Program
{
    static Cluster cluster = Cluster.Builder()
        .AddContactPoints(ConfigurationManager.AppSettings["address"])
        .Build();
    static Session session = cluster
        .Connect(ConfigurationManager.AppSettings["keyspace"]);
    static int counter = 0;

    static void Main(string[] args)
    {
        for (int i = 0; i < 50; i++)
        {
            new Thread(() =>
            {
                while (true)
                {
                    new Person()
                    {
                        Name = Interlocked.Increment(ref counter).ToString(),
                        ID = Guid.NewGuid(),
                        Data = new byte[4096],
                    }.Save(session);
                }
            }).Start();
        }

        Console.ReadLine();
    }
}

class Person
{
    public Guid ID
    {
        get;
        set;
    }

    public string Name
    { …
Run Code Online (Sandbox Code Playgroud)

c# memory-leaks cassandra

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

在一行上格式化某些JSON对象

考虑以下代码:

>>> import json
>>> data = {
...     'x': [1, {'$special': 'a'}, 2],
...     'y': {'$special': 'b'},
...     'z': {'p': True, 'q': False}
... }
>>> print(json.dumps(data, indent=2))
{
  "y": {
    "$special": "b"
  },
  "z": {
    "q": false,
    "p": true
  },
  "x": [
    1,
    {
      "$special": "a"
    },
    2
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想要的是格式化JSON,以便仅具有单个属性的JSON对象'$special'在一行上呈现,如下所示。

{
  "y": {"$special": "b"},
  "z": {
    "q": false,
    "p": true
  },
  "x": [
    1,
    {"$special": "a"},
    2
  ]
}
Run Code Online (Sandbox Code Playgroud)

我玩过实现自定义JSONEncoder并将其json.dumps作为cls …

python formatting json python-3.x

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