首页 > 其他分享 >cf 189A Cut Ribbon

cf 189A Cut Ribbon

时间:2022-12-23 00:23:00浏览次数:37  
标签:Cut int cf 189A 长度 Ribbon

cf 189A Cut Ribbon

题意:

给一长度为 \(n\) 的钢条,要求将其剪成若干长度为 \(p, q, r\) 的短条,且短条数量尽可能多。

裁出的长度只能是 \(p,q,r\)不能有其他长度。要求恰好裁完,保证答案存在。

思路:

\(f[i]\) 表示的是当空间为 \(i\) 的时候有多少种方法放满。

状态转移方程:

\(f[i] = max(f[i - p] + 1,f[i - q] + 1,f[i - r] + 1)\) (如果对应 \(f[i - ?]\) 存在)

实现:

#include <bits/stdc++.h>
using namespace std;
const int N = 4e3 + 5;
int a[4], f[N];
int main()
{
    int n;
    scanf("%d", &n);
    for (int i = 1; i <= 3; i++)
        scanf("%d", &a[i]);
	
    f[0] = 1;//方便标记哪些长度是已经凑出来的
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= 3; j++)
        {
            if (i >= a[j] && f[i - a[j]])
                f[i] = max(f[i], f[i - a[j]] + 1);
        }

    printf("%d\n", f[n] - 1);

    return 0;
}

标签:Cut,int,cf,189A,长度,Ribbon
From: https://www.cnblogs.com/zxr000/p/16999855.html

相关文章

  • jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析
    jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析在日常开发中存在着调度延时任务、定时任务的需求,而jdk中提供了两种基于内存的任务调度工具,即相对早期的java.......
  • 【CF1463F】Max Correct Set(结论)
    题意:给定\(n\),求最大的\(|S|\)使得\(S\subseteq\{1,\cdots,n\}\)且对于任意\(a,b\inS\)有\(|a-b|\neqx\)且\(|a-b|\neqy\)。\(n\leq10^9\),\(x,y\leq22\)......
  • [CF1748E] Yet Another Array Counting Problem
    题目描述Thepositionoftheleftmostmaximumonthesegment$[l;r]$ofarray$x=[x_1,x_2,\ldots,x_n]$isthesmallestinteger$i$suchthat$l\l......
  • [CF1748D] ConstructOR
    题目描述Youaregiventhreeintegers$a$,$b$,and$d$.Yourtaskistofindanyinteger$x$whichsatisfiesallofthefollowingconditions,orde......
  • 结合iconworkshop,创建ribbon界面
    1、现有的bmp,可以直接修改在好几个地方,已经将IDB_*和显示效果对接清楚了,直接修改这里的bmp,就可以起到效果。需要注意的是透明色问题。2、工具带是......
  • CF1740H MEX Tree Manipulation[动态dp]
    题目描述有一棵不断加叶子的树,叶子的权值是0,其余节点的权值是其子节点的\(\texttt{mex}\)\(\texttt{mex}\)定义为最小的没有出现过的自然数。解题思路首先离线建树,把......
  • [CF1325E] Ehab's REAL Number Theory Problem
    Ehab'sREALNumberTheoryProblem题目描述Youaregivenanarray$a$oflength$n$thathasaspecialcondition:everyelementinthisarrayhasatmost7......
  • 8000字详解Thread Pool Executor
    摘要:Java是如何实现和管理线程池的?本文分享自华为云社区《​​JUC线程池:ThreadPoolExecutor详解​​》,作者:龙哥手记。带着大厂的面试问题去理解提示请带着这些问题继续......
  • 8000字详解Thread Pool Executor
    摘要:Java是如何实现和管理线程池的?本文分享自华为云社区《JUC线程池:ThreadPoolExecutor详解》,作者:龙哥手记。带着大厂的面试问题去理解提示请带着这些问题继续后文......
  • [CF1422D] Returning Home 题解
    题目描述一个\(n\timesn\)的网格,求两点间最短用时。你可以用一分钟向上下左右任意一个方向移动一格.特别的,城市中有\(m\)个传送点,第\(i\)个的坐标为\((x_{i},y_{i})......