小编Siv*_*eti的帖子

从特定的广告牌中删除广告牌

我遇到了这个问题

ADZEN是您所在城市非常受欢迎的广告公司.在每条路上你都可以看到他们的广告牌.最近他们面临着严峻的挑战,MG Road是您所在城市中最常用,最美丽的道路,几乎被广告牌所填满,这对
自然景观产生了负面影响.根据人们的需求,ADZEN已经决定拆除一些广告牌,以便在道路的任何一个区域内放置不超过K个广告牌.你可以假设MG Road是一条带有N个广告牌的直线.最初两个adjecent广告牌之间没有差距.ADZEN的主要收入来自这些广告牌,因此广告牌移除过程必须以这样的方式完成:剩余的广告牌应该在所有可能的最终配置中提供最大可能的利润.配置的总利润是利润值的总和.该配置中存在的所有广告牌.给定N,K和N个广告牌中的每一个的利润值,输出在给定条件下可从剩余广告牌获得的最大利润.

输入说明

第一行包含两个空格分隔的整数N和K.然后按N行描述每个广告牌的利润值,即第i行包含第i个广告牌的利润值.

    Sample Input
    6 2 
    1
    2
    3
    1
    6
    10 

    Sample Output
    21
Run Code Online (Sandbox Code Playgroud)

说明

在给定的输入中有6个广告牌,在此过程之后不应超过2个.因此,删除第一个和第四个广告牌,给出一个利润为21的配置.没有其他配置的利润超过21.所以答案是21.

    Constraints
    1 <= N <= 1,00,000(10^5)
    1 <= K <= N
    0 <= profit value of any billboard <= 2,000,000,000(2*10^9)
Run Code Online (Sandbox Code Playgroud)

我认为我们必须在第一个k + 1板中选择最低成本板然后重复相同的直到最后,但这并没有给出所有情况的正确答案.我尝试了我的知识,但无法找到解决方案.如果有人有想法,请分享你的想法.

algorithm

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

为什么函数在python中是静态的?

如果我们想使用内部Python API将C/C++集成到python中.然后功能的签名采用以下形式

static PyObject *MyFunction( PyObject *self, PyObject *args );

static PyObject *MyFunctionWithKeywords(PyObject *self,
                             PyObject *args,
                             PyObject *kw);

static PyObject *MyFunctionWithNoArgs( PyObject *self );
Run Code Online (Sandbox Code Playgroud)

为什么这些函数实现为静态?

c c++

7
推荐指数
1
解决办法
158
查看次数

命名空间 URI 到底意味着什么?

让我们考虑这个 xml 数据

<root xmlns:h="http://www.w3.org/TR/html4/"
 xmlns:f="http://www.w3schools.com/furniture">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>
Run Code Online (Sandbox Code Playgroud)

这里 h 的 NURI:“ http://www.w3.org/TR/html4/
f 的 NURI:“ http://www.w3schools.com/furniture
NURI(命名空间 URI)到底意味着什么?有必要吗?。它实际上包含什么?

xml xml-namespaces

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

如何在python中实现C/C++全局变量?

当我通过SWIG文档阅读时,我通过这些线路来了..

SWIG完全支持C/C++全局变量.但是,由于Python分配的工作方式,底层机制与您预期的有些不同.当您在Python中键入以下内容时
a = 3.4
"a"将成为包含值3.4的对象的名称.如果稍后键入
b = a,
则"a"和"b"都是包含值3.4的对象的名称.因此,只有一个对象包含3.4,"a"和"b"都是引用它的名称.这与C完全不同,其中变量名称是指存储值的存储位置(并且赋值将数据复制到该位置).因此,没有直接的方法将C中的变量赋值映射到Python中的变量赋值.
为了提供对C全局变量的访问,SWIG创建了一个名为`cvar'的特殊对象,该对象被添加到每个SWIG生成的模块中.然后,全局变量作为此对象的属性进行访问.

我的问题是以上述方式实施的必要性.即使我们以上述方式实现,对象属性也被实现为对象.

请参阅下面的python代码片段

a = 10  
b = a  
a is b  
True  

class sample: 
    pass   

obj = sample()  
obj.a = 10  
obj.b = obj.a  
obj.a is obj.b  
True  
Run Code Online (Sandbox Code Playgroud)

在上述两种情况下,对象分配以相同的方式发生

python swig

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

C程序中的意外输出

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

void koaneeye(){
    static int j=0;
    int n,i=0,rev=0;
    while( scanf("%d",&n) == 1)
        koaneeye();
    while(n)
    {
        i=n%10;
        rev=rev*10+i;
        n=n/10;
    }
    printf("%d\n",rev);
}

int main() {

    koaneeye();

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

对于上述计划

输入:123 223 323 423 523 623

输出:325767891 326 325 324 323 322 321

为什么会有额外的号码?

c

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

标签 统计

c ×2

algorithm ×1

c++ ×1

python ×1

swig ×1

xml ×1

xml-namespaces ×1