自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在高速缓存中,为什么用地址中间的位作索引,而不是高位?

设 (S, E, B, m) = (2, 1, 32, 8),即高速缓存有 2 个组,每组 1 行,每个块 32 个字节,地址 8 位则地址可分成:组索引 s = 1bit、块偏移 b = log2B = 5bit、标记 t = 8 - s - b = 2bit,即 (t, s, b) = (2, 1, 5)设结构体 X 有 32 字节,创建结构体数组 X[2]采用中位作索引 t s b&X[0] = 0 = 00000000 = 00 0 00000 &X[1]

2021-07-23 15:40:34 1224 2

原创 蓝桥杯 基础练习 01 字串(bitset 简洁实现)

#include <bitset>#include <iostream>using namespace std;int main() { for (int i = 0; i < 32; ++i) { bitset<5> x(i); //i 转为二进制存储在 x 中 cout << x << endl; } return 0;}

2021-03-08 23:01:54 83

原创 蓝桥杯第四届真题 - 买不到的数目(dp)

小明开了一家糖果店。他别出心裁:把水果糖包成 4 颗一包和 7 颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是 17。大于 17 的任何数字都可以用 4 和 7 组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数 n,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖

2021-03-08 16:41:34 264

原创 蓝桥杯第十届真题 - 修改数组(两种思路)

题目链接ACvis 数组统计每个数被访问的次数,如果一个数被访问了 k 次,则该数的后 k 个数一定都存在,则直接跳转到 k 后面继续判断。#include <iostream>using namespace std;const int MaxNum = 1000005;int vis[MaxNum];int main() { int n; cin >> n; while (n--) { int num; sca

2021-02-19 21:01:27 234

原创 蓝桥杯练习 - 排列问题(C++)

题目链接AC:string思路:只把限制条件存放在 vector 的元素 pair 中。每次排列后,遍历限制条件,得到 pair 的 first 和 second,就可以通过访问排列后自然数中的数字 first 的下一个位置是不是数字 second 来判断是否合法了。因为出现的数最大为 9,所以可以把数存放到 string。不过要注意的是需要把数字转换为字符。查找的时候形参也得记得转为字符,否则始终是查找失败。也可以把数存放到 vector 进行全排列,在下一个代码块中。#include <

2021-02-17 21:21:38 191

原创 蓝桥杯练习 - 字串统计(C++ string)

题目链接AC题中的优先级:次数最多 > 长度最长 > 出现最早当有多个次数最多的子串时,需要最长的子串。我们可以从最长的子串开始枚举,只在次数更大的情况下才更新 ans。而当它们的长度相同时,因为是从左到右枚举子串的,所以 ans 一定是最早的。比如3abcabcxyzxyzabc 和 xyz 子串次数都是最大的,且长度相同,由于先遇到的是 abs,所以 ans 始终存放的是 abc,并不会存放 xyz。#include <iostream>using name

2021-02-17 19:37:27 527 1

原创 蓝桥杯练习 - FJ 的字符串(C++ string)

题目链接AC#include <iostream>using namespace std;int main() { string s; int n; cin >> n; for (int i = 0; i < n; ++i) { string tmp = s; s += 'A' + i; s += tmp; } cout << s; return 0;}

2021-02-15 15:44:04 74

原创 蓝桥杯练习 - 芯片测试(位运算 + map)

题目链接AC思路:使用位运算,把每个芯片的测试结果变为整数,同时使用 map 统计次数,这样 ma.begin()->first 就能得到出现次数最多的整数,最后遍历芯片数组,若与这个整数相同就输出芯片编号。#include <iostream>#include <map>#define N 21using namespace std;int chip[N];int main() { int n; cin >> n; map

2021-02-14 17:12:17 213

原创 蓝桥杯练习 - 阶乘计算(Vector 容器)

举例16 * 24 = 384容器状态:616 * 24 = 144,修改 6 为 4 进 14,容器状态:411 * 24 = 24,24 + 14 = 38,修改 1 为 8 进 3,容器状态:48添加 3,容器状态:483AC#include <iostream>#include <vector>using namespace std;int main() { int n; cin >> n; vector<int> va;

2021-02-14 15:52:36 102

空空如也

空空如也

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

TA关注的人

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