小编zeu*_*ulb的帖子

找到形成凸多边形的最大点子集

我正在寻找一种算法,用于寻找从给定点集形成凸多边形的最大点子集(通过最大数量,我的意思是数量).我认为这可能是使用DP解决的,但我不确定.是否可以在O(n ^ 3)中执行此操作?实际上我只需要最大子集的大小,因此它不需要有唯一的解决方案

编辑:

只是为了保持这个简单,

给定输入:2D中的一组点

期望输出:形成凸多边形的最大点数,如示例中输出为5(ABHCD是可能的凸多边形之一)

一个例子

有一个类似的问题spoj.com/problems/MPOLY可以在O(N ^ 3)中使用DP解决,我的问题是关于该问题的概括,它不必包含(0,0)

algorithm polygon convex-hull convex

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

将十六进制转换为十进制

我正在寻找一种方法将hex(十六进制)转换为dec(十进制).我找到了一个简单的方法,如:

int k = 0x265;
cout << k << endl;
Run Code Online (Sandbox Code Playgroud)

但随着我不能输入265.无论如何它是这样的:

输入: 265

输出: 613

反正有吗?

注意:我试过了:

int k = 0x, b;
cin >> b;
cout << k + b << endl;
Run Code Online (Sandbox Code Playgroud)

它不起作用.

c++ algorithm hex decimal

8
推荐指数
4
解决办法
10万
查看次数

在C++上使用eof

我正在寻找这个pascal代码的C++编码

var
jumlah,bil : integer;
begin
jumlah := 0;
while not eof(input) do
begin
   readln(bil);
   jumlah := jumlah + bil;
end;
writeln(jumlah);
end.
Run Code Online (Sandbox Code Playgroud)

我不明白在C++上使用eof

它的目的是计算从第1行到文件末尾的数据

编辑:我试过这个,但没有运气

#include<iostream>
using namespace std;

int main()
{
    int k,sum;
    char l;
    cin >> k;
    while (k != NULL)
    {
          cin >> k;
          sum = sum + k;
    }
    cout << sum<<endl;
}
Run Code Online (Sandbox Code Playgroud)

对不起,我是C++的新手

c++ pascal input eof

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

标签 统计

algorithm ×2

c++ ×2

convex ×1

convex-hull ×1

decimal ×1

eof ×1

hex ×1

input ×1

pascal ×1

polygon ×1