问题列表 - 第18626页

处理间隔的数据结构

我有一系列时间间隔(t_start,t_end),它们不能重叠,即:t_end(i)> t_start(i + 1).我想做以下操作:

1)添加新的(联合)区间[{(1,4),(8,10)} U(3,7)= {(1,7),(8,10)}]
2)取出间隔[ (1,7) - (3,5)= {(1,3),(5,7)}
3)检查点或间隔是否与我的系列(交叉点)中的间隔重叠
4)找到第一个"在某个点[{(1,4),(7,8)}之后的最小长度的非间隔":在4和7之间存在长度为3的"非间隔".

我想知道实现这个的好方法,复杂度低(所有操作的log n都可以).

相关问题:查询快速时间间隔的数据结构

algorithm tree intervals data-structures

12
推荐指数
2
解决办法
8269
查看次数

Opengl版本麻烦glew.h

我正在开发一个OpenG L应用程序,需要使用glew库.我正在使用Visual Studio C++ 2008 Express.

我使用gl.h,glu.h和glut.h编译了一个程序就好了,它完成了它应该做的事情.但是在包含glew.h之后它仍然编译得很好,但是当我尝试:

glewInit();
if (glewIsSupported("GL_VERSION_2_0"))
    printf("Ready for OpenGL 2.0\n");
else {
    printf("OpenGL 2.0 not supported\n");
}
Run Code Online (Sandbox Code Playgroud)

它不断印刷:

"不支持OpenGL 2.0".

我试图将它更改为glewIsSupported("GL_VERSION_1_3")或甚glewIsSupported("GL_VERSION_1_0")至它仍然返回false意味着它不支持OpenGL版本.

我有一台Radeon HD 5750,它应该支持OpenGL 3.1和3.2的一些功能.我知道所有设备驱动程序都安装正确,因为我能够运行ATI提供的Radeon sdk中的所有程序.

我还安装了Opengl Extensions Viewer 3.15,它说的是OpenGL 3.1版Ati Driver 6.14.10.9116.我厌倦了所有的人GLEW_VERSION_1_1,GLEW_VERSION_1_2,GLEW_VERSION_1_3,GLEW_VERSION_2_0,GLEW_VERSION_2_1,GLEW_VERSION_3_0和所有这些返回false.

还有其他什么建议吗?我甚至试过GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader,这也是假的.

c++ opengl glut glew visual-studio-2008

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

在php中创建一个cron作业

我想创建一个cron作业,每30分钟或定期间隔执行一次文件.我没有cpanel或任何前端来做到这一点.

我该怎么做?

php cron

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

Python 3有LDAP模块吗?

我正在将一些Java代码移植到Python中,我们希望使用Python 3,但我在Windows中找不到适用于Python 3的LDAP模块.

这迫使我们使用2.6版本,这很麻烦,因为其余的代码已经是3.0格式.

python ldap python-3.x

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

jQuery从下拉列表中删除一个选项,给定选项的文本/值

我有一个下拉列表,并希望从中删除一个选项,给定该特定选项的文本/值.是否可以使用jQuery?就像'append'在下拉列表中添加一个选项一样,是否有删除选项的功能?

我尝试搜索它,但我得到的只是示例,其中删除了下拉列表中的整个选项集,这不是我寻求的.

干杯

jquery drop-down-menu

62
推荐指数
3
解决办法
15万
查看次数

将数据放入SMS发送意图?

我想发短信.如果文本太长,我将其拆分为多条消息.我正在尝试将一些额外的信息添加到"已发送"的意图中以了解哪个部分已被发送,以及所有部分何时完成:

ArrayList<String> messageParts = ...;
for (int i = 0; i < messageParts.size(); i++) {
    sms.sendTextMessage(
      address, 
      null, 
      messageParts.get(i), 
      generateIntent(context, messageParts.size(), i), 
      null));
}

PendingIntent generateIntent(Context context, int partCount, int partIndex)
{
    Intent intent = new Intent("SMS_SENT");
    intent.putExtra("partCount", partCount);
    intent.putExtra("partIndex", partIndex);
    return PendingIntent.getBroadcast(context, 0, intent, 0);
}
Run Code Online (Sandbox Code Playgroud)

发送消息,并在发送每个部分时捕获意图 - 但意图始终具有相同的数据.例如,"partIndex"始终为零,即使对于第二条消息,它也应为1.似乎同样的意图只是不断被扔到我的广播接收器.这样做的正确方法是什么?

