博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
07 day 2
阅读量:4356 次
发布时间:2019-06-07

本文共 1071 字,大约阅读时间需要 3 分钟。

又是惨烈的一天

第一题

多重背包。二进制拆分即可。

#include 
#define max(a,b) ((a)>(b)?(a):(b))int n,m,i,j,k,l,a,b;int d[11][11];// s: time w: valueint s[10000],w[10000],pn,f[1000000];int main(){ freopen("medic.in","r",stdin); freopen("medic.out","w",stdout); scanf("%d%d",&n,&m); for(i=0;i
k){ s[pn]=i*k,w[pn]=j*k,++pn; d[i][j]-=k; k<<=1; }else{ s[pn]=i*d[i][j],w[pn]=j*d[i][j],++pn; d[i][j]=0; } } } } for(i=0;i
=s[i];--j){ f[j]=max(f[j],f[j-s[i]]+w[i]); } } printf("%d\n", f[m]); return 0;}

第二题

先将数读入为素因子里2和5分别的个数,然后求出一路乘到底最少的2和5的个数,取其小者。

(DP)

#include 
#define min(a,b) ((a)<(b)?(a):(b))int m,n,i,j,k,f2[2000][2000],f5[2000][2000],fmin[2000][2000],d2[2000][2000],d5[2000][2000],t;inline int countbit(int n){ t=0; while(!(k&1)) k>>=1,++t; return t;}inline int countf(int n){ t=0; while(!(k%5)) k/=5,++t; return t;}int main(){ freopen("matrix.in","r",stdin); freopen("matrix.out","w",stdout); scanf("%d%d",&n,&m); for(i=0;i

第三题

递推。太懒不写。

转载于:https://www.cnblogs.com/tmzbot/p/4004205.html

你可能感兴趣的文章
如何对iPhone进行屏幕录像
查看>>
网站技术架构
查看>>
maven 配置阿里云仓库
查看>>
合理构建产品形态(一)——谁是目标用户
查看>>
Tomcat服务器与HTTP协议
查看>>
Android studio开发APP的的目录结构
查看>>
VS 2010 Beta2中WPF有哪些改进?
查看>>
一个野生程序员开博日
查看>>
20180528小测
查看>>
spring和spring mvc的配置文件
查看>>
VSS+SourceAnywhere for VSS搭建版本控制系统教程
查看>>
TCP : two different sockets sharing a port?
查看>>
unix系统编程小结(二)------文件和目录
查看>>
ubuntu 创建用户
查看>>
Summary: gcd最大公约数、lcm最小公倍数算法
查看>>
JS实现HashMap
查看>>
linux mysql
查看>>
android 68 单元测试
查看>>
centos 6.3 64位安装php5.5及配置tengine
查看>>
进入页面就触发了popstate事件。
查看>>