iOS

LOJ #6089. 小 Y 的背包计数问题 题解

Description 小 Y 有一个大小为 (n) 的背包,并且小 Y 有 (n) 种物品。 对于第 (i) 种物品,共有 (i) 个可以使用,并且对于每一个 (i) 物品,体积均为 (i)。 求小 Y 把该背包装满的方案数为多少,答案对于 (23333333) 取模。 定义两种不同的方案为:当且仅当至少存在一种物品的使用数量不同。 (1leq nleq 10^5)。 Solution 首先有个

codeforces做题记录(1924B)& 回顾线段树

1924B. Space Harbour 题意: n个点排成一行,其中某些点上面建有港湾,港湾有一个权值,对每个点我们定义点的权值为“左边(包括自己)第一个港湾上的权值 (times) 到右边(包括自己)第一个港湾的距离”(保证在一开始1号和n号点上都有港湾)。 有q次操作:操作1给定x和v,表示在x点上建立权值为v的港湾(保证同一个点不会重复建);操作2给定l和r,要求[l, r]区间上每个点的

vue2项目中使用webworker(一):发送网络请求

背景 有的时候我们需要向后端发送多个网络请求,如果全部在主线程中操作的话页面会变得非常卡顿,我们可以使用webwoker来发送网络请求,一旦服务响应结果,我们再从子线程给主线程发送消息 步骤 默认情况下vue2是不支持webwoker。 安装worker-loader vue.config.js配置 配置loader来解析xx.worker.js后缀的文件 创建worker来发送网络

8.31学习笔记

算法 CF955 1982 https://codeforces.com/contest/1982 1 数学思维 2 双指针 3 数论(裴蜀定理)+二维差分 不太懂这个c的计算 vj1 https://vjudge.net/contest/651665#overview https://blog.csdn.net/m0_46596968/article/details/121341177

动态链接库的生成和使用(二)

1、生成动态库文件libtest.so Demo目录下创建testso文件夹,在下面创建test.cpp、test.h和Makefile文件 test.cpp: #include <stdio.h> #include <stdlib.h> extern "C" double calc_pi() { double x = 0; double y = 0; double

The 1st Universal Cup. Stage 8: Slovenia

Preface 这场其实是昨天打的,但因为今天没训练就摆烂拖到今天才补题和写博客 这场题感觉都挺可做的,但前期出题有点慢导致后期没时间了,徐神和祁神赛后 20min 过了 J 有点可惜 A. Bandits 题都没看,不做评价 B. Combination Locks 不难发现这题本质就是在 0/1 串上操作,每次移动到另一个与之汉明距离为 (1) 的串 考虑把图建出来,不难发现这是个二分图,

C++ lambda 引用捕获临时对象引发 coredump 的案例

今天复习前几年在项目过程中积累的各类技术案例,有一个小的 coredump 案例,当时小组里几位较资深的同事都没看出来,后面是我周末查了两三个小时解决掉的,今天再做一次系统的总结,给出一个复现的案例代码,案例代码比较简单,便于学习理解。 1. 简介 原则:临时对象不应该被 lambda 引用捕获,因为临时对象在它所在的语句结束就会被析构掉,只能采用值捕获。 当临时对象比较隐蔽时,我们就可能犯这个低

关于正点原子input子系统,驱动中按键中断只检测了上升或下降沿却可以实现连按(EV_REP)的原因

