iOS
NC19427 换个角度思考
题目链接 题目 题目描述 给定一个序列,有多次询问,每次查询区间里小于等于某个数的元素的个数 即对于询问 ((l,r,x)) ,你需要输出 (sum_{i=l}^{r}[a_i le x]) 的值 其中 ([exp]) 是一个函数,它返回 (1) 当且仅当 (exp) 成立,其中 (exp) 表示某个表达式 输入描述 第一行两个整数 (n,m) 第二行 (n) 个整数表示序列 (a) 的元素,序列
NC20325 [SDOI2009]HH的项链
题目链接 题目 题目描述 HH有一串由各种漂亮的贝壳组成的项链。 HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一 段贝壳,思考它们所表达的含义。 HH不断地收集新的贝壳,因此他的项链变得越来越长。 有一天,他突然提出了一 个问题:某一段贝壳中,包含了多少种不同的贝壳? 这个问题很难回答。。。因为项链实在是太长了。于是,他只 好求助睿智的你
PAT Advanced 1006. Sign In and Sign Out
PAT Advanced 1006. Sign In and Sign Out 1. Problem Description: At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will
编写操作系统实践001
阶段目的: 整个操作系统的构建环境,工具链,生成方式,整体思路等 一、硬件环境 实践基于x86_64架构,BIOS使用UEFI系统 二、操作系统生命周期规划 POST——UEFI初始化——BOOTX64.EFI(BootLoader)——system.lex——结束 三、工具链 1.BootLoader UEFI开发有两种框架,一种是Intel维护的EDK2,另一种是GNU的g
C++ STL map 【避坑】 中括号查找(map[.])导致超时
感谢大神的博客:STL map关于查找的坑——尽量不使用方括号[ ]查找_stl map 查找_sdudyl的博客-CSDN博客 今天在CF补了一道题,我开了map使用中括号查找,结果第二组就T了。 我百思不得其解,最后把map[x]换成map.count(x)就过了。 因为这样使用中括号查找x时,如果找不到x,会向容器中插入一个x。这道题查找值域很大,于是乎T了。 这样一个例子: 我们希
<四>move移动语义和forward类型转发
move : 移动语义,得到右值类型 forward:类型转发,能够识别左值和右值类型 只有两种形式的引用,左值引用和右值引用,万能引用不是一种引用类型,它存在于模板的引用折叠情况,但是能够接受左值和右值 区分左值和右值得一个简单方式就是能不能取地址 一个右值一旦有名字那么就变成了左值 上面的运行结果 我们发现 test(i); 和 test(200); 最后都调用了 void proce
C++中的构造析构函数—2—虚析构函数
1. 构造函数不能定义为虚函数,每个对象的虚函数表指针是在构造函数中初始化的,因为构造函数没执行完,所以虚函数表指针还没初始化好。而析构函数可以定义为虚函数,也必须要定义为虚函数,否则在析构上无法体现出多态,导致子类的析构函数不会被调用,可能导致内存泄漏等风险。 2. 实验: 实验结果:
NC15557 连续区间的最大公约数
题目链接 题目 题目描述 给一个数列共n(n<=100,000)个数,a1,a2,...,an.(0<=ai<=1000,000,000).有q(q<=100,000)个询问。每个询问为l,r(1<=l<=r<=n).求gcd(al,al+1,...,ar). 再求区间[l,r]的子区间中(l<=l'<=r'<=r)满足gcd(al,al
C++中的智能指针和内存管理
C++是一门强大的编程语言,但是在内存管理方面却存在着一些问题。手动管理内存不仅费时费力,而且容易出错。因此,C++中引入了智能指针这一概念,以更好地管理内存。 什么是智能指针? 在C++中,内存的分配和释放都是由开发者手动实现的。这种方式虽然很灵活,但也十分容易出错,比如忘记释放内存或释放了已经释放的内存等。为了避免这些问题,C++引入了智能指针这一概念。智能指针是一种类,它在析构时自动释放
NC15172 情人节的电灯泡
题目链接 题目 题目描述 情人节到了,小芳和小明手牵手,打算过一个完美的情人节,但是小刚偏偏也来了,当了一个明晃晃的电灯泡,小明很尴尬,就和小刚说,我交给你个任务,你完成了我俩就带你玩,否则你就回家吧。小刚很有当单身狗的觉悟,他坚决不想让小明过好情人节,同为单身狗的你能帮帮他吗?现在有一个n×n(1 <= n <= 1000)的格子,每一个格子都有一个电灯泡,可能是亮的,也可能是灭的(
再一次,实现听歌自由
20年前,中国网民听歌是自由的,准确点说是听盗版歌的自由。 2002年11月,百度上线MP3搜索功能,几乎能搜索和下载到所有的歌曲。按相关的版权法规,百度未经授权使用他人资源牟利是违法的。当时互联网产业违法采集数据、传播盗版是家常便饭,版权管理形同虚设,百度顺势而为分了一块大蛋糕。盗版音乐砸了音乐人的饭碗,就如同盗版软件摧残软件从业者。最近十多年,政府对音像作品版权的管理日趋严格,这是一件利国利民
使用volatility——扫描互斥体和隐藏服务,隐藏服务本质上和隐藏进程一样
隐藏服务本质上和隐藏进程没有区别! svcscan原理: 因此,要找到隐藏的服务就需要使用svcscan,同时结合sc query看到的可见服务进行对比,以发现隐藏服务! PS D:Applicationvolatility3-stablemoddmp_out> volatility26.exe -f "D:bookmalwarecookbook-mastermalwar
appuploader 入门使用
回想一下我们发布 iOS 应用,不仅步骤繁琐,非常耗时。一旦其中一步失误了,又得重新来。作为一名优秀的工程师不应该让这些重复的工作在浪费我们的人生。在软件工程里面,我们一直都推崇把重复、流程化的工作交给程序完成。这次的文章主角就是为了解放我们而来—— appuploader,appuploader类似于Fastlane。这个明星库在 github 已经高达 1w 多的start量,得到了广大码农们
NC51101 Lost Cows
题目链接 题目 题目描述 (N (2 leq N leq 8,000)) cows have unique brands in the range 1..N. In a spectacular display of poor judgment, they visited the neighborhood 'watering hole' and drank a few too many beers
1159 Structure of a Binary Tree + 根据前序和中序构建二叉树+ 层序遍历模板复习
题目链接:https://pintia.cn/problem-sets/994805342720868352/exam/problems/1478635126488367104 唉,今天的bug出在了下面这条语句。 我写成了 根据前序和中序构建二叉树 参考的柳神代码,灵活的点就在于,用下标表示数组区间,嗯,相比直接传数组的引用,轻了不少。 题解代码: 刚做的时候以为要用层序遍历,顺便复习一
AtCoder Beginner Contest 242(D,E)
AtCoder Beginner Contest 242(D,E) D(二叉树搜索) D 题目大意就是首先给你一个字符串,代表(S^0),然后我们可以操作得到(S^1,S^2)等等 我们可以知道(S^i)是拿(S^(i-1))经过一系列替换而来的,因为这个字符串只有三种字符串,(A,B,C),这个替换方式就是把(A)替换成(BC),把(B)替换成(CA),把(C)替换成(AB) 题目会有(q)次询
[JOI 2016 Final]断层 题解
题目链接 首先发现斜着平移比较难处理,所以考虑将平面逆时针旋转 (45°)。 接着发现风化也不好处理,但是风化的一定不会作为答案,所以我们可以离线,然后倒着处理操作,上升变为下降。 我们发现每个初始 (0) 点最后的坐标就是它正着做时初始的坐标,且每次操作都只会将连续一段点的 (x,y) 坐标修改。 我们可以开两棵线段树,一棵维护 (x) 坐标,一棵维护 (y) 坐标。 容易发现,操作规律: 对
2022CCPC Guilin Site E. Draw a triangle
Draw a triangle 题意: 给定两点,求第三个整数点满足三点构成的非退化三角形面积最小 分析: 一开始看成了图论题,以为一直在卡精度(doge 设 (A(x_1, y_1), B(x_2, y_2), C(x, y)),则三角形面积由向量叉积求:(2S = vec{AB} × vec{AC}) (vec{AB})表示为((x_2 - x_1, y_2 - y_1)),即(a, b
刷题 | 数组移动元素
题目描述 LeetCode.283. 移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums = [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums = [0] 输出: [0] 提示: 1 <= nums.len
最近公共祖先 树链剖分
例题:洛谷P3379 【模板】最近公共祖先(LCA) https://www.luogu.com.cn/problem/P3379 首先是几个概念 重儿子:父结点所有子树中最大的子树的根节点(只有一个或没有) 轻儿子:父结点除了重儿子以外的所有子结点(没有或有很多个) 重边:父结点和重儿子连的边 轻边:父结点和轻儿子连的边 重链:相接重边连成的路径 定理: 1.一棵树能被剖分成若干条重链 2.轻儿
2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个从 1 到 n 且互不相同的值 另给你一个长度为 m 的数组 queries 你必须在树上执行
2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个从 1 到 n 且互不相同的值 另给你一个长度为 m 的数组 queries 你必须在树上执行 m 个 独立 的查询,其中第 i 个查询你需要执行以下操作: 从树中 移除 以 queries[i] 的值作为根节点的子树 题目所用测试用例保证 queries[i] 不 等于根节点的值。 返回一个
记忆化搜索 P1028 数的计算
P1028 [NOIP2001 普及组] 数的计算 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 一开始是想暴力搜索的,也就是枚举比n/2小的数,但是只过了5个点,其他点都TLE 然后就开始想有没有优化方法 以6为例子 6/2=3,那么以6为首的长度为2的序列就有61,62,63,也就是所有小于等于3的数的个数 接下来,我们找长度为3的序列的个数,只需要关注第二位的数字即可,
C++ Primer 5th Edition, Chapter 2, Solutions
Exercise 2.1 Questions What are the differences between int, long, long long, and short? Between an unsigned and a signed type? Between a float and a double? Solutions Those types have different m
随机造数据的技巧总结
以下是一个简单的使用 C++11 新特性生成随机数数据的程序示例: 这个程序用到了 C++11 的两个新特性:随机数生成器和随机分布。std::mt19937_64 是生成随机数的类,可以用 std::random_device 类来获取系统的随机种子,然后把它作为构造函数中的参数传给 std::mt19937_64 的对象来生成随机数。std::uniform_int_distribution