P10884 [COCI 2017-2018#2] San
题目传送门:P10884 [COCI 2017-2018#2] San
看下标签
COCI(克罗地亚) 2017
啊
比我小4年的题
—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
硬肝的分割线
分析
定义 dp[i][j] 表示从第 i 栋楼开始,获得至少 j 个金币的方案数。
初始时,dp[i][j] = 1 当且仅当 G_i \geq j。
然后,我们可以从右往左依次计算每个 dp[i][j] 的值。
对于当前的 dp[i][j],我们需要计算它的子问题 dp[k][j] 的值,并累加到 dp[i][j] 上。其中,k > i 且 H_k \geq H_i。
最终,我们要求的答案就是 dp[1][K] 的值
时间复杂度就是是 O(N^2K)
为什么博客园不支持Latex!好难受啊
Code
#include<bits/stdc++.h>
using namespace std;
long long mx[45];
long long way[45];
int n;long long K;
struct Build
{
int h,v;
}edge[45];
long long ans;
void dfs(int now,long long tot)
{
if(tot>=K) {ans+=way[now];return ;}
if(now==n+1) return ;
for(int i=now+1;i<=n;i++)
{
if(edge[i].h>=edge[now].h)
{
if(tot+mx[i]<tot) continue;
dfs(i,tot+edge[i].v);
}
}
}
int main()
{
scanf("%d%lld",&n,&K);
for(int i=1;i<=n;i++) {scanf("%d%d",&edge[i].h,&edge[i].v);}
mx[n]=edge[n].v;way[n]=1;
for(int i=n-1;i>=1;i--)
{
for(int j=i+1;j<=n;j++)
{
if(edge[i].h<=edge[j].h) mx[i]=max(mx[i],mx[j]),way[i]+=way[j];
}
mx[i]+=edge[i].v;way[i]++;
}
for(int i=1;i<=n;i++)
dfs(i,edge[i].v);
printf("%lld\n",ans);
return 0;
}
为什么是120分啊
P10884 [COCI 2017-2018#2] San的更多相关文章
- MyEclips 2017/2018 (mac 版)安装与破解
MyEclips 2017/2018 (mac 版)安装与破解 现在在学J2EE,然后使用的工具就是 MyEclipse,现在就抛弃 Eclipse 了,我就不多说它俩的区别了,但是 MyEclips ...
- MyEclipse 2017/2018 安装与破解 图文教程
SSM 框架-02-MyEclipse 2017/2018 安装与破解 现在在学J2EE,然后使用的工具就是 MyEclipse,现在就抛弃 Eclipse 了,我就不多说它俩的区别了,但是 MyEc ...
- </2017><2018>
>>> Blog 随笔原始文档及源代码 -> github: https://github.com/StackLike/Python_Note >>> 统计信 ...
- 我的2017&2018
最近项目进入验收阶段,所以上班没那么忙碌了,但是怎么说呢,我可能天生是闲不住的主,觉得浑身不自在(我这样的人是不是特别不会享福),此处应该有个笑脸哈. 翻看了博客园好几个大牛写的技术文章,感慨大牛不愧 ...
- [2017 - 2018 ACL] 对话系统论文研究点整理
(论文编号及摘要见 [2017 ACL] 对话系统. [2018 ACL Long] 对话系统. 论文标题[]中最后的数字表示截止2019.1.21 google被引次数) 1. Domain Ada ...
- CorelDRAW X7 X8 2017 2018是什么关系?
从CorelDRAW 2017版本开始我们叫习惯了的X几系列的CorelDRAW毅然决然的就换了称呼,所以有时候很多朋友对于软件版本,经常会傻傻分不清,还有人认为X8版本比2017版本高,究竟为什么会 ...
- JetBrains 2017/2018全系列产品激活工具
可谓是工欲善其事,必先利其器,相信作为优秀开发工程师的你都想拥有一套快捷高效的编码工具,而JetBrains这家公司的产品,不管是那种编程语言,其开发工具确实让开发者们着迷,JetBrains的产品博 ...
- 【LOJ】#2349. 「JOI 2017/2018 决赛」团子制作
题解 有意思的一个dp,我们对G计数,发现如果不在同一条对角线上的G肯定不会互相影响,所以我们对于每一条对角线dp dp的方式是枚举这个G以什么方式放,横着还是竖着,还是不放 代码 #include ...
- 【LOJ】#2350. 「JOI 2017/2018 决赛」月票购买
题解 首先求一个最短路图出来,最短路图就是这条边在最短路上就保留,否则就不保留,注意最短路图是一个有向图,一条边被保留的条件是 dis(S,u) + val(u,v) = dis(v,T)我们需要求两 ...
- 【LOJ】#2351. 「JOI 2017/2018 决赛」毒蛇越狱
题解 没啥特别好的算法,是个讨论题,由于0 1 ?三类数位中最少的不会超过6 如果1不超过6,那么记录\(f1(S)\)为 \(\sum_{T \subset S} val(T)\)这个可以通过类似F ...
随机推荐
- ubuntu16 python2 安装M2Crypto报错
正文 pip2 install M2Crypto # 报错: # unable to execute 'swig': No such file or directory # error: comman ...
- IDEA 设置自动去掉不用的import
- 洛谷P2864
来一发在洛谷的第一篇题解 解析 首先从原点出发回到原点会形成一个环 要计算在环上的路程,首先我们要破环 利用建墙法破环 可以选取任意一个边缘上的树,往上或者往下或者往左往右建立一堵墙'|' 这样利用b ...
- 小程序-浅谈云函数获取数据和云数据库api获取数据的区别
区别:在于条数的限制,云数据库api获取数据限制20条以内,云函数限制100条以内 index.wxml <button bindtap="shujukuget">数据 ...
- 在Visual Studio Code中,鼠标双击PHP变量的时候,如何选择包括$在内的整个变量名
依次点击:文件->首选项->设置 并在"editor.wordSeparators"设置中为您的语言指定删除"$"符号:
- 一文全懂:Linux磁盘分区
一.物理设备的命名规则 在 Linux 系统中一切都是文件,硬件设备也不例外.所有的硬件设备文件都在/dev文件夹中. 硬件 在Linux内的文件名 SCSI/SATA/USB /dev/sd[a-p ...
- .NET 开源快捷的数据库文档查询和生成工具
前言 在实际项目开发中,需求变更和项目迭代是常态.要求我们能够迅速响应,对数据库结构进行相应的调整,如添加新表.更新现有表结构或增加字段等. 为了确保团队成员之间的信息同步,实时更新和维护数据库文档变 ...
- 7、SpringBoot2之整合事务及AOP
本文在SpringBoot2之整合Mybatis的基础上进行 7.1.整合事务 7.1.1.mapper接口 int deleteEmployeeById(int id); 7.1.2.mapper映 ...
- 英语词汇:simplistic和simple区别
"Simplistic" 和 "simple" 都表示简单,但它们有不同的含义和语境: Simplistic: 含义: 过于简单化的,有贬义,表示忽略了复杂性或 ...
- 外形最漂亮的人形机器人——通用机器人Apollo,设计为可以在任何任务和环境中与人类进行协作
视频地址: https://www.bilibili.com/video/BV11F4m1M7ph/