Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 寻找最佳换行宽度以最大化垂直同值邻域数_C#_.net_Vb.net_Algorithm_Graphics - Fatal编程技术网

C# 寻找最佳换行宽度以最大化垂直同值邻域数

C# 寻找最佳换行宽度以最大化垂直同值邻域数,c#,.net,vb.net,algorithm,graphics,C#,.net,Vb.net,Algorithm,Graphics,我有一个长度为n的位数组。我可以通过在位图上绘制值来生成图像(使用SetPixel方法)。结束图像类似于二维码。现在我把序列包装在sqrt(n),所以我有一个正方形。我想确定最佳折叠/包装值F,对于该值,相同颜色(1像素宽)列的数量(N)及其高度(L)最大化 目前我还不知道如何实现这一点。此算法只是尝试每个可能的折叠值,并确定相同值位的最长运行时间。它的运行时间是最差的,但仍然是多项式。我不知道如何在不进一步限制您的问题的情况下生成更快的算法。 代码未测试 maxlen=0'您可以尝试对序列应

我有一个长度为
n
位数组。我可以通过在位图上绘制值来生成图像(使用SetPixel方法)。结束图像类似于二维码。现在我把序列包装在
sqrt(n)
,所以我有一个正方形。我想确定最佳折叠/包装值
F
,对于该值,相同颜色(1像素宽)列的数量(
N
)及其高度(
L
)最大化


目前我还不知道如何实现这一点。

此算法只是尝试每个可能的折叠值,并确定相同值位的最长运行时间。它的运行时间是最差的,但仍然是多项式。我不知道如何在不进一步限制您的问题的情况下生成更快的算法。
代码未测试


maxlen=0'您可以尝试对序列应用自相关,并找到主要周期(如果存在)。然后使用对应于一些最大峰值的周期作为包装值,并检查最佳结果


这个问题我不清楚。您是否希望最大化相同颜色的两个像素在一起的频率?您是否希望创建最大的相同颜色的矩形?只是尝试所有组合是一个选项,还是
n
太大?n是22222我想这需要一段时间,但它可能会更大。。。矩形的想法很酷当你想最大化那些相同颜色的列的数量(
N
)和长度(
L
)时,你需要决定一个数学方程来最大化。您想最大化
N*L
(区域),还是只想最大化
N
L
?您在示例图像中说了“相同颜色”的像素,但只标记了黑色像素。白色像素列也算吗?