我们直接模拟就可以了= =

now[x]表示x的倍数已经取到x * i了,于是每次读入x,直接向上枚举x个没取过的数即可。

 1 /**************************************************************
 2     Problem: 2793
 3     User: rausen
 4     Language: C++
 5     Result: Accepted
 6     Time:5296 ms
 7     Memory:14476 kb
 8 ****************************************************************/
 9
10 #include <cstdio>
11 #include <algorithm>
12
13 using namespace std;
14 typedef long long ll;
15 const int N = 1000005;
16
17 int n, m, mx;
18 int now[N];
19 ll tot, ans[N], cnt;
20 bool f[N], vis[N];
21
22 inline int read() {
23     int x = 0, sgn = 1;
24     char ch = getchar();
25     while (ch < '0' || '9' < ch) {
26         if (ch == '-') sgn = -1;
27         ch = getchar();
28     }
29     while ('0' <= ch && ch <= '9') {
30         x = x * 10 + ch - '0';
31         ch = getchar();
32     }
33     return sgn * x;
34 }
35
36 int main() {
37     int i, x, t, C;
38     for (m = read(), i = 1; i <= m; ++i) {
39         x = read();
40         f[x] = 1, mx = max(mx, x);
41     }
42
43     n = read();
44     while (n--) {
45         x = t = read();
46         for (i = now[x] + x, C = 0; i <= mx; i += x) {
47             if (!vis[i]) {
48                 ++cnt, --t, vis[i] = 1;
49                 if (f[i]) ans[++tot] = cnt;
50                 if (++C == x) break;
51             }
52             now[x] = i;
53         }
54         cnt += t;
55     }
56     printf("%lld\n", tot);
57     for (i = 1; i <= tot; ++i)
58         printf("%lld\n", ans[i]);
59 }

View Code

(p.s. 没有的搞懂,一开始各种WA,把ans数组改成long long就AC了?蒟蒻跪求大神求教)

转载于:https://www.cnblogs.com/rausen/p/4130050.html

2793 [Poi2012]Vouchers相关推荐

  1. BZOJ 2793: [Poi2012]Vouchers(调和级数)

    Time Limit: 20 Sec  Memory Limit: 64 MB Submit: 582  Solved: 250 [Submit][Status][Discuss] Descripti ...

  2. Bzoj3060 [Poi2012]Tour de Byteotia

    3060: [Poi2012]Tour de Byteotia Time Limit: 30 Sec  Memory Limit: 256 MB Submit: 251  Solved: 161 De ...

  3. 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告

    P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...

  4. BZOJ 2788[Poi2012]Festival

    题面: 2788: [Poi2012]Festival Time Limit: 30 Sec  Memory Limit: 64 MB Submit: 418  Solved: 190 [Submit ...

  5. 【BZOJ2797】[Poi2012]Squarks 暴力乱搞

    [BZOJ2797][Poi2012]Squarks Description 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj. 现在所有取法共n*( ...

  6. 【BZOJ2791】[Poi2012]Rendezvous 倍增

    [BZOJ2791][Poi2012]Rendezvous Description 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问, ...

  7. bzoj 2803: [Poi2012]Prefixuffix(双Hash)

    2803: [Poi2012]Prefixuffix Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 413  Solved: 167 [Submit] ...

  8. Solv Vouchers 全新版本 V2.1 发布!

    2021年7月15日,Solv Vouchers 发布全新版本 V2.1 .Solv Vouchers 是锁仓额度 NFT 的铸造.管理和交易平台,为项目方提供更便捷.灵活.低成本的锁仓 Token ...

  9. JZOJ 2793: 【基础】流感传染

    链接 传送门http://www.jzoj.cn/problem.php?id=2793 代码 #include <bits/stdc++.h> using namespace std; ...

最新文章

  1. java B2B2C电子商务平台分析之八--配置中心svn示例和refresh
  2. SkipList 以及高度的确定
  3. ubuntu ftp server-转
  4. Code::Blocks IDE - Open Source, Cross-platform Free C++ IDE
  5. Sybase获取所有用户表,以及所有者(owner)
  6. 01 Python 安装 切片 查找替换 print 函数 return 局域代码块 注释 帮助 强制转换
  7. linux去除内容重复行,实例详细说明linux下去除重复行命令uniq
  8. mysql去掉两个最高分_Excel函数 去掉最高分和最低分取平均值?这个函数不可不知...
  9. ROM.RAM,FLASH,PROM,EPROM,EEPROM的区别
  10. SCOR模型(转载)
  11. Rainmeter,让你的桌面更精彩~
  12. iOS高仿app源码:10天时间纯代码打造高仿优质《内涵段子》
  13. 年轻人如何去有效的学习(很好的鸡汤,一语惊醒梦中人)
  14. 温度转换程序python代码_python温度转换华氏温度实现代码
  15. 六度拓扑(www.6dtop.com)正式开源啦~~~(V1.0)
  16. springboot定期清理文件
  17. 假设有一段英文,其中有单词中间的字母i误写为I,请编写程序进行矫正。
  18. java pdf输出图片_Java PDF转换成图片并输出给前台展示
  19. Nature:真核核糖体可以像原核核糖体一样被修饰以应对抗生素
  20. 如何打造爆款付费文章

热门文章

  1. python接口测试类型_python 接口测试字符类型转换
  2. 众辰变频器参数设定_电工知识:变频器使用方法设定功能参数的方法
  3. java 自定义监听_Spring 中的自定义事件
  4. 期待的程序员的生活并非你想象的那么简单!
  5. python调用c++动态库_Python调用C/C++动态链接库的方法
  6. Fast R-CNN《Fast R-CNN》论文笔记
  7. 洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
  8. HDOJ 4699-Editor[栈]
  9. Codeforces 1110G Tree-Tac-Toe (博弈论)
  10. Codeforces 685C Optimal Point (二分、不同类型距离的相互转换)