自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 1. 使用Linux作为主力系统的注意事项

文章目录1. 为什么要用 Linux 作为桌面系统2. 什么人适合用 Linux 作为主力操作系统3. 我应该选择哪一种 Linux 发行版4. 桌面环境5. 总结6. 启动盘制作7. 之后的计划先说一下自己的情况,本人用虚拟机 Linux 系统已经很长一段时间了,因为还在上大学,各种原因,不方便在电脑上直装 Linux 系统。但是之后还是考虑要将系统替换为 Linux,为此开一系列记录文章,总结 Linux 日常使用的一些注意事项。看这篇文章的大概都有一定的计算机基础知识。Linux 广泛用于服务器以

2021-02-19 14:35:09 1714 2

原创 【CCF-CSP201503-2】数字排序

文章目录1. 题目要求2. 解答3. 总结1. 题目要求2. 解答比较简单的题,可以使用排序做。#include <iostream>#include <algorithm>using namespace std;const int N = 1010;struct Num{ int freq = 0; int val = 0; bool operator< (Num& n) const { if(freq != n.freq) retu

2021-02-06 09:44:00 145

原创 【CCF-CSP201503-1】图像旋转

文章目录1. 题目要求2. 解答3. 总结1. 题目要求2. 解答题目的时间上限是 5 秒,这是非常宽裕的。如果预先存好数组,然后按照列访问的话也非常耗时,考虑采用 vector 进行一定程度思维上的简化,顺便复习了一下多重 vector 的写法。思路比较简单,n x m 的矩阵,开 m 个 vector,每个 vector 内存入n 个数(对应一列)最后输出。#include <iostream>#include <vector>using namespace

2021-02-05 21:08:22 180

原创 【CCF-CSP201412-2】Z字形扫描

