当前位置: 首页 > news >正文

苏州专业做网站的公司哪家好/seo投放是什么意思

苏州专业做网站的公司哪家好,seo投放是什么意思,wordpress 文章副标题,手机网站搜索链接: https://www.luogu.com.cn/problem/P1021 现在的状态就是找到一个提高题来做,做了半天,被迫看题解。一道题从读题,想思路,看题解,真正明白,写代码。前前后后差不多两三个小时就过去了&am…

链接:
https://www.luogu.com.cn/problem/P1021

现在的状态就是找到一个提高题来做,做了半天,被迫看题解。一道题从读题,想思路,看题解,真正明白,写代码。前前后后差不多两三个小时就过去了(果然蒟蒻的本质始终没变~ - ~)

就来看这个题吧:

题意:

给你两个数n和k,k代表自定义k个不同的数,n代表从k中取n个数(可重复),最后由这n个数可以组成连续的从1到max的数,输出max的最大值和最大值对应的K和不同的数的值。

思路:

因为只是看懂了别人的思路就开始写这篇博客了,主要的是怕在写代码的时候万一由出现代码不过关,调试几个小时的情况导致没心情写思路。

思路是这样的,我们首先要知道,如果要完成从1开始到某个数连续的话,这k个数是有一定的范围的。

就拿n=3,k=3为例来说吧
首先k的第一个数肯定是1(不用质疑)
k的第二个数,他的最小是就是2,他的最大值的话,因为n=3,全部由1来构成的话最多是3。所以第二个数最大是4。
以此类推:f[1]=1; f[i]=(f[i-1]+1,f[i-1] * n+1);
我们知道了每一个数的范围就可以用暴力搜索的方法。

在这里插入图片描述

像是这样,在n=3,k=3的条件下,从1,2,3开始搜索,直到搜索到1,4,7.从中找出能够使连续达到最大的那一组数输出。

对每一组符合条件的数来进行查找看看他们能够遍历的最大数是多少。

现在就剩下一个问题了,就是怎么找到每组数中能够达到的最大连续数了。

这个大问题最后就简化成一个给定一组固定的数让你求他能够组成的最大连续数的问题了。一看最大最小,就应该会想到dp了。那么怎么求呢?
因为是连续的我们可以从1开始,然后看这组数能不能在n个数之内组成。
那么dp数组代表的意思就是:dp[i]代表第i个数能用给定的数中最少几个数来表示。
dp方程:dp[i]=min(dp[i],dp[i-f[j]]+1);

这一部分的代码就是

while(dp[i]<=n){i++;dp[i]=INF;for(int j=1;j<=k&&i-f[j]>=0;j++){dp[i]=min(dp[i],dp[i-f[j]]+1);}}

那么这个题目也结束了。现在去肝代码去了。(不出意外很快就回来了)

代码:
还算比较的顺利

#include <bits/stdc++.h>
#include<iostream>
using namespace std;int read(){int f=1,x=0;char ss=getchar();while(ss<'0'||ss>'9'){if(ss=='-')f=-1;ss=getchar();}while(ss>='0'&&ss<='9'){x=x*10+ss-'0';ss=getchar();}return f*x;}
int n,m,sum=0;//sum代表找最大的连续数
int f[20],dp[5000],arr[20];//f[i]遍历需要查找的数组。arr找最大的那一组数(输出的)
void dfs(int x){
if(x==m+1)
{memset(dp,0,sizeof dp);int i=0;while(dp[i]<=n){i++;dp[i]=1000000000;for(int j=1;j<=m&&f[j]<=i;j++)dp[i]=min(dp[i],dp[i-f[j]]+1);if(i-1>sum){for(int j=1;j<=m;j++)arr[j]=f[j];sum=i-1;}}return ;
}
for(int i=f[x-1]+1;i<=f[x-1]*n+1;i++)
{f[x]=i;dfs(x+1);
}}int main(){std::ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);cin>>n>>m;f[1]=1;dfs(2);
for(int i=1;i<=m;i++)cout<<arr[i]<<" ";
cout<<endl;
cout<<"MAX="<<sum<<endl;
}

感觉这一篇博客算是说的比较明白了,毕竟看题解都看了还2个小时啊!!!

http://www.jmfq.cn/news/4798945.html

相关文章:

  • 网站需要加wordpress/成都网络营销公司排名
  • 做心悦腾龙光环的网站是什么/优化关键词哪家好
  • 广东深圳网站建设/长沙网站建设服务
  • 网站的国际化 怎么做/seo运营经理
  • 怎么做淘宝客网站/淘宝关键词查询工具哪个好
  • 晋江网站建设价格/百度搜索引擎官网
  • 长春仿站定制模板建站/留手机号广告
  • 游戏的网站策划应该怎么做/保定seo排名外包
  • 后端开发工资一般多少/seo诊断分析报告
  • 成都专业网站建设/seo怎么优化软件
  • 网站开发 案例/搜索关键词排名优化
  • 巫山做网站那家好/网站优化的主要内容
  • 做关于车的网站好/福州百度推广开户
  • 广西梧州藤县疫情/凌云seo博客
  • 长沙房产网二手房/站长工具seo优化
  • 那种转转假网站怎么做的/长沙电商优化
  • h5手机网站模板下载/百度平台app下载
  • 新疆网站开发报价/广东短视频seo营销
  • 翻译国外网站做原创/推广计划怎么做
  • 温州做网站建设多少钱/品牌营销策略有哪些方法
  • 天津做网站企业/软文营销经典案例200字
  • 黄村做网站哪家快/推广怎么推
  • 做软装有什么网站找图片/淘宝新店怎么快速做起来
  • 南昌seo推广外包/系统优化方法
  • 江门公司建站模板/全网营销是什么
  • 国旗做网站按钮违法吗/专业的营销团队哪里找
  • 有哪些是外国人做的网站吗/西安百度竞价代运营
  • 区块链交易网站开发/找客户资源的软件
  • 软件开发平台 devcloud/免费网站seo
  • 仁寿建设局网站/农村电商平台