2793 [Poi2012]Vouchers
我们直接模拟就可以了= =
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相关推荐
- BZOJ 2793: [Poi2012]Vouchers(调和级数)
Time Limit: 20 Sec Memory Limit: 64 MB Submit: 582 Solved: 250 [Submit][Status][Discuss] Descripti ...
- Bzoj3060 [Poi2012]Tour de Byteotia
3060: [Poi2012]Tour de Byteotia Time Limit: 30 Sec Memory Limit: 256 MB Submit: 251 Solved: 161 De ...
- 洛谷 P3539 [POI2012]ROZ-Fibonacci Representation 解题报告
P3539 [POI2012]ROZ-Fibonacci Representation 题意:给一个数,问最少可以用几个斐波那契数加加减减凑出来 多组数据10 数据范围1e17 第一次瞬间yy出做法, ...
- BZOJ 2788[Poi2012]Festival
题面: 2788: [Poi2012]Festival Time Limit: 30 Sec Memory Limit: 64 MB Submit: 418 Solved: 190 [Submit ...
- 【BZOJ2797】[Poi2012]Squarks 暴力乱搞
[BZOJ2797][Poi2012]Squarks Description 设有n个互不相同的正整数{X1,X2,...Xn},任取两个Xi,Xj(i≠j),能算出Xi+Xj. 现在所有取法共n*( ...
- 【BZOJ2791】[Poi2012]Rendezvous 倍增
[BZOJ2791][Poi2012]Rendezvous Description 给定一个n个顶点的有向图,每个顶点有且仅有一条出边. 对于顶点i,记它的出边为(i, a[i]). 再给出q组询问, ...
- bzoj 2803: [Poi2012]Prefixuffix(双Hash)
2803: [Poi2012]Prefixuffix Time Limit: 10 Sec Memory Limit: 64 MB Submit: 413 Solved: 167 [Submit] ...
- Solv Vouchers 全新版本 V2.1 发布!
2021年7月15日,Solv Vouchers 发布全新版本 V2.1 .Solv Vouchers 是锁仓额度 NFT 的铸造.管理和交易平台,为项目方提供更便捷.灵活.低成本的锁仓 Token ...
- JZOJ 2793: 【基础】流感传染
链接 传送门http://www.jzoj.cn/problem.php?id=2793 代码 #include <bits/stdc++.h> using namespace std; ...
最新文章
- java B2B2C电子商务平台分析之八--配置中心svn示例和refresh
- SkipList 以及高度的确定
- ubuntu ftp server-转
- Code::Blocks IDE - Open Source, Cross-platform Free C++ IDE
- Sybase获取所有用户表,以及所有者(owner)
- 01 Python 安装 切片 查找替换 print 函数 return 局域代码块 注释 帮助 强制转换
- linux去除内容重复行,实例详细说明linux下去除重复行命令uniq
- mysql去掉两个最高分_Excel函数 去掉最高分和最低分取平均值?这个函数不可不知...
- ROM.RAM,FLASH,PROM,EPROM,EEPROM的区别
- SCOR模型(转载)
- Rainmeter,让你的桌面更精彩~
- iOS高仿app源码:10天时间纯代码打造高仿优质《内涵段子》
- 年轻人如何去有效的学习(很好的鸡汤,一语惊醒梦中人)
- 温度转换程序python代码_python温度转换华氏温度实现代码
- 六度拓扑(www.6dtop.com)正式开源啦~~~(V1.0)
- springboot定期清理文件
- 假设有一段英文,其中有单词中间的字母i误写为I,请编写程序进行矫正。
- java pdf输出图片_Java PDF转换成图片并输出给前台展示
- Nature:真核核糖体可以像原核核糖体一样被修饰以应对抗生素
- 如何打造爆款付费文章
热门文章
- python接口测试类型_python 接口测试字符类型转换
- 众辰变频器参数设定_电工知识:变频器使用方法设定功能参数的方法
- java 自定义监听_Spring 中的自定义事件
- 期待的程序员的生活并非你想象的那么简单!
- python调用c++动态库_Python调用C/C++动态链接库的方法
- Fast R-CNN《Fast R-CNN》论文笔记
- 洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
- HDOJ 4699-Editor[栈]
- Codeforces 1110G Tree-Tac-Toe (博弈论)
- Codeforces 685C Optimal Point (二分、不同类型距离的相互转换)