iOS
2023-08-20:用go语言写算法。给定一个由'W'、'A'、'S'、'D'四种字符组成的字符串,长度一定是4的倍数, 你可以把任意连续的一段子串,变成'W'、'A'、'S'、'D'组成的随意状
2023-08-20:用go语言写算法。给定一个由'W'、'A'、'S'、'D'四种字符组成的字符串,长度一定是4的倍数, 你可以把任意连续的一段子串,变成'W'、'A'、'S'、'D'组成的随意状态, 目的是让4种字符词频一样。 返回需要修改的最短子串长度。 完美走位问题。 输入:s = "QQQW"。 输出:2。 解释:我们可以把前面的 "QQ" 替换成 "ER"。 来自华为OD。 来自左程云
点分树(动态点分治) 学习笔记
模板题 题目传送门 给定一棵树(带点权),支持以下操作: 修改点权。 查询到一个点距离 (le k) 的点的权值和。 (n,Tle 10^5) 算法解析 前置知识:点分治 我们考虑把每次求出的重心和上一层的重心连边,我们就可以得到点分树。 这棵树有以下性质: 树高为 (log n),也就是暴力找 LCA 的复杂度、暴力从一个点一路跳到跟的复杂度都是 (O(log n)) 所有节点为根的子树的大小
CQBZ Round 10
CQBZ round 10 心态考爆炸了,emmmm。 最大挂点:T5 原因: 主要:对二项式反演本质理解有问题。 次要:不会及时止损。 jump 不妨设 (h_0=0),且固定这个位置,则原问题化为找到一种排列,求出: [maxleftlbracesum_{i=1}^n(h_i-h_{i-1})^2rightrbrace ]将其拆开,化简,可以得到: [begin{align*} &su
DFS 序求 LCA
写在前面 学习于 skip2004 和 Alex-Wei 的博客。 DFS 序吊打欧拉序,赢! 定义 DFS 序:表示对一棵树进行深度优先搜索得到的 结点序列 时间戳 DFN: 表示每个结点在 DFS 序中的位置。 算法内容 先给出结论: 不妨假设 (operatorname{dfn}(u)< operatorname{dfn}(v))。 当 (uneq v) 时,(u, v) 的 L
重新学习一下new Date()
new Date()你知道多少 常见的日期格式有几种? new Date()可以接收4种形式的参数 第1种:不传递参数,创建当前当前日期和时间 第2种: 传递一个正确的日期字符串 第3种:传递一个时间戳 毫秒 第4种:传递 年、月、日、时、分、秒、毫秒 第5种: 传递1个表示时区偏移量的字符 我们的发现 如何判断是否是时间对象呢? 选择的时间必须大于当前时间 特别重
树莓派配置Opencv(C++)
首先准备一个摄像头,连接到树莓派上 树莓派配置 首先执行命令 进入设置页面后,之后按照下面步骤设置 选择 Interfacing Options 选择 Camera 点击 Yes 点击 Ok 之后重启树莓派 验证 执行命令 指令的意思是在当前的文件下照一张相,名字为test.jpg,之后使用树莓派自带的xdg-open打开test.jpg这个图片,命令为:
如何使用U盘安装Ubuntu 14.04
对于做运维的同学来说U盘装个系统不就是分分钟的事吗,这有什么好说的?可偏偏通过U盘安装Ubuntu却是问题重重,下面我们就来说说几个U盘安装Ubuntu Server时遇到的问题。 对于做运维的同学来说U盘装个系统不就是分分钟的事吗,这有什么好说的?U盘安装系统一般就是如下几步: 下载系统镜像。 通过刻录软件写入U盘。 修改BIOS,从U盘引导。 喝杯咖啡,愉快的等待安装完成。 通
H5移动端禁止页面缩放(使用Android和IOS)
标签说明: width: 设置viewport的宽度,正整数/字符串 device-width height: 设置viewport的高度,正整数/字符串 device-height initial-scale: 设置设备宽度与viewport大小之间的缩放比例,0.0~10.0之间的正数 maximum-scale: 设置最大缩放系数,0.0~10.0之间的正数 minimum-scale:
编程随想曲周刊(第42期)
这里记录每周的所见所闻,周日发布。点击阅读原文可以直接访问文章链接。 编程 科技爱好者周刊#267:5G 的春天要来了 灰狐和他的朋友们 工具 Arc 浏览器 「iOS」默沙东诊疗手册(大众版) 文章 「2023年度演讲全文」雷军:成长的经历和感悟 无需意志力的事情,更容易成功 从番茄时钟和记账本开始 厉害的狠人做决策,都不带感情 缅北电诈真相,比《孤注一掷》更黑暗 《孤注一掷》:细思极
dasctf2023 june toka garden & bios-mbr os 启动流程
前言 被纯真拉来看题楽。 日常忏悔没有学好操作系统。借着 dasctf 6 toka garden 了解了下操作系统 bios-mbr 的启动流程。 bios-mbr 启动流程 启动(boot)一词来自于一句谚语 "pull oneself up by one's bootstraps" ("拽着鞋带把自己拉起来")这当然是不可能的事情。最早的时候,工程师们用它来比喻,计算机启动是一个很矛盾的过
[AGC031B] Reversi
[AGC031B] Reversi 题面翻译 有 (N) 块石头摆成一行,从左数第 (i) 块石头的颜色是 (C_i)。 现在すぬけ会进行 (0) 次或若干次如下操作:选取两块颜色相同的石头并将两块石头之间的所有石头都染成与这两块石头相同的颜色。 求最终所有可能的石头排列方案数,答案对 (10^9 + 7) 取模。 思路 考虑 DP。 考虑第 (i) 个石头,如果第 (i) 个石头不修改,方案数仍
P9556 [SDCPC2023] A-Orders 题解
题目传送门 一道模拟题。 可以命名一个订单的结构体,然后将订单的结束时间进行排序。用一个变量模拟货物的数量,每遇到一个订单,货物的数量就会加上距离上一个订单的天数乘上 (k)。即对于第 (i) 个订单,距离第 (i-1) 订单货物数量增加了 ((a_{i}-a_{i-1})times k)。 如果在模拟过程中出现货物数量不够交付,输出 No。 Code
西农OJ P1005 装载问题
装载问题 问题描述 有两艘船,载重量分别是c1、 c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2。确定是否有可能将所有集装箱全部装入两艘船。 输入 多个测例,每个测例的输入占两行。第一行一次是c1、c2和n(n<=10);第二行n个整数表示wi (i=1…n)。n等于0标志输入结束。 输出 对于每个测例在单独的一行内输出Yes或No。 样例输入 样例输出
AtCoder 题目集2
AtCoder 题目集2 终于迈入了一个新的阶段,接下来希望质量能高一点吧。 现在我主要刷的是1600左右的题,毕竟实力太拉,只能按照 ”分上200“ 的策略。 (我觉得类型标个 “思维” 貌似没啥意义,毕竟AT几乎全是思维啊...) 编号(NO.) 题目 难度 类型 1 ABC201E 1694,medium 思维,XOR 2 ABC243E 1637,medium 最短路
C++ 类和结构体内外的Static
类和结构体外的Static 这里的static指的是在类外的static,意味着你要声明的是static的符号,链接将只在内部。(换句话说作用域只在他所在的.cpp文件)。 下面是几组例子来理解: 例子1: main.cpp static.cpp 编译将不会报错,运行结果: 此时static.cpp中的fun()因为被static修饰,只在static.cpp中有效。 例子2: main.c
C++ 构造函数与析构函数
构造函数和析构函数 构造函数 构造函数会在实例化对象的时候执行,可以在实例化时传入参数。 构造函数没有返回值。不需要声明返回值。 构造函数的函数名与类名保持一致。 析构函数 析构函数会在释放对象的时候执行。 析构函数没有参数,但是()不能省略。 完整例子:
C++ 成员初始化列表
成员初始化列表 成员初始化列表时对象初始化成员变量的一种方法。使用方式如下(两种书写习惯) 注意:C++ 初始化类成员时,是按照声明的顺序初始化的,而不是按照出现在初始化列表中的顺序。 下面是一段代码: 在这段代码中,我们使用了成员初始化列表给 m_name 做了初始化。但是 m_e 没有使用。 这段代码运行后,输出了: 可见我们实例化了两个Example对象。在声明 m_e 时创建了一个。
C++ const和mutable
const和mutable 这里只说const在c++中的特殊用法。用const修饰函数的成员函数。 被const修饰的成员函数无法修改函数内的其他成员。可以认为这个函数变成了一个“只读”的状态。 Like this: 而mutable意为“可变”,与const相反。上面说到被const修饰的成员函数无法修改函数内的其他成员。但是如果有一个成员函数被mutable修饰,就可以在const函数内修
C++ new和delete
new关键字 在C++中,当我们在函数内声明一个变量时,变量会被放在栈(stack)中。栈中的内存离开代码块就被释放了。而且栈的内存很小,当我们声明了大量变量可能会导致内存不足。 内存除了栈以外,还有堆(heap),当我们在函数外声明一个全局变量时,这个变量就放在堆上。堆是程序未使用的内存,可以被动态分配。当我们在堆上申请空间时,申请到的空间并不会自动释放,而是需要我们去手动释放内存。 new关键
C++ Vector数组优化
Vector数组优化 问题 这是一段没有优化的代码: 这段代码最终输出了六个Copied。 可见,效率很低。下面是优化方法(两个方法一起用): 方法一 通过上面的分析可以得到,造成重复copy的原因是因为vector存不下了,要变长。如果一开始就指定vector的长度,就可以避免这个问题。 使用reserve方法来规定vector的长度: 此时输出就只剩下三个Copied了。此时加上方法二,
C++ 创建库并使用
创建库并使用 !> 使用Visual Studio 2022 创建项目和解决方案 首先创建一个空项目,这里叫 Game,同时Visual Studio会帮你创建解决方案。这个项目是我们的应用程序。 创建项目来存库 !> 以静态库为例、 右键解决方案,添加新项目 Engine。 此时就有了两个项目, Game 和 Engine: 打开 Engine 项目的属性,将配置类型改为静态库