问题 在学习到Linux内核input子系统时,产生了一个疑惑。可以看到,我们改造按键中断驱动程序(请见keyinputdriver.c(内核驱动代码)),通过检测按键的上升沿和下降沿,在中断处理函数(上半部内)通过mod_timer(&dev->timer, jiffies + msecs_to_jiffies(20))函数启动定时器。在定时器处理函数中上报和同步按键事件(EV_K

STL 改造红黑树 模拟封装set和map

改造红黑树 目录改造红黑树适配STL迭代器的红黑树基本结构RBTreeNode__RBTree_iteratorRBTree完整代码封装的set封装的map 在初次看STL中实现红黑树的源码时有些不理解,然后自己尝试对set以RBTree<K,K>的方式封装红黑树的迭代器;实现过程发现,这样封装复用程度特别低,也特别冗余,因此才能领悟到STL源码实现红黑树复用时的精髓.下文将模拟STL

合集-PC用日常软件

本文首发于我的博客 https://feipig.fun/zh-cn/aed6ce86591f/ 安全永远是第一要务。下载软件也尽量从官网下载,这样更安全,也避免从其他渠道下载到恶意软件。 注:以下内容谨代表个人观点。软件上尽量选择跨平台在搭配特定系统特有软件即可满足大部分使用场景。另外“官网收录”模块收录的各软件官网地址仅供参考。 日常 0. 必备 1. 管家杀毒类 普通用户或者想省心的可以只

【红队】红队角度谈谈提高对手溯源成本——最好的“匿名/不可追踪组合”是什么?

原创 山石网科安全技术研究院 在最近的红队建设中,我们讨论了CDN被追踪的问题。因此,在这篇文章中,我们将探讨如何提高追踪成本,使得对方团队更难定位到你的位置。 在互联网技术迅速发展的今天,网络安全和个人隐私保护变得尤为重要。传统互联网通信方式存在许多安全隐患,威胁到个人信息的安全。 为此,Tor(The Onion Router)网络作为一种匿名通信工具应运而生,它提供隐藏服务,为用户创造了

04.循环语句 & 逻辑运算符

4.循环语句 and 逻辑运算符 4.1 for循环 for循环的基本结构为: 两个分号是必不可少的,用while表示for可以写为: 如果在for循环中,第一部分被省略,C++会假定判断条件始终为真,循环一直进行。 程序经常在循环体中显示控制变量值或在计算中使用它,但这种使用不是必需的。控制变量通常用于控制迭代,尽管控制变量的值可以在for循环的主体中更改,但应避免这样做是因为这种做法可能会

05.函数和递归

5. 函数和递归 inline functions ---内联函数 function template---函数模板 5.1 C++中的程序构件 function prototype---函数原型 5.1.1 函数原型 A function prototype is a declaration of a function that tells the compiler the functi

06.类-数组(array)和string

6. 类-数组(array)和string 6.1 数组 数组是一组连续的内存位置,它们都具有相同的类型。为了指代数组中的特定位置或元素,我们指定数组的名称和特定元素在数组中的位置编号。数组名称遵循与其他变量名相同的约定。 下标必须是整数或整数表达式,带下标的数组名是一个左值,它可以在赋值的左边使用,就像非数组变量名一样。通过调用函数可以知道数组的长度,例如c.size()。包含下标的括号实际上

Photomator 3.3.22 (macOS Universal) - 照片编辑软件

Photomator 3.3.22 (macOS Universal) - 照片编辑软件 适用于 Mac、iPhone 和 iPad 的终极照片编辑器 请访问原文链接:https://sysin.org/blog/photomator/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Photomator 适用于 Mac、iPhone 和 iPad 的终极照片编辑器。

07.指针

7.指针 指针也允许pass-by-reference,并且可以用来创造和操作动态数据结构,例如列表、队列、栈和树(lists, queues, stacks and trees)。 7.1 指针变量的声明和初始化 指针变量包含内存地址作为其值,指针包含变量的内存地址,而变量的内存地址又包含一个特定的值。在这个意义上,变量名直接引用一个值,指针间接引用一个值。通过指针引用一个值称为间接引用。

08.类:更深层次的理解

8. 类:更深层次的理解 8.1 接口与实现分离 我们的每个先前的类定义示例都将一个类放在一个头文件中进行重用,然后将类的定义包含到一个包含main的源代码文件中,这样我们就可以创建和操作类的对象。 传统的思想认为,使用类的一个对象,客户(例如main函数)只需要知道: 1.调用什么成员函数 2.需要向每个成员函数提供什么实参 3.期望从每个成员函数得到什么返回类型 客户端代码不需要知道这些功能

09.运算符重载

9. 运算符重载 本小节将解释如何使C++的运算符能够处理类对象--一个称为运算符重载的过程。当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义。明智的使用运算符重载能令我们的程序更易于编写和阅读。 9.1 使用标准类库string中的重载操作符 运行结果如下: s3使用默认的string构造函数创造空字符串。 used the stream manipulator b

11.多态

11. 多态(Polymorphism) 11.1 引言 使用多态性,可以设计和实现易于扩展的系统,只要新类是程序通常处理的继承层次结构的一部分,就可以添加新类,而无需对程序的常规部分进行修改。程序中唯一必须更改以适应新类的部分是那些需要直接了解添加到层次结构中的新类的部分。例如,如果我们创建继承自 Animal 类的 Tortoise 类(它可能通过爬行一英寸来响应移动消息),我们只需要编写 T

12.流输入输出

12. 流输入输出 12.1 Introduction 在C++ 程序中,首选C++样式的 I/O 而不是C样式的 I/O。 12.2 流(Streams) C++ I/O occurs in streams, which are sequences of bytes. C++ provides both “low-level” and “high-level” I/O capabilitie

探索一下 Enum 优化

探索一下 Enum 优化 SV.Enums主要是探索如何让 enum 更高效 其中涉及的优化手段并非完全自创 很多内容参考于以下项目 NetEscapades.EnumGenerators FastEnum runtime 主要优化手段 其实主要全是 空间换时间,大量缓存 封装入口方法以及 source-generators 生成 不过本项目尝试了封装入口方法、ModuleInitialize

13.文件处理

13. 文件处理 13.1 引言 内存中数据的存储是暂时的。文件用于数据的持久化- -数据的永久保留。计算机将文件存储在二次存储设备上,如硬盘、CD、DVD、闪存和磁带。 13.2 文件和流(Files and Streams) C++将文件简单的看作一系列字节。 每个文件以end-of-file标记或在操作系统维护的管理数据结构中记录的特定字节数结束。当一个文件打开,就创建了一个对象,流就和此

14.容器和迭代器

14. 容器和迭代器 14.1 引言 标准库定义了功能强大的、基于模板的、可重用的组件,这些组件实现了许多用于处理这些数据结构的常见数据结构和算法。这一节介绍的特性被称作标准模板库(STL)。 标准库的三个关键组件---容器(模板化的数据结构),迭代器以及算法。容器是能够存储几乎任何数据类型的对象的数据结构(有一些限制)。 迭代器具有类似于指 针的属性,用于操作容器元素 。内置数组也可以由标准库算

15.标准库算法

15.标准库算法 15.1 引言 无事可记 15.2 最低迭代器要求(Minimum Iterator Requirements) 容器的一个重要的部分就是它所支持的迭代器类型。这决定了容器可以使用哪种算法。例如,vector和array都支持random-access iterators。所有的标准库算法都可以用于vector,不改变容器大小的算法也可以用于array。采用迭代器参数的每个标准

16.异常处理

16. 异常处理 16.1 引言 异常处理使您能够创建可以处理(即解决)异常的应用程序,并在发生无法或不应处理的异常时执行适当的清理。 ‍ 16.2 C++ throw(抛出异常用法详解) 异常处理是许多现代编程语言中不可或缺的一部分,C++ 也不例外。通过使用 throw、try、和 catch 关键字,C++ 为程序员提供了强大的异常处理机制。 16.2.1 throw的基础用法 t

17.模板

17. 模板 17.1 函数模板(Function Template ) 1.Function template (函数模板) C++引入了带有泛型的函数模板 1.1. How to specify a type parameter? (如何声明类型参数)? 2.Multiple type parameters (多个类型参数) 若函数模板有多于一个类型参数该怎么处理? 应该类型参数间用逗号分

linux操作系统2-初始化

操作系统初始化: 1.配置CRT远程连接 vi /etc/sysconfig/network-scripts/ifcfg-ens32 BOOTPROTO=static 静态获取IP地址 ONBOOT=yes 启用该网卡 新增以下内容: IPADDR=192.168.1.100 IP地址 NETMASK=255.255.255.0 子网掩码 systemctl restart network 2.S

Css 伪类/伪类对象使用整理_使用案例

一、Css 伪类/伪类对象介绍 Css 伪类整理_Css 伪类对象整理_Css 伪类伪类对象使用 CSS Pseudo-Element Selectors伪对象选择符   二、Css 伪类/伪类对象 使用案例   1. Css3 伪元素::before和::after   2. Css 伪元素控制进度条_Css控制滚动条_Css ::-webkit-scrollbar

UM与PXE学习笔记

yum 1.1 概述 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 1.2 软件仓库的提供方式 FTP服务:ftp://...... HTTP服务:http://...... 本地目录:file:///...... 1.3 yum相关命令 yum list //查询软件包列表 yum list installed //当前已安装的软件包 yum lis

01.WIN11下安装WSL2+ubuntu 20.04

1.检查电脑是否开启了虚拟化。打开任务管理器,在性能页面,即可查看是否开启此选项。 如果电脑没有开启,需要在BIOS中开启,开机按F2,进入BIOS,找到【configuration】选项卡,【Inter Virtual Technology】,回车选择enable。 2.打开控制面板,点击程序和功能选项,再点击启用或关闭windows功能。 在上图所示的界面,勾选适用于Linux的Wind

<<  <  58  59  60  61  62  63  64  65  66  67  68  >  >>