洛谷——P2371 EXCEEDED WARNING C(50)
P2371 EXCEEDED WARNING C
题目背景
第三道溢出警告。。。
机(wei)智(suo)的TMXi又搬题来坑大家了。。。
注意时空限制【坏笑】
题目描述
[li]1949年,阿三的数学家D.R. Kaprekar发现了一系列被称为“塞尔夫数”(self-number)的数。对于任意的正整数n,定义 d(n) 是 n 及其各位数字之和。[/li]
[li]比如说,d(75) = 75 + 7 + 5 = 87. 给出任意的正整数 n 作为起点,你将通过n得到一个无限的递增序列: d(n), d(d(n)), d(d(d(n))), .... [/li]
[li]再比如说,如果你以33为起点,则下一个数是33 + 3 + 3 = 39,在下一个是39 + 3 + 9 = 51,之后是51 + 5 + 1 = 57.[/li]
[li]由此,你将可以写出一个数列:33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... [/li]
[li]n将被称为d(n)的“启发者”。(在上面的数列中,33是39的启发者,39是51的启发者,以此类推……)[/li]
[li]有的数有多个启发者,比如101,91和100都是它的启发者;而有的数没有启发者,比如5,它们就是所谓的“塞尔夫数”.[/li]
[li]我们将第i个塞尔夫数记为a[i],有13个塞尔夫数小于100 : 1, 3, 5, 7, 9, 20, 31, 42, 53, 64, 75, 86, 和 97. (a[1]=1, a[2] = 3, ... , a[13]=97);[/li]
输入输出格式
输入格式:
[b]共两问:[/b]
①输入整数n (n<10^7),并不换行
②输入整数k (k<5000),接下来一行k个数,s1, s2, . . . , sk. (n<10^7时,sk<10^6)
n, k中间是空格(虽说这句废话)
输出格式:
输出应为两行,
第一行是区间[ 1, n ]中塞尔夫数的个数。
第二行k个数,分别对应第i个塞尔夫数,两个数中间以一个半角空格隔开。
输入输出样例
说明
空间限制6000KiB
时间限制750ms
筛法:TLE
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 10000100 using namespace std; bool not_self[N]; int b,s,n,k,sum,self[N]; int read() { ,f=; char ch=getchar(); ;ch=getchar();} +ch-',ch=getchar(); return x*f; } int work() { ;i<=n;i++) { if(!not_self[i]) { self[++sum]=i,b=i; while(b<n) { s=b; ,s/=; not_self[b]=true; } } } } int main() { n=read();work(); printf("%d\n",sum); k=read(); ;i<=k;i++) s=read(),printf("%d ",self[s]); ; }
50分筛法
洛谷——P2371 EXCEEDED WARNING C(50)的更多相关文章
- 洛谷——P2368 EXCEEDED WARNING B
P2368 EXCEEDED WARNING B 题目背景 SGU 107 题目描述 求有多少个平方后末尾为987654321的n位数 输入输出格式 输入格式: 整数n 输出格式: 答案,即[b]“平 ...
- 洛谷 P2368 EXCEEDED WARNING B
P2368 EXCEEDED WARNING B 题目背景 SGU 107 题目描述 求有多少个平方后末尾为987654321的n位数 输入输出格式 输入格式: 整数n 输出格式: 答案,即[b]“平 ...
- 洛谷 P2369 EXCEEDED WARNING A 题解
题目传送门 直接用sort排序最后输出即可.但是数组要使用short int 类型.否则会超内存. #include<bits/stdc++.h> using namespace std; ...
- 【bzoj2118&洛谷P2371】墨墨的等式(最短路神仙题)
题目传送门:bzoj2118 洛谷P2371 这道题看了题解后才会的..果然是国家集训队的神仙题,思维独特. 首先若方程$ \sum_{i=1}^{n}a_ix_i=k $有非负整数解,那么显然对于每 ...
- 洛谷P2371 [国家集训队]墨墨的等式
P2371 [国家集训队]墨墨的等式 题目描述 墨墨突然对等式很感兴趣,他正在研究a1x1+a2y2+-+anxn=Ba_1x_1+a_2y_2+-+a_nx_n=Ba1x1+a2y2+-+a ...
- 【同余最短路】【例题集合】洛谷P3403 跳楼机/P2371 墨墨的等式
接触到的新内容,[同余最短路]. 代码很好写,但思路不好理解. 同余最短路,并不是用同余来跑最短路,而是通过同余来构造某些状态,从而达到优化时间空间复杂度的目的.往往这些状态就是最短路中的点,可以类比 ...
- 洛谷P1710 地铁涨价
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交 讨论 题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
随机推荐
- [洛谷P3743]kotori的设备
题目大意:ことり有$n$个设备,每个设备每秒共减少$a_i$能量(也就是说每一瞬间都在减少,而不是在一个时刻突然减少),开始前有$b_i$能量,ことり还有一个充电宝,无限能量,每秒共可以提供$p$的能 ...
- BZOJ1982 [Spoj 2021]Moving Pebbles 【博弈论】
题目 Moving Pebbles Two players play the following game. At the beginning of the game they start with ...
- uva10884 Persephone
题目戳这里. 找规律. 每一列占据的格子一定是一段区间: 相邻列之间的区间有交. 上界先增后减,下界先减后增. \(f_{i,j,k,0/1,0/1}\)表示考虑前\(i\)列,第\(i\)列,上界为 ...
- 【BZOJ 3232】圈地游戏 二分+SPFA判环/最小割经典模型
最小割经典模型指的是“一堆元素进行选取,对于某个元素的取舍有代价或价值,对于某些对元素,选取后会有额外代价或价值”的经典最小割模型,建立倒三角进行最小割.这个二分是显然的,一开始我也是想到了最小割的那 ...
- final变量属性小记
final 修饰符对于类成员变量来说,具备语法上不可变的特性:对于类成员方法来说,具备语法上子类不可覆盖重写的特性(能被继承的前提下). 但 final 并不限制子类对父类被修饰声明的成员变量进行覆盖 ...
- [NOI2003] 文本编辑器 (splay)
复制炸格式了,就不贴题面了 [NOI2003] 文本编辑器 Solution 对于光标的移动,我们只要记录一下现在在哪里就可以了 Insert操作:手动维护中序遍历结果,即每次取中点像线段树一样一样递 ...
- [poj 1743]差分+后缀数组
题目链接:http://poj.org/problem?id=1743 首先,musical theme只与前后位置的增减关系有关,而与绝对的数值无关,因此想到做一次差分. 然后对于差分后的数组,找到 ...
- codeforces 1077D
题目:https://codeforces.com/contest/1077/problem/D 题意:给你一个长度为n的串,你需要在里面找到出现次数最多的长度为k的子序列(子序列中元素可重复),求这 ...
- git 的证书重新设置,以及如何让git 记住提交的用户名和密码
1.git 的证书的重新设置的命令是: git config --system --unset credential.helper 2.保存git的用户名和密码注意这里是全局保存 git config ...
- elk,centos7,filebeat,elasticsearch-head详细安装步骤
先来张图,大致结构应该晓得,对吧! 安装jdk:至少1.8以上 yum -y localinstall jdk-8u73-linux-x64.rpm 安装elasticsearch5.2.1 用普通用 ...