P1018 乘积最大
来源:互联网 发布:二手书交易网站 知乎 编辑:程序博客网 时间:2024/05/29 19:32
https://www.luogu.org/problem/show?pid=1018#sub
其实这个数据范围貌似搜索是过不了的,但是在lg上过了
这里搜索的方法是,dfs(int x,LL ans,int bef),x表示已经用了几个乘号,ans表示前面放完乘号得到的乘积,bef表示上一个乘号放的位置(后面);
那么,如果x< k,把bef和当前要放的位置之间的数乘进ans;
放完最后一个,要把后面剩下的数乘进ans;
而且,放第x个乘号时,位置不能大于n-k+x,因为要给后面的乘号留下足够的位置。
#include<iostream>#include<cstdio>#define LL long longusing namespace std;int n,k,a[50];LL maxn;void dfs(int x,LL ans,int bef){ if(x==k) { LL num=0; for(int i=bef+1;i<=n;i++) { num=num*10+a[i]; } maxn=max(maxn,ans*num); return; } for(int i=bef+1;i<=n-k+x;i++) { LL num=0; for(int p=bef+1;p<=i;p++) num=num*10+a[p]; dfs(x+1,ans*num,i); } return;}int main(){ scanf("%d%d\n",&n,&k); for(int i=1;i<=n;i++) { char o; cin>>o; a[i]=o-'0'; } dfs(0,1,0); printf("%lld",maxn); return 0;}
阅读全文
1 0
- 洛谷 P1018 乘积最大
- 洛谷 P1018 乘积最大
- P1018 乘积最大
- P1018 乘积最大
- 【DP】洛谷 P1018 乘积最大
- 洛谷 P1018 [NOIP2000 T2] 乘积最大
- 洛谷 P1018 乘积最大(NOIp2000提高组第二题)
- P1018 乘积最大 NOIP2000提高组第二题
- (ssl1007)P1018 2000年分区联赛普级组之三 乘积最大
- p1018
- 最大乘积
- 乘积最大
- 乘积最大
- 乘积最大
- 乘积最大
- 最大乘积
- 最大乘积
- 最大乘积
- linux下使用脚本自动化远程备份MySQL数据库
- 论文中著名会议和期刊的一些介绍(持续更新中)
- 从技术细节看美团架构
- 数据结构动态申请二维数组
- 向下兼容、向上兼容、向前兼容、向后兼容
- P1018 乘积最大
- python 基础 —— __import__() 函数
- git pull报错Pulling is not possible because you have unmerged files
- 蓝桥-ALGO-14-回文数
- 简述ImageLoader显示图片的流程
- java后台创建压缩包&使用浏览器下载文件(批量下载实现)
- 时间空间复杂度(二分查找和斐波那契数列)
- java中自动往邮箱里发送网页时的要求
- spring boot 集成druid,监控配置