
模拟
pioneer 1
如你所说,成为传奇。
展开
-
L1-009 N个数求和 (20分)
传送门 这道题不难,不过有坑点。第一个坑,输入的时候要注意一下。第二个坑,题目中要求长整型,要高亮。第三个坑,题目中只说如果整数部分为0,则输出分数部分,但是它没有说,当整数和分数部分都是0的时候,要输出0,这个需要自己仔细思考出各种特殊情况,不能慌。 #include <iostream> #include <algorithm> using namespace std; typedef long long ll; struct node { ll zi;/.原创 2020-11-02 15:32:35 · 276 阅读 · 0 评论 -
AcWing1229. 日期问题
传送门 题解: 这道题是道模拟题,思路也不是很难,就是太麻烦了。 由题意知,给你三个数a1,a2,a3,有可能是年月日、月日年、日月年三种情况,假如a1,a2,a3符合年月日的条件的话,那么对应的输出就应该是a1a2a3,a3a1a2,a3a2a1. 年月日的条件比较好写,如果年份后两位大于60,那就是19年的,否则就是20年的。月份的话是大于0小于13,日子在所在月份的范围内就行。 题目要求日期从早到晚排列,那我就把a1,a2,a3比大小的每种情况都列出来,然后看看在每种情况下,对应日期的.原创 2020-09-30 22:05:37 · 270 阅读 · 0 评论 -
466. 回文日期
传送门 题解: 当我们看一个题的时候,首先要看它是否满足时间复杂度,其次是空间复杂度,最后是代码复杂度(即在满足前两个条件的情况下,找到最好写的一种方法)。根据题意,年份的范围是1000~9999,如果我们枚举每一天,一年有365天,复杂度就是3.65*(10^6),但是枚举每一天我们要建立一个日历,显然很麻烦。我们可以枚举每一个回文数,然后判断是否在题目所给的日期范围内,最后判断日期是否合法。其中有一个点就是闰年的判断,如果一个年份能被400整除或者不能被100整除而能被4整除,那么这个年份就..原创 2020-09-03 17:40:51 · 126 阅读 · 0 评论 -
1236. 递增三元组
传送门 题解: 这道题是用模拟,如果使用暴力的话,显然需要3重循环,然后再写一个判断条件。那么我们就要从这三重循环下手进行优化,根据数据范围可以知道总的时间复杂度大概是O(n)或者O(nlogn),那三重循环我们只能保留一重循环,观察发现保留A数组的循环和保留C数组的循环本质是一样的,但是如果保留A数组的循环的话,B数组和C数组是有关联的,写程序就比较麻烦,可以发现当保留B数组的时候,只需要找到A数组中比它小的,C数组中比它大的就行,A和C本身并无关联。我们保留了B数组的循环,接下来可以用前缀和的方原创 2020-09-02 21:20:05 · 188 阅读 · 0 评论 -
1210. 连号区间数
传送门 题解: 这道题是一道模拟题,首先我们应该会想到暴力做法,暴力的话,应该是两层for循环,加一个sort排序判断是否是连号区间,sort排序的时间复杂度是O(nlogn),总的时间复杂度就是O(n^3logn),显然会超时。我们想想怎么能优化它,两层for循环找区间不好进行优化,那么我们来想想在判断是否是连号区间这个地方优化一下程序,经过观察可以发现连号区间的一个性质,在区间[a,b]里,如果这个区间满足,区间的最大值-区间的最小值=b-a,那么这个区间就是连号区间。优化之后,只剩下O(n^2原创 2020-09-02 09:30:45 · 173 阅读 · 0 评论 -
牛客小白月赛17-解密
链接:https://ac.nowcoder.com/acm/contest/1085/D 来源:牛客网 解密 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 小sun为了考试最近正在复习密码学,他现在遇到了一个问题:有一个由大小写字母组成的密文,要解密成明文。小sun知道怎么算,...原创 2019-09-17 21:47:09 · 432 阅读 · 0 评论 -
Problem L. World Cup(模拟+暴力)
传送门 题解: 运用6重循环对6场比赛进行模拟,把结果存起来,如果出现1次,输出“YES”,如果出现2次及以上输出“NO”,如果一次都没出现,输出“Wrong Scoreboard”。 #include <iostream> #include <algorithm> #include <map> using namespace std; in...原创 2019-10-08 16:10:21 · 210 阅读 · 0 评论