文章目录1. 题目要求2. 思考与解答3. 总结1. 题目要求2. 思考与解答这道题目我想了比较久,找规律花的时间不多,但是如何模拟这个规律,调整输出的顺序,花了较多时间。思路如下:每次扫描,一定是从左上角开始,到右下角为止。数字个数非常有限,可以用二维数组模拟这一个图片矩阵;有多个方向不同的扫描轨迹,如果把每个扫描轨迹划分为不同的组(互相平行的轨迹算做不同的扫描组),组号从 0 开始,那么就会有下面的扫描序列(给出依次扫描的每个元素的坐标序列从 0 开始,数组下标从 0 开始,以4x4

2021-02-04 12:49:26 243 1

原创 C++ 输入输出与数据范围的技巧

在输入输出大量数字、字符串等的情况下,cin 和 cout 往往不是好的做法。部分情况下甚至会出现输入还没有结束时,程序就已经超时的情况。对此,输入输出数字、字符等时,建议一律采用 scanf 和 printf 函数。对应表如下:控制符对应最大值%dint232−12^{32}-1232−1%lldlong long int264−12^{64}-1264−1%cchar—%schar*—以上基本涵盖了常见的情况,除了 string 的输

2021-01-29 18:22:30 3247

原创 【CCF-CSP201409-3】字符串匹配

文章目录1. 题目要求2. 解答3. 总结1. 题目要求2. 解答这一题是模拟题,按照要求模拟即可,使用 C++ 的话需要对 string 的操作比较熟悉。#include <iostream>#include <cstring>using namespace std;int main(){ string s; int op; int n; cin >> s; scanf("%d%d", &op, &n); int len

2021-01-27 11:44:06 247

原创 【CCF-CSP201409-2】画图

文章目录1. 题目要求2. 解答3. 总结1. 题目要求2. 解答如果采用暴力做法,有 n 个要画的矩形,每个矩形最大可以是 100 * 100,因为 n 本身最大值也是 100, 所以最坏情况下大概要处理 100×100×100=106100\times{100}\times{100}=10^6100×100×100=106数量级的基本操作,属于合理范围。#include <iostream>using namespace std;const int N = 101;int

2021-01-27 10:43:17 133

原创 【201409-1】相邻数对

文章目录1. 题目要求2. 解答2.1 数组指针法2.2 哈希表做法3. 总结1. 题目要求2. 解答2.1 数组指针法开两个指针 a,b,外循环让 a 往前走,内循环让 b 每次从头走到尾,依次比较 a b 所指的数组的数值。为了避免同一个数对计算两次,固定只考虑 b = a + 1 的情况。时间复杂度 O(n2)O(n^2)O(n2)#include <iostream>using namespace std;int main(){ int n; scanf("%

2021-01-27 10:14:31 208

原创 【CCF-CSP201403-2】窗口

1. 题目要求2. 解答#include <iostream>#include <algorithm>using namespace std;struct Win { int x0, y0, x1, y1; int height; int number; bool operator< (Win& win) const { return height < win.height; }} win[25];int main(){

2021-01-26 10:13:07 167

原创 【CCF-CSP201403-1】相反数

1. 题目要求2. 解答2.1 哈希表做法哈希表的查找复杂度是 1,可以将每个数插入一个 unordered_set 然后查找是否有相反数,由于每个数字最多只会被查找记录一次,所以时间复杂度是 O(n)O(n)O(n)。CCF-CSP 在线训练系统没有开放 C++11 选项,而 unordered_set 是 C++11 的 STL 的一种,所以在测试系统上会出现编译错误。不过据说考试时可以自选是否使用 C++11 。在此还给出一种数组做法,以备考试时随机应变。#include <ios

2021-01-25 21:45:55 112

原创 【CCF相关】CCF考试的形式以及难度

1. 考试形式CCF 考试的形式是 5 题,每题多个测试点,一共 100 分,5 题 500 分。有关更多介绍可以看官网上的解答 这里。据说现在 CCF 赛制改革了,考试的时候提交后可以及时看到分数反馈。2. 试题难度要根据数据范围选择正确的算法。可以看这里。根据我自己的经验,前两题主要是简单的模拟题,最多用到一些 STL 以及排序算法等,难度不大。基本上可以接受 O(n2)O(n^2)O(n2) 的复杂度。第三题,难度不定。可能要考虑算法。第四第五题,大概率一定要使用某种算法,第四题经常出

2021-01-25 20:16:02 11487 4

原创 【CCF-CSP201312-3】最大的矩形

preAcWing 分享 由数据范围反推算法复杂度和算法内容1. 题目要求2. 解答解答这个题目要注意到,最后画出的矩形,它的高度一定与题目中的某一个矩形的高度相同。于是题目等价转化为在图中可以画出多少个高度为 height[i]height[i]height[i] 的连续矩形。以图中 height[i]height[i]height[i] 矩形为起始,向左找不低于它的矩形,向右找不低于它的矩形,得到它能画出的最大的矩形个数,乘以矩形高度就是最后的矩形的面积。迭代可以得到题目要求的最大矩形

2021-01-25 12:53:43 141

原创 【CCF201312-2】ISBN号码

1. 题目要求2. 解答2.1 模拟#include <iostream>using namespace std;int main(){ string str; cin >> str; int cnt = 0; int sum = 0; string res = str; int len = str.size(); for(int i = 0; i < len - 1; i ++) { char& ch = str[i]; if

2021-01-25 12:17:03 71

原创 【CCF201312-1】出现次数最多的数

preAcWing 分享 由数据范围反推算法复杂度和算法内容1. 题目要求2. 解答因为数字范围有限,可以采用一个计数数组来存储每一个数,每个数组元素包含两部分,代表的数字以及代表的数字出现的次数。最后对这个数组进行排序,找到符合要求的一项即可。2.1 结构体排序写法#include <iostream>#include <algorithm>using namespace std;const int N = 10010;struct Elem { i

2021-01-25 11:26:47 77

原创 《第一行代码》第1章笔记

文章目录前言笔记1 安装 Anroid Studio前言其实自己学习安卓已经有挺长时间了,不过一直没有系统地读完一本安卓教材,很多基础知识处于学了就忘的状态,感觉有记录会好很多,所以选择了 CSDN 博客来记录。笔记1 安装 Anroid Studio这里没有要特别注意的地方。按照教程即可装好。一开始检测到没有 Android SDK,点击 cancel 后会跳转到后续引导页面指导下载。...

2021-01-15 19:53:22 137

原创 Android Studio 加速 gradle sync

Android Studio 默认引用的是 google() 和 jcenter() 两个仓库。因为网络限制的问题,这两个仓库的同步速度是比较慢的,也就造成了 gradle 初始化时下载依赖会很慢。事实上阿里云提供了这几个仓库的镜像,gradle 也提供了 init.gradle 的办法来预先执行一些操作。我们就可以把同步的仓库替换为阿里云的镜像仓库。一下是一些有用的参考网站。阿里云仓库服务Gradle 关于 init.gradle 的介绍init.gradle 的写法如下:allprojects

2020-12-21 21:58:43 448

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除