摘要: 背景 std::format在传参数量少于格式串所需参数数量时,会抛出异常。而在大部分的应用场景下,参数数量不一致提供编译报错更加合适,可以促进我们更早发现问题并进行改正。 最终效果 // 测试输出接口。 template <typename... T> void Print(const std:: 阅读全文
posted @ 2022-08-29 15:58 hchlqlz 阅读(665) 评论(0) 推荐(0) 编辑
摘要: c++14 获取枚举名 前言 之前写过一篇c++11 获取枚举名,这里使用c14 进行重构。c14 放松了对 constexpr 函数的限制,因此可以将解析枚举名的步骤移至编译期进行,从而也避免了通过在头文件定义并初始化变量来获得代码执行权的“骚操作”。 相较c++11 版本,本篇介绍的实现方案主要 阅读全文
posted @ 2022-03-26 16:37 hchlqlz 阅读(1649) 评论(0) 推荐(0) 编辑
摘要: 效果 ENUM_DEFINE ( Color, Red, Blue, ) EnumHelper(Color::Red) -> "Red" EnumHelper(Color::Red, std::toupper) -> "RED" 关键技术 __VA_ARGS__ __VA_ARGS__ 实现了可变参 阅读全文
posted @ 2022-03-11 16:05 hchlqlz 阅读(2038) 评论(0) 推荐(0) 编辑
摘要: 简介 在项目中,存在许多不规范的代码,其一就是将无符号变量赋值给有符号变量。在大多数情况下是不会出现问题的,因为那些变量值往往小于 2147483648。 但是一些特定的接口,如时间获取接口,可能返回一个较大的无符号值,如果使用 int 变量接收,便可能出现异常。当这些接口在项目中大量使用时,排查起 阅读全文
posted @ 2022-01-16 13:28 hchlqlz 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 维诺图(Voronoi Diagram),简单来说,是一种平面区域的划分方式。假设平面上有 n 个点:P1 ~ Pn,那么对应维诺图则划分成 n 个区域:S1 ~ Sn,并且 Si 内所有点到 Pi 的距离小于等于到其他任意点的距离。维诺图还经常和德洛内三角(Delaunay 三角网)扯上关系,德洛 阅读全文
posted @ 2019-05-05 09:59 hchlqlz 阅读(3214) 评论(6) 推荐(2) 编辑
摘要: 01、 有个易错点,我卡了好久,就是 1(012)#(1) 答案是1012,我刚开始把012的前导0去掉了。。。 03、 原题 05、 数位DP,记忆化搜索 dp[ p ][ q ][ limit ][ ceng ]:表示前一位是 p,前面处于递增(递减)状态q,当前位上限是多少limit,还有多少 阅读全文
posted @ 2017-08-18 17:22 hchlqlz 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 题目:魔板 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1430 题意:(中文题) 思路: BFS哈希打表+映射 哇。。好题啊,映射没想到。由于题目是求状态S到状态T的最短路,所以一开始就把打表排除了,后来看题解说可以映射+打表,因为每一步的行动和数字没 阅读全文
posted @ 2017-06-15 21:36 hchlqlz 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 题目:Bridged Marble Rings 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2174 题意:如图,要把所有灰色球移动到上圈,每次操作可以转图中虚线圈起的三个圆,求中间圆的最少转数。题目给出的是字符串,g代表灰色球,y代表黄色球,起始位置看 阅读全文
posted @ 2017-06-15 21:27 hchlqlz 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 题目:Mondriaan's Dream 链接:http://poj.org/problem?id=2411 题意:用 1*2 的瓷砖去填 n*m 的地板,问有多少种填法。 思路: 很久很久以前便做过的一道题目,状压DP,当时写得估计挺艰辛的,今天搜插头DP又搜到它,就先用状压DP写了下,顺利多了, 阅读全文
posted @ 2017-05-19 17:39 hchlqlz 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 先刷前四题,剩下的有空补。 792A New Bus Route 题意:给出x 轴上的n 个点,问两个点之间的最短距离是多少,有多少个最短距离。 思路:排序后遍历。 代码: 1 #include<stdio.h> 2 #include<algorithm> 3 using namespace std 阅读全文
posted @ 2017-04-24 11:14 hchlqlz 阅读(224) 评论(0) 推荐(0) 编辑