【牛客 - 318L】彪神666(水题,半高精度,递推,trick)
题干:
在国外,666代表魔鬼,777代表上帝。
所以牛逼的彪神就非常不喜欢6这个数字。
有一天彪神突发奇想,,他想求一些书与6无关的数。
如果一个数能被6整除,或者它的十进制表示法中某位上的数字为6,则称其为与6相关的数。彪神要求所有小于等于N的与6无关的正整数的平方和。
输入描述:
第一行一个数T表示有T组数据。(T≤20)
后面T行数每行一个N,表示求所有小于等于N的与6无关的正整数的平方和。(N≤106)
输出描述:
T行,每行一个数表示求所有小于等于N的与6无关的正整数的平方和。
示例1
输入
复制
5
4
5
6
7
8
输出
复制
30
55
55
104
168
解题报告:
水题,打表递推一下就可以了。。
AC代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e6 + 5;
ll mod = 1e13;
ll b[MAX],bb[MAX];
int a[55];
int cf(int x) {int p = 0;while(x) {a[++p] = x%10;x/=10;}return p;
}
int main()
{for(ll i = 1; i<=(int)1e6; i++) {b[i]=b[i-1];bb[i]=bb[i-1];int p = cf(i),flag = 1;for(int j = 1; j<=p; j++) {if(a[j]==6) {flag = 0;break;}}if(i%6==0) flag=0;if(flag == 1) {b[i] += i*i;bb[i] +=b[i]/mod;b[i]%=mod;}}int t,n;cin>>t;while(t--) {scanf("%d",&n);if(bb[n]==0) printf("%lld\n",b[n]);else printf("%lld%.13lld\n",bb[n],b[n]);}return 0 ;}
总结:
晕,,这题debug一年。。思维过程是这样的、、打表的时候是用的int i打的,,所以导致i*i爆了int,,但是没发现,,还以为是最终答案爆了longlong,,开了半个高精度,,发现还是不对,,往前面查,,发现i*i爆了int,于是改成longlong,,再交还是wa,,放弃、、赛后发现高精度写挂了。。低位的数组没有按位补齐。。。然后后来简单证明了一下发现是不会超longlong的(我就说嘛如果是个高精度的坑不可能这么多人当签到题过啊)也就是这题本来就是i*i爆了int而已、、结果越改越挂了。。还有啊之前暑假那个半高精度那个题,之所以没加格式符是因为是对1e18取余,,并且取余之后低位的数组依旧是18位的,,所以不用加。
所以对这个代码中,其实把mod改成1e18,然后把main函数中的格式符去掉,就可以直接ac了
【牛客 - 318L】彪神666(水题,半高精度,递推,trick)相关推荐
- 牛客网——数字求和(水题
题目描述 给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入描述: 输入一行,只包括6个小于100的正整数,其中第一个正整数就是a. 输出描述: 可能有多组测 ...
- 【牛客 - 1080E】tokitsukaze and Segmentation(dp,递推,思维)
题干: 链接:https://ac.nowcoder.com/acm/contest/1080/E 来源:牛客网 tokitsukaze有一个长度为n的字符串,字符串仅包含'0'-'9'. tokit ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- 2020牛客国庆集训派对day2 补题J
2020牛客国庆集训派对day2 补题J:VIRUS OUTBREAK 题目描述 The State Veterinary Services Department recently reported ...
- 牛客网SQL 进阶篇刷题
牛客网SQL 进阶篇刷题(1-19) 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分: 用户1002在2021年9月4日上午7点1分2秒开始 ...
- Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题 HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...
- 【2020年牛客暑假第九场】E题 Groundhog Chasing Death
[2020年牛客暑假第九场]E题 Groundhog Chasing Death 质因子分解 题意 思路 方法一:先枚举iii再枚举公共质因子 Code(286ms) 方法二:先枚举公共质因子再枚举i ...
- 刷题系列--牛客网基础OJ编程130题(上)
目录 前言 BC1:实践出真知 BC2 我是大V BC 3 有容乃大 BC 6 小飞机 BC 7缩短二进制 BC 8十六进制转十进制 BC 9 printf的返回值 BC 10 成绩输入输出 BC 1 ...
- 牛客网——小白月赛13 —— A题
链接:https://ac.nowcoder.com/acm/contest/549/A 来源:牛客网 题目描述 这是一道签到题,主要考验比赛时的手速. 接下来是一段很简单的代码,或许你提交它就可以A ...
最新文章
- 数据处理系列(四) 安装Elasticsearch用以存储和查询数据
- (超贴心)Centos7安装2.5G网卡驱动(Realtek 3000)
- 人生百味,浓缩到最后就是一个淡字
- 一步步学习ASP.NET MVC3 (10)——@Ajax,JavaScriptResult(1)
- 利用OpenCV实现人脸检测
- Invalid Gradle JDK configuration found_build.gradle里dependencies标签页的实现原理
- Ubuntu下安装vim以及常用命令
- 如何激活windows的远程终端
- [转载] Python中filter筛选函数匿名参数问题
- vue -- router路由跳转错误 , NavigationDuplicated
- REPNZ SCANS
- Git(4):远程仓库
- python初学者-计算小于100的最大素数
- WIFI和WLAN的区别是什么
- 淘宝开店经验 心得 攻略
- [技术随笔(一)] 文件分割的两种方法
- kafka-connect-jdbc 增加source报错:query may not be combined with whole-table copying settings
- 基于PaddleSpeech搭建个人语音听写服务
- 位运算——强大得令人害怕
- 串行的blast+2.2.25本地化: blastdbcmd,makeblastdb,blastn.简介
热门文章
- 第五课 机器学习中的特征工程
- 790. Domino and Tromino Tiling
- [Leetcode][第120题][JAVA][三角形最小路径和][动态规划][递归]
- [Leedcode][JAVA][第16题][最接近的三数之和][双指针][数组]
- php全局cors,PHP开启CORS - slagga的个人页面 - OSCHINA - 中文开源技术交流社区
- python 输入正方形_Python打印正方形
- yum如何安装特定版本的gcc_linux下如何升级python
- 如何给ppt编辑页码_拒绝千篇一律:Word插入“侧边”页码,让文档别具一格!...
- l启动进程 linux,《日子》. linux 查看进程启动路径
- python的convert_python编程开发之类型转换convert实例分析