刷新
ATCODER ABC 450 C题解

ATCODER ABC 450 C [Atcoder ABC 450 C](C - Puddles) 题意概述: 二维字符数组中,找到联通的.的组合并且处在内部,没有点在最外层 难点: 因为想不到或者不知道这道题的算法是什么,我想枚举模拟,但是在枚举模拟的过程中,我发现,我模拟从一个串的开始到串的末 ...

密码学系列之C/Python编程实现AES算法

博主头像 AES 任务描述 编程实AES的加密和解密算法,对明文“0x3243f6a8885a308d313198a2e0370734”进行加密,采用密钥“0x2b7e151628aed2a6abf7158809cf4f3c”, 输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。 AES通常细 ...

Qt表格入门(优化篇)

博主头像 为提升大数据量下的渲染性能,本文通过 QStyledItemDelegate 直接绘制单选按钮(使用 QStyleOptionButton 和 drawControl),并在 editorEvent 中处理点击逻辑,避免创建真实控件,显著优化了加载与显示效率。 ...

Qt正则表达式同时匹配多个关键词

博主头像 摘要: 这篇博客实现了在Qt环境中利用正则表达式匹配多个关键字的功能。 关键词: Qt、正则表达式、搜索、分割、同时搜索、与、高级搜索、QRegularExpression 需求描述: 利用正则表达式实现多个关键词的搜索功能; 多个关键词之间是“与”的关系; 多个关键词之间用“-”符号连接。 版本: ...

Lambda表达式

博主头像 用法 C++11加入了Lambda表达式,这是现代编程语言的一个特点,lambda表达式的优点: 声明式的编程风格:就地匿名定义目标函数或者函数对象,不需要额外写一个声明函数或者函数对象。类似匿名内部类。 简洁:避免了代码膨胀和功能分散,让开发更加高效。 在需要的时间和地点实现功能闭包,是程序更加灵 ...

基于范围的for循环

博主头像 c++11基于范围的for循环,语法: for (Type declaration : expression) { // 循环体 } 在上面的语法格式中Type declaration表示遍历声明,在遍历过程中,当前被遍历导的元素会被存储到声明的变量declaration中。expression是要 ...

使用 C++ 模拟 ShaderLanguage 的 swizzle

博主头像 swizzle 语法 经常编写着色器的同学应该对 swizzle(重排)语法非常熟悉,方便又灵活,可以说是用过一次便回味无穷。 代码 vec4 color = vec4(1.0, 0.5, 0.0, 1.0); vec3 rgb = color.rgb; // { 1.0, 0.5, 0.0 } v ...

自动类型推导

博主头像 c++11中添加了自动推导变量的类型auto,以及decltype表示函数的返回值。 auto auto可以像别的语言一样自动推导出变量的实际类型。 在实际中,auto像是一个”占位符“,使用auto声明的变量必须要进行初始化,以让编译器推导出它的实际类型,在编译时将auto换成真正的类型。 语法: ...

P4168 [Violet] 蒲公英 (离散化+分块 在线查询区间众数)

博主头像 P4168 [Violet] 蒲公英 离散化+分块 在线查询区间众数 由于a_i范围是1e9的,记录a_i出现的次数不方便直接用数组记录,但是一共有n个数,我们就可以把它们排序去重,把a_i映射为在n个数中排第几,这样映射后的值域就小于n了,我们就能直接用数组记录了,这就是离散化 将长度为 n 的数 ...

数值类型和字符串之间的转换

博主头像 在C++11中提供了专门的数值类型和字符串类型之间的转换的转换函数。 数值转换为字符串 使用to_string()方法可以将各种数值类型转换为字符串类型,这是一个重载函,函数声明位于头文件中,函数原型如下: // 头文件 <string> string to_string (int val); st ...

关键字noexcept

博主头像 c++中通过throw关键字抛出异常,通过try{}catch{}捕获异常,在对应函数后添加throw()指定可以抛出的异常类型 #include<iostream> using namespace std; struct MyException { MyException(string str) ...

【C++】实现一个定时器

博主头像 前言 实现一个周期性调用类。通过TaskTimer构造函数设置周期,通过setTimerFun传入要调用函数和参数,start启动,stop停止。比如要每30秒发送一个心跳包可以把发送包的函数传入定时器,定时器会创建一个线程周期性发送这个包。 实现 TaskTimer主要有开始、停止、设置调用函数与 ...

李超线段树

博主头像 李超线段树模板及应用 李超线段树用于一系列平面上的一次函数,维护对于每一个 \(\texttt{x}\) 最大或最小的 \(\texttt{y}\) 值。 模板题 这道模板题非常全面,相比应用李超线段树的时候实现的东西要多的多: 一是给的是横纵坐标,所以斜率要用 \(\texttt{double}\ ...

CF161D Distance in Tree + 树上背包

博主头像 CF161D Distance in Tree DP状态定义 根据子树位置\(+\)路径长度的统计设计状态。 \(Dp_{u,j}\)表示在以 \(u\) 为根的子树中,到 \(u\) 的距离恰好为 \(j\) 的节点个数。 初始化 \[dp_{u, 0}=1 \]状态转移方程式 在合并子树时来统计 ...

断言及静态断言

博主头像 在c++11之前就已经有了断言,但是不是静态断言。 断言 断言是一种编程中常用的手段。在通常情况下,断言就是将一个返回值总是需要为真的判断表达式放在语句中,用于排除在设计的逻辑上不应该产生的情况。 一个函数总需要输入在一定的范围内的参数,那么程序员就可以对该参数使用断言,以迫使在该参数发生异常的时候 ...

<123···6>