低价购买
来源:互联网 发布:mac摄氏度符号怎么打 编辑:程序博客网 时间:2024/06/10 16:33
QAQ
想一下思路
其实第一问挺简单的,就是求一个最大下降子序列
至于第二问我有点懵
拥有最大购买次数的方案数(<=2^31)
当二种方案“看起来一样”时(就是说它们构成的价格队列一样的时候),这2种方案被认为是相同的。
这个咋做呢
想一下
我们先处理出down[i]的每个值
枚举1-i,然后枚举1-i-1
如果down[i]==down[j]+1的话,那么j就是i的前驱
用t[i]为到i的方案是,如果满足上面的条件,那么,t[i]+=t[j]
如果a[i]==a[j]那么我们就得把,t[i]赋值为0,因为用后面的没有用前面的优
t[i]得赋初值为1,因为起码有一种方案
#include <cstdio> #include <iostream>using namespace std;int c[19999];int down[9999];int t[9999];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",c+i); c[n+1]=-1; down[1]=1; t[1]=1; for(int i=2;i<=n+1;i++) { int maxf=0; for(int j=1;j<i;j++) if(c[j]>c[i]) maxf=max(down[j],maxf); down[i]=++maxf; if(down[i]==1) t[i]=1; for(int j=1;j<i;j++) { if(c[i]==c[j]) t[i]=0; if(c[i]<c[j]&&down[i]==down[j]+1) t[i]+=t[j]; } } printf("%d %d",down[n+1]-1,t[n+1]); return 0;}
阅读全文
0 0
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- 低价购买
- rqnoj-低价购买
- rqnoj 456 低价购买
- 洛谷 P1108 低价购买
- 洛谷 1108 低价购买
- 洛谷P1108 低价购买
- 洛谷 P1108 低价购买
- 洛谷 P1108 低价购买
- Java事务(8)——分布式事务(Spring+JTA+Atomikos+Hibernate+JMS)
- Linux(Centos)之安装Java JDK及注意事项
- python之自练小程序(字符串方法)
- 由浅入深JavaScript6基础-语句2
- ScrollView滑动监听
- 低价购买
- python
- JQuery库
- NDK在自己的SO中调用第三方SO
- Linux(Centos)之安装tomcat并且部署Java Web项目
- 获取不同元素与相同元素
- >>和>>>的区别
- MySQL mysqlbinlog查看binlog时报错unknown variable 'default-character-set=utf8'解决
- NIO编程 TimeServer && TimeClient