【03 yy and shop】

news/2024/10/19 23:24:18/

03 yy and shop

  • 题目
  • 解法
    • C++

题目

在这里插入图片描述

解法

C++

#include<bits/stdc++.h>
using namespace std;
const int M = 1000; 
int C[800],V[800],K[800];
int F[801][3001], G[801][3001];int main(){int N;scanf("%d",&N);for(int i=1; i<=N; ++i) scanf("%d%d%d",&C[i], &V[i], &K[i]);//正序购买商品 memset(F, 0, sizeof(F));for(int i=1; i<=N; ++i){  for(int k=0; k<=K[i]; ++k){    for(int c=k*C[i]; c<=M; ++c){   F[i][c] = max(F[i][c], F[i-1][c-k*C[i]]+k*V[i]);  }}for(int c=1; c<=M; ++c) F[i][c] = max(F[i][c], F[i][c-1]); }//反序购买商品 memset(G, 0, sizeof(G));for(int i=N; i>0; --i){  for(int k=0; k<=K[i]; ++k){    for(int c=k*C[i]; c<=M; ++c){   G[i][c] = max(G[i][c], G[i+1][c-k*C[i]]+k*V[i]);  }}for(int c=1; c<=M; ++c) G[i][c] = max(G[i][c], G[i][c-1]);  }int Q,x,y;scanf("%d",&Q);while(Q--){scanf("%d%d",&x, &y); ++y;   int ans=0;for(int c=0; c<=x; ++c){ans = max(ans, F[y-1][c]+G[y+1][x-c]); //第y个商品禁买,花费c买前y-1个商品,花费x-c买后y+1个商品 }	printf("%d\n",ans);}return 0;
}

http://www.ppmy.cn/news/317257.html

相关文章

np.ascontiguousarray(array)

从Numpy中的ascontiguousarray说起 Numpy中&#xff0c;随机初始化的数组默认都是C连续的&#xff0c;经过不规则的slice操作&#xff0c;则会改变连续性&#xff0c;可能会变成既不是C连续&#xff0c;也不是Fortran连续的。 Numpy可以通过.flags熟悉查看一个数组是C连续还是…

numpy.argsort()函数详解

官方文档1 numpy.argsort(a, axis-1, kindquicksort, orderNone) 返回一个排序后的数组的索引。 执行一个由kind参数指定的方式排列。 Parameters a : array_like 需要被处理的数组 axis : int or None, optional 排序的轴向&#xff0c;默认-1&#xff0c;the last axis ki…

python中:TypeError: only size-1 arrays can be converted to Python scalars

这里写自定义目录标题 Python中的math和numpy源程序修改后错误原因 Python中的math和numpy 错误描述&#xff1a;TypeError: only size-1 arrays can be converted to Python scalars 源程序 修改后 错误原因 numpy包中也含有sin(),pi需要使用numpy包中函数&#xff1b; 这个…

Python3 TypeError: only size-1 arrays can be converted to Python scalars

问题&#xff1a;在用python3使用knn.train(trainData, responses)的时候&#xff0c;可能会产生错误&#xff1a;TypeError: only size-1 arrays can be converted to Python scalars newcomer np.random.randint(0, 100, (1, 2)).astype(np.float32) plt.scatter(newcomer[…

python np.argsort()(::-1)

python np.argsort()(::-1) 定义一个array数据。 import numpy as np xnp.array([1,4,3,-1,6,9])现在我们可以看看argsort()函数的具体功能是什么&#xff1a; x.argsort() #输出x中元素从小到大排列的对应的index(索引) array([3, 0, 2, 1, 4, 5], dtypeint64)输出定义为ya…

np.argsort 用法总结

np.argsort 本文是根据 python 自带的 np.argsort 代码示例整理总结&#xff0c;博主自认为目前应该是对该函数比较全面的一个解释介绍。若有不当之处请留言。 def argsort(a, axis-1, kindquicksort, orderNone):"""返回对数组排序的索引。使用 “kind” 关键…

sizeof 数组与指针

sizeof的定义&#xff1a; sizeof是C/C中的一个操作符&#xff08;operator&#xff09;&#xff0c;简单的说其作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为&#xff1a; The sizeof keyword gives the amount of storage, in bytes, associated with a…

python: numpy-- 函数 argsort 用法

argsort() 函数将数组的值从小到大排序后&#xff0c;并按照其相对应的索引值输出 举例说明&#xff1a; 一维数组 >>> a array([3,1,2]) >>> argsort(a) array([1, 2, 0])二维数组 >>> b array([[1,2],[2,3]]) >>> argsort(b,axis1) …