2793 [Poi2012]Vouchers
我们直接模拟就可以了= =
now[x]表示x的倍数已经取到x * i了,于是每次读入x,直接向上枚举x个没取过的数即可。
- /**************************************************************
- Problem: 2793
- User: rausen
- Language: C++
- Result: Accepted
- Time:5296 ms
- Memory:14476 kb
- ****************************************************************/
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- typedef long long ll;
- const int N = ;
- int n, m, mx;
- int now[N];
- ll tot, ans[N], cnt;
- bool f[N], vis[N];
- inline int read() {
- int x = , sgn = ;
- char ch = getchar();
- while (ch < '' || '' < ch) {
- if (ch == '-') sgn = -;
- ch = getchar();
- }
- while ('' <= ch && ch <= '') {
- x = x * + ch - '';
- ch = getchar();
- }
- return sgn * x;
- }
- int main() {
- int i, x, t, C;
- for (m = read(), i = ; i <= m; ++i) {
- x = read();
- f[x] = , mx = max(mx, x);
- }
- n = read();
- while (n--) {
- x = t = read();
- for (i = now[x] + x, C = ; i <= mx; i += x) {
- if (!vis[i]) {
- ++cnt, --t, vis[i] = ;
- if (f[i]) ans[++tot] = cnt;
- if (++C == x) break;
- }
- now[x] = i;
- }
- cnt += t;
- }
- printf("%lld\n", tot);
- for (i = ; i <= tot; ++i)
- printf("%lld\n", ans[i]);
- }
(p.s. 没有的搞懂,一开始各种WA,把ans数组改成long long就AC了?蒟蒻跪求大神求教)
2793 [Poi2012]Vouchers的更多相关文章
- BZOJ 2793: [Poi2012]Vouchers(调和级数)
Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 582 Solved: 250[Submit][Status][Discuss] Description ...
- [BZOJ2793][Poi2012]Vouchers
2793: [Poi2012]Vouchers Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 316 Solved: 148[Submit][Stat ...
- 【BZOJ2793】[Poi2012]Vouchers 调和级数
[BZOJ2793][Poi2012]Vouchers Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整 ...
- 【BZOJ2793】【数学】[Poi2012]Vouchers
Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个. 正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数. ...
- BZOJ2793[Poi2012]Vouchers——枚举
题目描述 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数. 输入 第一行一个 ...
- 【bzoj2793】[Poi2012]Vouchers 暴力
题目描述 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数. 输入 第一行一个 ...
- [POI2012]Vouchers
Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个. 正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数. ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- POI2012题解
POI2012题解 这次的完整的\(17\)道题哟. [BZOJ2788][Poi2012]Festival 很显然可以差分约束建图.这里问的是变量最多有多少种不同的取值. 我们知道,在同一个强连通分 ...
随机推荐
- HDFS datanode心跳与运维中的实际案例
分布式系统的节点之间常采用心跳来维护节点的健康状态,如yarn的rm与nm之间,hdfs的nn与dn之间.DataNode会定期(dfs.heartbeat.interval配置项配置,默认是3秒)向 ...
- fir.im 测试包下载工具--FIRReader 的图文介绍
fir.im 是一个供开发者上传测试包(也可以是企业的正式包)的网站.该网站提供了接口访问应用资源.下面要介绍的这个应用对接了这些接口,供用户方便下载应用. 先来看下应用截图吧! 主要有以下功能点:1 ...
- WWDC 2017 苹果开发者大会
1.更新了系统固件 iOS 11 macOS High Sierra watchOS 4 tvOS 11 2.更新了硬件以及新设备 升级了 iMac 以及 iMac Pro 升级了 MacBook ...
- win7_32下编译FFmpeg
运行环境: VC2010软件: [附:本文所用软件安装包:http://download.csdn.NET/detail/sinat_36666600/9705438 ...
- iframe的应用量还是这么大
以前查阅资料说iframe已经过时,不建议使用,可是在先进的2018年,你去随便打开一个网站,扔都可以见到iframe的身影,这不禁要发问:iframe的应用量为什么还是这么大? HTML5不再支持使 ...
- 如何用纯 CSS 创作一个摇摇晃晃的 loader
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览.https://codepen.io/comehope/pen/oyJvpe 可交互视频 此 ...
- openwrt的编译系统是如何制作根文件系统的
答:分析以下makefile即可获取整个过程 以nxp layerscape系统的编译过程为例 1.分析target/linux/layerscape/image/Makefile的最后一句,这是一个 ...
- [CF1042F]Leaf Sets
题意:给定一棵$n$个点的树,将叶子节点分为数个集合使集合里点对最长距离不超过$k$,求最少集合数.($n\le1000000$) 首先我们可以想到,这道题并不是让你构造最优方案,因为只要把所有叶子节 ...
- 安装GoMap
参考:https://github.com/ehrudxo/GoMap 1.依赖go包安装 gorm包安装 直接在github首页搜索gorm,找到对应的gorm包: 然后打开本机cmd命令行窗口,切 ...
- 批量操作QT UI中的控件
背景:在一个项目中,可能一个UI中存在大量相同的tablewidget,combobox,label等控件,每种可能有100个,此时想对它们进行同样的操作 方案:(以tablewidget为例,UI中 ...