问题列表 - 第15485页

生成多项式评估的方法

我试图想出一种优雅的方法来处理一些生成的多项式.以下是我们将(专门)关注此问题的情况:

  1. order是生成n阶多项式的参数,其中n:= order + 1.
  2. i是0..n范围内的整数参数
  3. 多项式在x_j处有零,其中j = 1..n且j≠i(此时应该清楚StackOverflow需要一个新特性或它存在且我不知道它)
  4. 多项式在x_i处求值为1.

由于此特定代码示例生成x_1 .. x_n,我将解释它们是如何在代码中找到的.这些点均匀分布x_j = j * elementSize / order,在哪里n = order + 1.

我生成一个Func<double, double>来评估这个多项式¹.

private static Func<double, double> GeneratePsi(double elementSize, int order, int i)
{
    if (order < 1)
        throw new ArgumentOutOfRangeException("order", "order must be greater than 0.");

    if (i < 0)
        throw new ArgumentOutOfRangeException("i", "i cannot be less than zero.");
    if (i > order)
        throw new ArgumentException("i", "i …
Run Code Online (Sandbox Code Playgroud)

c# linq math algebra expression-trees

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

是否有操作系统功能将REFIID转换为有用的名称?

没有手动编写函数,可以将一些已知的REFIID转换为名称,例如:

if (riid == IID_IUnknown) return "IUnknown";
if (riid == IID_IShellBrowser) return "IShellBrowser";
...
Run Code Online (Sandbox Code Playgroud)

是否有系统调用会为众所周知的(甚至所有)REFIID返回合理的调试字符串?

c++ windows com windows-shell

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

我可以在web.config位置路径属性中使用通配符吗?

在IIS 7中,我尝试拒绝所有用户访问扩展名为.xml的所有文件.

我在web.config文件中尝试了以下设置:

<location path="*.xml">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

但随后获取任何文件都会导致内部服务器错误.

它可以工作,如果我拒绝访问单个文件,但这个解决方案不会给我太多,因为我不提前知道所有.xml文件.

authentication iis-7 web-config

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

C#:将类类型保存到变量中?

我正在尝试将一些UserControl-Infos保存到List中,如下所示:

List<UserControlDetails> myList;
public UserControlDetails 
{
    string Description { get; set; }
    Type UserControlType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我在ListView中显示此List,我希望能够启动我的UserControl,例如通过SelectedItem属性,如

 //SelectedItem.UserControlType = MyMainViewModel;
 var tmp = new SelectedItem.UserControlType(); //This will return a new instance of MainViewModel
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点?还是其他想法?

非常感谢!

干杯

编辑:感谢一堆回应.另一个问题:如何将"MaiNViewModel"的类型保存到类型变量中?我收到"类名无效"错误

EDIT2:知道了,它是typeof().我现在将尝试这些方法并尽快报告

c#

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

什么是xs:NCName类型以及何时应该使用它?

我通过模式生成器运行了一个xml文件,生成的所有内容都是预期的,除了一个节点:

<xs:element name="office" type="xs:NCName"/>
Run Code Online (Sandbox Code Playgroud)

到底是xs:NCName什么?为什么人们会使用它xs:string呢?

xml xsd xml-namespaces

95
推荐指数
4
解决办法
7万
查看次数

带有模板编译错误的c ++类

我不是一个经验丰富的C++程序员,我在编译时遇到问题.我有一个使用模板的Heap类:

template <class T>
class Heap
{
  public:
    Heap(const vector<T>& values);

  private:
    vector<T> d;

  // etc.
};
Run Code Online (Sandbox Code Playgroud)

然后在一个单独的实现文件中:

template <class T>
Heap<T>::Heap(const vector<T>& values)
{
d = values;

for (unsigned int i = d.size()-1; i > 0; i--) Heapify(ParentIndex(i));
}

// ... more implementation code ...
Run Code Online (Sandbox Code Playgroud)

最后一个main.cc文件:

int main (int argc, char *argv[])
{
  vector<int> in;
  unsigned int i;

  while (cin >> i) in.push_back(i);
  Heap<int> h = Heap<int>(in);

  return 0;
} 
Run Code Online (Sandbox Code Playgroud)

我得到这些编译错误:

g++ -Wall -I/opt/local/include -c -o main.o main.cc
g++ …
Run Code Online (Sandbox Code Playgroud)

c++ linker templates class

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

什么是最好的战舰AI?

战舰!

早在2003年(当时我17岁),我就参加了战舰AI编码比赛.即使我输掉了那场比赛,我也玩得很开心并从中学到了很多东西.

现在,我想在这场比赛中复活,寻找最好的战舰AI.

这是框架,现在托管在Bitbucket上.

获奖者将获得+450声望!比赛将于2009年11月17日开始.不接受17日零时以外的参赛作品或编辑.(中央标准时间)提前提交您的参赛作品,这样您就不会错过机会!

为了保持这个目标,请遵循竞争精神.

游戏规则:

  1. 游戏将在10x10网格上进行.
  2. 每个参赛者将5艘船(长度分别为2,3,3,4,5)放置在其网格上.
  3. 没有船只可能重叠,但它们可能相邻.
  4. 然后竞争对手轮流对对手开枪.
    • 游戏的一个变种允许每次击球射击多次射击,每个幸存的船只射击一次.
  5. 如果击球下沉,命中或未命中,对手将通知对手.
  6. 当任何一个玩家的所有船只都沉没时,游戏结束.

比赛规则:

  1. 竞争的精神是找到最好的战舰算法.
  2. 任何被视为违反竞争精神的东西都将被取消资格.
  3. 干扰对手是违背竞争精神的.
  4. 多线程可以在以下限制下使用:
    • 在轮到你的时候,不超过一个线程可能正在运行.(但是,任意数量的线程可能处于"暂停"状态).
    • 没有线程可以以"正常"以外的优先级运行.
    • 鉴于上述两个限制,您将在转弯期间保证至少3个专用CPU核心.
  5. 每个游戏的CPU时间限制为1秒,分配给主线程上的每个竞争对手.
  6. 时间不多会导致当前游戏失败.
  7. 任何未处理的异常都将导致失去当前的游戏.
  8. 允许网络访问和磁盘访问,但您可能会发现时间限制相当令人望而却步.然而,为了减轻时间紧张,增加了一些设置和拆卸方法.
  9. 代码应作为答案发布在堆栈溢出上,或者如果太大则链接.
  10. 条目的最大总大小(未压缩)为1 MB.
  11. 官方说来,.Net 2.0/3.5是唯一的框架要求.
  12. 您的条目必须实现IBattleshipOpponent接口.

评分:

  1. 101场比赛中最好的51场比赛是一场比赛的胜利者.
  2. 所有竞争对手都将相互配对,循环风格.
  3. 然后,最好的一半竞争者将参加双重淘汰赛以确定获胜者.(实际上,2的最小功率大于或等于一半.)
  4. 我将使用TournamentApi框架进行锦标赛.
  5. 结果将在此处公布.
  6. 如果您提交了多个条目,则只有您的得分最高的条目才有资格获得双重条目.

祝好运!玩得开心!


编辑1:
感谢Freed,他在Ship.IsValid函数中发现了一个错误.它已被修复.请下载该框架的更新版本.

编辑2:
由于人们对将统计信息持久存储到磁盘等方面非常感兴趣,因此我添加了一些应该提供所需功能的非定时设置和拆除事件.这是一个半破坏性的变化.也就是说:界面已经过修改以添加功能,但不需要它们.请下载该框架的更新版本.

编辑3:
错误修复1:GameWon并且GameLost只在超时的情况下被调用.
错误修复2:如果引擎在每场比赛中超时,则比赛永远不会结束.
请下载该框架的更新版本.

编辑4:
比赛结果:

.net c# artificial-intelligence

315
推荐指数
10
解决办法
6万
查看次数

struct的成员的实际总大小

我必须将struct Data数组写入硬盘:


struct Data {
  char cmember;
  /* padding bytes */
  int  imember;  
};

AFAIK,大多数编译器会在数据的cmember和imember成员之间添加一些填充字节,但我想保存仅存档实际数据(没有填充).
我有下一个用于保存Datas数组的代码(在缓冲区而不是文件中进行简化):


bool saveData(Data* data, int dataLen, char* targetBuff, int buffLen)
{
  int actualLen = sizeof(char) + sizeof(int); // this code force us to know internal
                                              // representation of Data structure
  int actualTotalLen = dataLen * actualLen; 
  if(actualTotalLen > buffLen) {
    return false;
  }

  for(int i = 0; i < dataLen; i++) {
    memcpy(targetBuff, &data[i].cmember, sizeof(char));
    targetBuff += sizeof(char);
    memcpy(targetBuff, &data[i].imember, sizeof(int));
    targetBuff += sizeof(int);
  }
  return …
Run Code Online (Sandbox Code Playgroud)

c c++ data-structures

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

具有变量的公式的数据库存储

这有点复杂,所以请耐心等待.

我的雇主要求建立一个从一组变量计算任务迭代的系统.

项目中的每个任务都有一个特定的公式,用于计算任务需要完成的次数("迭代").该公式可能依赖于常数,变量(输入数量,因此任务可能与我们拥有的供应商数量或离岸员工数量相关,并且这些值可能因每个项目而异)和/或时间(例如每月一次,每季度一次,每6个月一次,每年一次)

如何设计数据库来保存这些公式,以便我以后可以计算出来?

示例公式:
每个供应商每月一次.
每个客户每个供应商每季度两次.
每六个供应商每月一次.

技术堆栈是C#,.NET 3.5,SQLServer 2005.

c# sql database-design

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

皮条客我的UAC和一些关于它的问题

我有这个应用程序需要在受保护的路径中做一些事情(如%PROGRAMFILES%),我知道我应该使用%APPDATA%,但我现在无法改变它.我已经隔离了所有可能需要UAC出现在另一个项目上的东西,这里是一个示例代码:

using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;

class Class1
{
    static void Main(string[] args)
    {
        try
        {
            File.CreateText(Path.Combine(Application.StartupPath, "something.txt"));
        }
        catch (UnauthorizedAccessException ex)
        {
            MessageBox.Show(ex.Message, "UnauthorizedAccessException", MessageBoxButtons.OK, MessageBoxIcon.Error);

            if (args.Length == 0)
            {
                Process proc = new Process();
                proc.StartInfo.FileName = Application.ExecutablePath;
                proc.StartInfo.Arguments = "not again";
                proc.StartInfo.Verb = "runas";
                proc.Start();
            }
            else
            {
                MessageBox.Show("Exit to avoid loop.");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我从我的主程序中调用这个可执行文件,如果由于未经授权的访问而失败,它将自动启动显示UAC请求.

我的问题是:

1)我不得不将项目输出从DLL转换为EXE,因为我找不到任何方法从DLL请求UAC提升,有没有简单的方法呢?

2)我还注意到有些程序显示了个性化的UAC消息,带有程序徽标和所有这些东西,让我给大家展示一个例子:

丑陋的UAC

个性化的UAC

我怎么能为我的程序做到这一点?

3)为了避免在使用提升的权限运行时进入循环,它会获得另一个UnauthorizedAccessException我做了那个传递任何args的东西.你会做些什么来实现同样的目标?

我想这就是现在.谢谢你的时间.

.net c# uac windows-vista windows-7

6
推荐指数
2
解决办法
2961
查看次数