iOS
[ABC134F] Permutation Oddness 题解
题面 定义一个 (1 sim n) 的排列 (p) 的「怪异度」为 [sum_{i=1}^nleftlvert p_i-irightrvert ]求「怪异度」为 (k) 的 (1 sim n) 的排列数,答案对 (10^9+7) 取模。 题解 考虑转化计算怪异度的过程,我们将值 (p_i) 排列在左侧,将下标 (i) 排列在右侧,构成一个 (n times 2) 的矩阵。将值和下标一一配对,定义配
CF1188D Make Equal 题解
题意 给定 (n) 个数 (a_1, a_2, cdots, a_n),每次操作可以给其中的一个数加上 (2) 的非负整数次幂。求最小的操作次数,使得这 (n) 个数相等。 题解 首先考虑如何计算操作次数,设 (maxa = maxlimits_{i = 1}^{n} a_i),如果我们把这 (n) 个数操作成了数 (x)((x ge maxa)),那么一共需要的操作次数为 (sumlimits_
2021 ICPC 上海 DEHI
2021 ICPC 上海 DEHI 链接:The 2021 ICPC Asia Shanghai Regional Programming Contest D. Strange Fractions 题意:给你(p,q),让你找正整数(a,b),使得(dfrac{p}{q} = dfrac{a}{b}+dfrac{b}{a})。如果不存在,输出(0) (0)。 思路:简单数学。推柿子+(gcd)
高精度加减乘除小数详解
高精度 简介 众所周知,在计算机中,每个数据类型都是有存储上限的,那么当数字特别大时应该怎么办呢?这时高精度就产生了。高精度的主要思想就是模拟手算,然后将结果存储到数组中去,相同的,小数也有精度问题,也可以使用相同的思路 存储 这里使用vector 来进行存储,因为这样不需要去管结果有多少位,直接使用push_back() 函数就行了,虽然和数组比起来会慢一些,不过差别也仅仅是常数而已 输入:定义
Tree Distances I
Tree Distances I 思路 先考虑只算节点 (1) 的答案,我们发现如果要每个节点都这么算一次的话,绝对会 我们发现,这种算法的瓶颈在于必须要每个节点都算一遍,而每算一遍都需要 (O(n)),所以才会超时,那么可以思考如何快速的求出答案(总共 (O(1)) 是不肯能的,别妄想了),对于相连的两个点,似乎是存在一些关系的,比如: 设 (f_u) 为 (u) 的答案,(g_u) 为子树根节
使用C++界面框架ImGUI开发一个简单程序
目录简介使用示例下载示例main文件设置ImGui风格设置字体主循环添加Application类中文编码问题界面设计关于imgui_demo.cpp创建停靠空间创建页面隐藏窗口标签栏创建导航页面创建内容页面隐藏控制台窗口打包程序总结待解决问题开发优势附件 简介 ImGui 是一个用于C++的用户界面库,跨平台、无依赖,支持OpenGL、DirectX等多种渲染API,是一种即时UI(Immedia
补题报告之S班暑训第五场
成绩 比赛经过 (text{A}) 题,想了想答案的范围,思路基本上就出来了(但是莫名其妙地挂了 (10) 分)。用时估计是 (20) 分钟左右。 (text{B}) 题,扫了一眼,由于我把它看成仙人掌了,导致没有去想正解,树和基环树的分还是很好骗的,时间估计是 (40) 分钟左右。 (text{C}) 题,看到 (k) 次方,我的直觉是用第二类斯特林数转化为下降幂的形式,看看能不能推出式子进行整
[数据结构]树上倍增
树上倍增 一、一点理解 最近遇到几个关于树上倍增问题。本人太菜,有时候想不到用倍增,这里做个总结。 树上倍增核心就是:(f[u][j]),含义是(u)向上跳(2^j)步到的位置,然后用(f[u][j] = f[f[u][j-1]][j-1])进行转移。 树上倍增常见应用就是:快速幂、线性(RMQ问题)、树(LCA问题)。 那么我们怎么去理解这个树上倍增呢? 由:介个大佬写的博客引发的思考。可以将倍
STM32单片机实现固件在线升级(IAP)
固件升级方案综述 单片机的固件升级方式有很多种, 1、ICP:In Circuit Programing,简单说就是在单片机开发时使用烧录器升级程序,比如使用J-Link烧录单片机程序。 2、ISP:In System Programing,在单片机内部实现了基于通信接口(如串口、I2C、SPI等等)的FLASH引导程序,配合厂家提供的烧录软件工具或自行开发的软件实现程序烧录。 3、IAP:In
ABC314 E和CF892 Div2D-E
ABC314 E E - Roulettes (atcoder.jp) 大致意思是给你n个轮盘,第i个轮盘等概率的p[i]个点数,玩一次c[i]价钱,问要达到m点的最小期望花费是多少,每次可以任意选一个。 乍一看很像背包,偏了方向,所以当时没有做出来。也考虑过其它的DP,关键是0怎么处理没搞明白所以赛后看他人的代码和题解 每次可以任选一个,也就说如果某个轮盘的期望最小,那就可以一只羊薅到秃。那我们
2023河南萌新联赛第(四)场:河南大学 C.卡片翻转
传送门 大致思路: 1. 发现一个很神奇的性质,无论是操作几的翻转,在同一行的始终在同一行,在同一列的始终在同一列。 2. 对于没有操作2的时候,我们只需要分开维护x轴和y轴哪两段区间翻转了即可,翻转用平衡树来写,这里选择的splay平衡树。 3. 对于有操作2的时候我们会发下进行两次操作2是会复原到原本的矩阵长宽,那么只进行一次操作2后续的操作1该如何维护,观察发现仅是行和列发生了交换,换成维护
我的BIOS之行1-Introduction
前言 想对自己在本月所学的东西做一个总结,因而产生了写本系列博客的冲动,由于工作较为繁忙,不能及时更新,敬请原谅 CPU Introduction & Multi-Processor 本节博客将简单介绍CPU的情况。 1、CPU简介 CPU – The Central Processor Unit is the hardware within a computer system which
我的BIOS之行2-Keyboard Controller 简介
Keyboard Controller 简介 主板的键盘有一块专用的接口芯片,一般是采用一块单片微处理器8042(现在大多已集成在南桥或SIO里)。它控制整个键盘的工作,包括加电自检、键盘扫描码的缓冲以及与主板的通讯。 INT 09H是H/W中断,对应IRQ1,INT 16H是一个S/W中断。当键盘的一个键被按下时,键盘接口芯片根据被按下的位置,INT 09H负责把键值转换成INT16H认识的值
我的BIOS之行3-UEFI的简介
UEFI的世界观 如果有人对BIOS有兴趣,那么不得不提UEFI了。当然笔者这边只是代码与说明的搬运工,通过UEFI组织的官方文档来带大家了解UEFI。当然您要是觉得笔者就是个DB,想直接翻UEFI的文档,不想看笔者的瞎逼文章的话,请直接点击这里,自行下载看就是了。 UEFI的简介 文章开头就开始介绍了UEFI的由来~~~,感觉风中在凌乱~ 并在构成介绍中说明第一章是 Introduces th
我的BIOS之行4-setup中建立选项
前言 目前我在使用的是AMI的visualeBIOS做开发,主要做笔记本的BIOS研发工作,前期一直在学习中,BSP的工作放在了一边,今天主要是向大家介绍如何在最新的UEFI2.0中加入相关setup选项 新建一个module 作为老司机,应该自己建立一个module来解释,那么你可以自己在veb文件中添加一个module,当然也可以直接用IDE自带的进行新建,components(右击)->
记录 FFmpeg开发常用功能封装
说明 记录下个人在开发中使用到的FFmpeg常用功能,避免相同功能代码的重复编写,使用时直接复制提升效率。由于音视频处理的场景众多,无法编写完全通用的方法接口,可能需根据实际场景进行一定的修改,本文章中的代码也将持续更新优化。 代码 这里提供ffmpegheader.h,ffmpegheader.cpp。配置好基本的FFmpeg库环境后,直接导入上述两个文件,即可直接使用对应功能。 更新记录
创建表空间及数据库用户
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行 学问:纸上得来终觉浅,绝知此事要躬行 为事:工欲善其事,必先利其器。 态度:道阻且长,行则将至;行而不辍,未来可期 ..................................................................... -------
[MAUI]在.NET MAUI中实现可拖拽排序列表
.NET MAUI 中提供了拖放(drag-drop)手势识别器,允许用户通过拖动手势来移动控件。在这篇文章中,我们将学习如何使用拖放手势识别器来实现可拖拽排序列表。在本例中,列表中显示不同大小的磁贴(Tile)并且可以拖拽排序。 使用.NET MAU实现跨平台支持,本项目可运行于Android、iOS平台。 创建可拖放控件 新建.NET MAUI项目,命名Tile 当手指触碰可拖拽区域超过一定
MAUI+Masa Blazor APP 各大商店新手发布指南-App Store篇
目录前言新手常见审核意见Guideline 2.1 - Information NeededGuideline 2.1 - Performance - App CompletenessGuideline 2.3.8 - Performance - Accurate MetadataGuideline 5.1.1(v) - Data Collection and StorageGuideline 4
C++黑马程序员——P228. pair对组
P228. pair使用——pair对组的创建 功能描述: 成对出现的数据,利用对组可以返回两个数据 两种创建方式: pair<type, type>p(value1, value2); pair<type, type>p = make_pair(value1, value2); #include <iostream> #include <stri
P1043. 弱密码检验
这道题,我看到大家做的情况我就知道不简单 WA惨无人道啊 所以这就是今天这个随笔的内容 先看题目 一些网站在设置密码的时候都会判断你的密码是否为弱密码,通常从字符种类,密码长度等作为判断的依据。但是有的时候密码中包含连续的数字也是弱密码,例如 Aa123456789 这样的密码也应该被判定为弱密码。现在需要你来实现一个程序,用于判断一个字符串里面是否有连续的数字。 连续数字的定义: 一直递增的
CF1859D Andrey and Escape from Capygrad 题解
思路 思考贪心,容易得出我们只有不断往右跳跃才能走得更远。 所以,对于一个线段 ([l, r]) 可以轻易到达 ([a, b]),那么只对 ([l, b]) 有用,这些点都可以跳到 (b),([b + 1, r]) 这一部分不能往回跳,所以不用考虑。 那么我们就可以把这些线段都当成 ([l, b]),然后我们可以想到将所有能到达线段合并(有点并查集的意思)。 对于询问的 (x),可以利用二分找到包
ORACLE常用命令
ORACLE常用命令 ORACLE常用命令查询或者的session(需要管理员权限)SELECT S.USERNAME, S.SID, S.SERIAL#, S.INST_ID, S.EVENT, S.WAIT_CLASS, S.LOGON_TIME, S.ACTION, SQ.SQL_TEXT FR
chatGPT用C++写的HMAC-SHA256函数
以下内容全为 chatGPT 生成: 在这个代码片段中,hmac_sha256函数接受一个密钥和一个数据字符串,然后使用HMAC-SHA256算法计算哈希值。然后,它将哈希值转换为十六进制字符串,并返回。 注意,你需要在你的系统中安装OpenSSL库,并在编译你的程序时链接OpenSSL库。你可以使用以下命令来编译你的程序: 在这个命令中,your_program.cpp是你的程序的源文件,y
Codeforces Global Round 15
Codeforces Global Round 15 A - Subsequence Permutation 思路:找出原串与排序后的串不同的个数 View Code B - Running for Gold 思路:要找出一个人比所有人都好,依次比较所有人,找出一个最好的,再检查此人是否比其他人都好 View Code C - Maximize the