小编Wil*_*iam的帖子

实施Papadimitriou和Steiglitz所描述的匈牙利方法

如果您完全按照组合优化:算法和复杂性的图11-2中的说明实现了匈牙利方法,那么您是否成功,而无需以任何[重要]方式更改伪代码?具体而言,我指的是更正后的1998 Dover版本,该版本是关于Steiglitz网站上2000年10月的勘误表文件的最新版本.

一个可接受的答案是"我实施它,它完美地工作".或者,"我已经实现了它,但它在某种程度上需要这样的等等." 在前一种情况下,我知道要继续对我的代码进行已经广泛的深入研究和调试.(不管怎么说,我打算这样做.)在后一种情况下,我会有一些洞察力可能会使我自己的实现正常工作.

如果您已实施匈牙利方法,但未使用CO:AaC或未使用C而没有第三方库,那么您仍然非常欢迎提供答案.事实上,如果你是一个超级天才谁可以检查图11-2并指出P&S遗漏或委托的错误,我想听听你,我打赌他们也会:-)

编辑: 是关于Google图书的书.有关匈牙利方法,请参阅第251-252页.有关过程的伪代码augment(),请参见第224页.有关数据结构的说明,请参阅周围的页面.理想情况下,您拥有实体书籍,因为Google图书版本可以预测为部分版本.

更新:

在对我的实现进行更全面的测试并对本书的伪代码和文本进行更彻底的检查之后,我我已经解决了伪代码本身的一些问题.有一些新的勘误表.我一直与Steiglitz教授保持联系,Steiglitz在他的普林斯顿主页上维护着勘误表文件,他说他会在学期结束时有更多的时间审查我的笔记.十二月一月.(对不起那些在年底前期待解决的人.对于普林斯顿来说,我假设12月是学期末,但实际上是1月份.)

更新:

Steiglitz教授已将我的代码和文档包发布到他的普林斯顿网站空间.请参阅下面的答案以获取链接.

algorithm optimization combinatorics

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

Visual C++的MSM文件在Visual Studio 2017中可再发行的位置在哪里?

我一直在使用VS 2015一段时间,并在昨天(2017-03-07)推出时升级到VS 2017.我只安装了.NET桌面和C++桌面工作流程,而没有更改任何其他单个组件.

我正在考虑将我的C++项目迁移到2017工具链(版本"141"显然是?2015年是"140").我需要为我的安装程序使用VC合并模块,所以我查看了该C:\Program Files (x86)\Common Files\Merge Modules文件夹,但该文件夹只包含VC140MSM,我希望VC141在2017年安装时也可以看到MSM.

2017 VC运行时的MSM文件在哪里?

我简要地(非常简短地)考虑过,因为2017年的VC编号看起来像是2015年VC编号的一小部分,2015年MSM可能足以满足2017年的运行时间,但......似乎不太可能.

merge-module visual-c++ visual-studio-2017

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

如何检查(通过预处理器)C源文件是否正在编译为C++代码

问题标题应该说明一切,但这里有一个我正在寻找的东西的例子:

#ifndef THE_IDENTIFIER_THAT_WOULD_INDICATE_BEING_COMPILED_AS_CPLUSPLUS

/*
 * Example of something that would matter.
 */
typedef enum _bool bool;
enum _bool { false, true };

#endif
Run Code Online (Sandbox Code Playgroud)

什么是标识符?它严重困扰着我,因为我知道我之前已经看过这样做的代码.

顺便说一句,我正在使用GCC.

(我很惊讶我在某个地方找不到复制件.如果其他人可以找到一个复制件,请随意重新定向我并将其作为一个骗子关闭.)

c++ gcc c-preprocessor

3
推荐指数
2
解决办法
611
查看次数

将 32 个布尔值的集合转换为 32 位整数

所以我是 C# 新手,我已经搜索过,但我只是不知道我在搜索什么。

我有一个名为 input 的布尔变量,它保存了 ModBus 接口库中的 32 个真/假位。

这是解释我的 32 个真/假值的图像。基本上,这 32 个真/假值存储在输入中。我需要将它们整理成一个 32 位整数。

我想知道的是如何将这 32 个值整理成一个 32 位字符串,即 (0000 0000 0000 1000 1000 1000 1000 1000),这显然是一个 32 位整数,并给我一个十进制数 88888。

我现在陷入困境,因为我不确定我应该使用什么命令。

c# modbus type-conversion modbus-tcp

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

SQL Server 2008 R2的百分位聚合

我正在使用SQL Server 2008 R2.我需要计算每组的百分位值,例如:

SELECT id,
       PCTL(0.9, x) -- for the 90th percentile
FROM my_table
GROUP BY id
ORDER BY id
Run Code Online (Sandbox Code Playgroud)

例如,给定这个DDL(小提琴)---

CREATE TABLE my_table (id INT, x REAL);

INSERT INTO my_table
VALUES (7, 0.164595), (5, 0.671311), (7, 0.0118385), (6, 0.704592), (3, 0.633521), (3, 0.337268), (0, 0.54739), (6, 0.312282), (0, 0.220618), (7, 0.214973), (6, 0.410768), (7, 0.151572), (7, 0.0639506), (5, 0.339075), (1, 0.284094), (2, 0.126722), (2, 0.870079), (3, 0.369366), (1, 0.6687), (5, 0.199456), (5, 0.0296715), (1, 0.330339), (9, …
Run Code Online (Sandbox Code Playgroud)

sql t-sql aggregate-functions percentile sql-server-2008-r2

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