ABC182——F - Valid payments Editorial
F - Valid payments Editorial
Here, both Lunlun and the clerk used the minimum number of coins needed to represent those amounts of money.
这句话意味着任何数都能用a1…ana_1\dots a_na1…an这些面值的货币唯一表示
并且能够推导出:对于第iii种纸币的面值是aia_iai,使用次数一定小于mxi=ai+1aimx_i=\frac{a_{i+1}}{a_i}mxi=aiai+1
不妨设找的钱为bbb于是有X+b=yX+b=yX+b=y,将三个数用aia_iai表示有
X=kX1a1+kX2a2+⋯+kXnanX=k_{X1}a_1+k_{X2}a_2+\dots +k_{Xn}a_nX=kX1a1+kX2a2+⋯+kXnan
b=kb1a1+kb2a2+⋯+kbnanb=k_{b1}a_1+k_{b2}a_2+\dots +k_{bn}a_nb=kb1a1+kb2a2+⋯+kbnan
y=ky1a1+ky2a2+⋯+kynany=k_{y1}a_1+k_{y2}a_2+\dots +k_{yn}a_ny=ky1a1+ky2a2+⋯+kynan
且有:
①kbik_{bi}kbi和kyik_{yi}kyi至少有一个为0
②kyi<mxik_{yi}<mx_ikyi<mxi
fi,0/1f_{i,0/1}fi,0/1表示考虑第iii种位是否对i+1i+1i+1位进位的方案数
后续参考大佬题解
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<random>
#include<bitset>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<unordered_set>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N=60;
ll a[N],mx[N],k[N];
ll x;
ll f[N][2];
int n;
int main()
{IO;int T=1;//cin>>T;while(T--){cin>>n>>x;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<n;i++) mx[i]=a[i+1]/a[i];for(int i=n;i;i--){k[i]=x/a[i];x%=a[i];}f[1][0]=1;if(k[1]) f[1][1]=1;for(int i=1;i<n;i++){f[i+1][0]+=f[i][0];if(k[i+1]) f[i+1][1]+=f[i][0];f[i+1][1]+=f[i][1];if(k[i+1]+1!=mx[i+1]) f[i+1][0]+=f[i][1];}cout<<f[n][0]<<'\n';}return 0;
}
理解的不是太清晰~~
ABC182——F - Valid payments Editorial相关推荐
- AtCoder Beginner Contest 187 F.Close Group Editorial
AtCoder Beginner Contest 187 F.Close Group Editorial 题目链接 状压DP~ 如果对边暴力的话复杂度约为 21502^{150}2150,显然不可取, ...
- Kaggle上的犬种识别(ImageNet Dogs)
Kaggle上的犬种识别(ImageNet Dogs) Dog Breed Identification (ImageNet Dogs) on Kaggle 在本节中,将解决在Kaggle竞赛中的犬种 ...
- 基于Kaggle的图像分类(CIFAR-10)
基于Kaggle的图像分类(CIFAR-10) Image Classification (CIFAR-10) on Kaggle 一直在使用Gluon's data package数据包直接获得张量 ...
- Transformer 代码完全解读!
作者 | 安晟&闫永强 来源 | Datawhale 本篇正文部分约10000字,分模块解读并实践了Transformer,建议收藏阅读. 2017年谷歌在一篇名为<Attention ...
- 用Transformer实现OCR字符识别!
Datawhale干货 作者:安晟.袁明坤,Datawhale成员 在CV领域中,transformer除了分类还能做什么?本文将采用一个单词识别任务数据集,讲解如何使用transformer实现一个 ...
- Transformer代码完全解读!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:安晟&闫永强,Datawhale成员 本篇正文部分约100 ...
- python以垂直方式输出_python学习笔记
Author: maddock Date: 2015-03-15 21:42:01 (暂时没有整理) python json文件处理 #coding:utf-8 importjson#data = [ ...
- Swift5.1 语言参考(六) 声明
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 梯度消失和梯度爆炸_知识干货-动手学深度学习-05 梯度消失和梯度爆炸以及Kaggle房价预测...
梯度消失和梯度爆炸 考虑到环境因素的其他问题 Kaggle房价预测 梯度消失和梯度爆炸 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion). 当神经网络的层数较多 ...
最新文章
- 2018CTF大赛学习
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务-Oracle连接错误
- VisualSVN Crack
- 【FTP】FTP 命令模式下 PASV OR PORT
- 百度开发平台提交应用后进行官方认证审核失败?
- postman 请求参数为数组及JsonObject
- Spring Boot 文件上传功能实现与简单示例
- 变身吧,无人机:多种姿势可以选择,你喜欢X还是O?
- 获取 服务器文件列表,云对象获取服务器的文件列表
- Fortan写出数据到CSV文件中
- 谷歌这是要全面退出中国!
- html怎么快捷复制粘贴,怎么快速复制粘贴文本?快速粘贴文本教程
- 计算机考研金工,我的金工跨考经验
- Codeforces 760B Frodo and pillows【贪心+二分】
- 华硕主板怎么进入bios
- 解决更新pip后报错 Cannot open pip-script.py
- java的SSPanel类_SpringBoot中遇到的一些问题
- [BJDCTF 2nd]燕言燕语-y1ng解析
- 爬取B站直播流 - http+flv的相关研究
- 可擦玻璃平顶的机器人_擦玻璃机器人的优点和缺点各是什么?智能擦窗机真的好用吗?有人工擦的干净吗...
热门文章
- cmosfixr插件怎么用_3dmax插件神器|怎么用3dmax插件神器去完成背景墙的效果图设计?...
- 2023届春招实习拉钩一面凉经
- 类加载机制(整个过程详解)
- 39. 组合总和020(思路+详解)
- Java当中包装类的理解和一些常用方法的分享(学习后分享)
- [汇编语言]用[bx+idata]的方式进行数组的处理-字母大小写转换
- 《C++ Primer》13.1.1节练习
- 《C++ Primer》7.5.1节练习
- hdu1213 How Many Tables-并查集
- python获取文件夹下文件_Python 获取目录下的文件列表与内容