谢谢

android

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

显示PSQL 8.3+客户端查询结果

相当愚蠢的问题,但我似乎无法在文档或手册页中找到答案.

从8.3开始我认为,psql CLI客户端不会显示内联大查询的结果.它会导致"不太喜欢"的结果查看器在您点击q时消失.

这使得在后续查询或更新中使用来自第一个查询的数据非常困难.

有没有人知道一个开关或强制psql显示内联查询结果的方式,就像老客户端一样?

编辑:\ x开关执行此操作,但我需要多行视图.

postgresql client less

12
推荐指数
1
解决办法
2030
查看次数

grails单元测试中的@ExpectedException

有人在grails单元测试中使用过这个注释吗?似乎没有为我工作.谢谢.d

更新:我下面测试的最后一行确实抛出了预期的异常.但是测试失败了(这里的堆栈跟踪太大......).我正在使用grails 1.2并在eclipse的junit runner中运行测试.也许grails使用的是早期版本的junit而不是4?

/**
 * Get the EC by a manager of a different company. Should throw exception
 */
@ExpectedException(ServiceAuthorizationException.class)
void testGetEcByNonOwnerManagerOfDifferentCompany() {
    mockDomain(ExpenseClaim , [new ExpenseClaim(id:"1",narrative:"marksClaim", employee:userMark, company:dereksCompany)])      

    def authControl = mockFor(AuthenticateService)
    authControl.demand.userDomain(1..1)  {-> otherUserMgr }
    authControl.demand.ifAllGranted(1..1)  {String arg1 -> return "ROLE_COMPANYMANAGER".equals(arg1) } //returns true
    def testService = new ExpenseClaimService()
    testService.authenticateService = authControl.createMock()
    def thrown = false
    testService.getExpenseClaim("1")
}
Run Code Online (Sandbox Code Playgroud)

grails unit-testing expected-exception

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

C# 和本机重叠 I/O

我有一个正在包装的 C dll,以便可以从 C# 调用它。当状态发生变化时,一个函数使用事件来通知您,并且需要进行一些挖掘才能找到处理它的方法。它似乎工作正常,但我很好奇是否有人比我有更多的经验并且可以提供任何建议。

该函数在 dll 的 .h 文件中定义为:

int NotifyStateChange(OVERLAPPED *overlapped);  
typedef int (*NOTIFY_STATE_CHANGE_PROC)(OVERLAPPED *);  
Run Code Online (Sandbox Code Playgroud)

调用它的示例 C 代码:

OVERLAPPED overlapped;  
overlapped.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);  
fns.NotifyStateChange(&overlapped);  
WaitForSingleObject(overlapped.hEvent, INFINITE);  
// ...query for the new state or whatever...
Run Code Online (Sandbox Code Playgroud)

这就是我在 C# 中的处理方式:

[DllImport("myfuncs.dll")]
unsafe public static extern int NotifyStateChange(NativeOverlapped* lpOverlapped);

static private ManualResetEvent m_stateChangeEvent = new ManualResetEvent(false);

public static DeviceState WaitForStateChange()
{
    unsafe
    {
        Overlapped overlapped = new Overlapped(0, 0, 
            m_stateChangeEvent.SafeWaitHandle.DangerousGetHandle(), null);
        IOCompletionCallback callback = StateChangeCallback;
        byte[] userData = new …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke overlapped-io

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

python在嵌套for循环中跳过内部循环

我正在使用一些python来做一些变量名称生成.出于某种原因,我只是得到了我需要的一部分.

import sys
import csv

params = csv.reader(open('params.csv'), delimiter=',', skipinitialspace=True)

flags_r = []
flags_w = []
numbers_r = []
numbers_w = []
station = ['AC1','DC1','DC1']
drive = ['','Fld','Arm']

for i in range(3):
    for p in params:
        try:
            desc = p[1].split(' ')
            desc = [part.capitalize() for part in desc]
            desc = "".join(desc)
        except IndexError, e:
            print 'IndexError: %s' %(e,)
            continue
        print station[i],drive[i],p[0]
        flags_r.append( 'mod%(station)s_%(drive)sP%(param)04dr_%(desc)s' % \
                          { 'station' : station[i], 'drive' : drive[i], 'param': int(p[0]), 'desc':desc })
        flags_w.append( 'mod%(station)s_%(drive)sP%(param)04dw_%(desc)s' % \ …
Run Code Online (Sandbox Code Playgroud)

python nested-loops

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