iOS
BenchmarkDotNet
目录官方开源地址和文档How it worksChoosing RunStrategy简单使用示例BenchmarkDotNet打印列的含义Benchmark输出列Benchmark特性相关参考版权特别声明 官方开源地址和文档 GitHub:GitHub - dotnet/BenchmarkDotNet: Powerful .NET library for benchmarking 文档首页:O
《Effective C++》读书笔记
《Effective C++》读书笔记 之前看过一遍,不过草草了事。近日看了《深度探索C++对象模型》,想起《Effective C++》中的内容已经有些忘记了,所以重新温习一下。这篇笔记只挑选书中的一些重要内容进行记录。 条款07:为多态基类声明virtual析构函数 这一个条款几乎是面试中的高频问题,只需要回答,如果不将基类中的析构函数声明为虚函数,那么当我们通过基类指针删除派生类对象时,只会
std::count 函数
1. 函数介绍 std::count是C++标准库中的一个算法,用于计算给定值在指定范围内出现的次数。它的原型如下: 其中,first和last表示范围的起始和结束迭代器,value表示要查找的值。函数返回一个size_t类型的值,表示value在指定范围内出现的次数。 2. 使用场景 std::count函数在以下场景中非常有用: 2.1 统计数组中某个元素的出现次数 输出结果: 2.2
ABC 287 B - Postal Card
题目链接: 由于是可以和 (T) 的多个字符串相同而仅计数一次,考虑把 (T) 中的字符串用 (rm set) 存储已达到去重的目的。 注:(rm set) 的 (rm count) 返回 (1) 表示找到了该元素,返回 (0) 则说明没找到。
VS2015编译并配置boost 64位
1、下载boost 1.72.0,自Boost1.73后需要匹配C++14版本的编译平台了,对于VS2015下载1.73.0之前版本的boost库包均可 Boost Version History 2、解压后编译 打开下图cmd 进入解压目录中运行bootstrap.bat(进入到目录可以输入cd /d d:或者d:),会生成b2.exe 输入命令:b2.exe -j4 --bui
前端【TS】02-typescript【基础】【搭建Vite+Vue3+TS项目】【为ref、reactive、computed、事件处理函数、模版引用、组件的props、组件的emits 标注类型】【类型声明文件】【自定义声明文件】
前置 基于Vite创建Vue3 + TS环境 vite官方文档:https://cn.vitejs.dev/guide/ vite除了支持基础阶段的纯TS环境之外,还支持 Vue + TS开发环境的快速创建, 命令如下: 和.vue文件TS环境相关的工具职责说明 开发阶段 1. Volar工具对.vue文件进行实时的类型错误反馈 2. TypeScript Vue
电平笔记(二):MIPI DPHY电平:XAPP894
模拟MIPI D PHY的电平: 实现失败:放置设计错误 I/O 端口“mipi_phy_if_0_clk_hs_p”是差分端口,但具有单端 IOStandard 值LVCMOS18。 (xilinx.com) D-PHY Solutions Application Note (XAPP894) (xilinx.com)
前端【TS】03-typescript【基础】【Pinia】
介绍 什么是Pinia Pinia 是 Vue 的专属的最新状态管理库 ,是 Vuex 状态管理工具的替代品 手动添加Pinia到Vue项目 1. 使用 Vite 创建一个空的TS + Vue3项目 2. 按照官方文档安装 pinia 到项目中 Pinia基础使用 - 计数器案例 1、定义store 2. 组件使用store
Windows 上左键按住窗口标题栏的阻塞和等待500ms"退出"阻塞两个行为的小研究
之前就注意到一个现象就是 windows 的窗口被右键菜单栏弹出菜单后或者按住右键后整个程序似乎会被冻结, 而对于游戏更是直接像停掉了主循环一样. 除此之外左键按住窗口也会有同样的效果, 但是例外是部分游戏会被阻塞 500ms 后恢复, 而有些干脆没受到影响. 不过这个问题看上去重要性不大所以之前一段时间没去在意它. 这一段时间摸 win32 和游戏相关的内容比较多, 发现左键按住默认的行为是直接
ABC 287 C - Path Graph?
题目链接: 首先根据条件 $- 对于所有 i=1,2,…,N−1,有一条边连接顶点 v_i $ 和 (v_{i+1}) 可以得到,路径图必须有 (N-1) 条边。 其次, If integers (i) and (j) satisfies (1 leq i, j leq N) and (|i - j| geq 2), then there is no edge that connects vert
对象传参、返回与接收的优化
C++的编译器会给一个空的类提供六个函数 默认构造函数 析构函数 拷贝构造 拷贝赋值 移动构造 移动赋值 在提供构造函数时,编译器将不再提供默认构造。 这些函数在对象传参、返回对象、接收对象时会自动调用,所以有必要进行相应的优化,减少这种隐式调用。 以下面这段代码为例: 运行结果如下: 不同编译器可能执行结果不同,对编译优化的设置也会影响运行结果。 优化效果还是很明显的,优化前有四
寻找不变值求可变值(排名)
题目链接 https://codeforces.com/problemset/problem/1153/D 题目大意 题目思路 定义dp[u]为u节点在其子树中的排名为多少? !太妙了! 题目代码
ABC350题解(E-G)
E 直接搜一下 (N) 的可能到达的值的个数,发现不多(大约 (10^4) 个),直接暴力 dp(记忆化搜索)。 转移式 (f_i=max(X log_{A}N,dfrac{sumlimits_{j=1}^6f_{i/j}}{6}+Y))。 化简得到 (f_i=max(X log_{A}N,dfrac{left(sumlimits_{j=2}^6f_{i/j}right)+6Y}{5}))。 F
AtCoder Beginner Contest 350 解题报告
AtCoder Beginner Contest 350 A - Past ABCs 当且仅当串为 (texttt{ABC000},texttt{ABC316},texttt{ABC350}simtexttt{ABC999}) 时输出 (texttt{No})。 (本人因 (000) 挂了一发。) B - Dentist Aoki 模拟。 C - Sort 对于每个 (i=1,2,ldots,
【CSP】201909-3 字符画
大模拟,but intersting!因为我在MacOS上写代码,所以确实能看见颜色控制字符如何控制终端颜色,非常的漂亮啊(赞赏)。 总之大约用时2h,最后30min排查bug,没认真读题导致的。写这种大模拟的思路还是解耦模块分别测试。 有时候实在不想做算法题就写下大模拟放松心情,因为确实不用动脑子。也许是C++非常适合造轮子的缘故。 AC代码
AtCoder Beginner Contest 350 (小白来了)
这一场 整体感觉还行. A - Past ABCs 思路: 题意需要计算已经结束的比赛 其中1 ~ 349属于已经结束的比赛, 其中316没有计算进去 模拟即可 Code: #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.t
[ABC350] 赛后总结
[ABC350] 赛后总结 AK 之。 A 模拟 B 模拟 C 贪心,每次和当前位置下标交换,维护映射。 D 连通块内完全图。 E 直接记忆化搜索即可,状态不多。 F 【模板】文艺平衡树 也可以利用括号匹配的性质递归做,但是文艺无脑好调快。 G 按度数根号分治,对于两个点度数都很大的情况需要支持 __builtin_clz 函数,但是我不知道,所以这一部分暴力过掉了。 启发式合并也可以
1.Lab-2 system calls
Lab: system calls 1.Using gdb (easy) 打开两个shell,都进入xv6文件夹 Looking at the backtrace output, which function called syscall? 所在的函数是kernel/trap.c --> usertrap() What is the value of p->trapfram
P7981 [JRKSJ R3] system
P7981 [JRKSJ R3] system 建图 看到这题,容易想到 (irightarrow a_i),那么这个过程实际上形成了基环树森林。接下来分析操作在图上的变化。 我们以环上的每个节点作为根,手玩之后就可以发现,经过 (k) 次操作后,每个节点的值就是 (2^k) 级父亲(包括自己)。虽然这样不够严谨,因为跳完之后会在环上绕圈。由于每棵树的深度 (le log n),我们可以先做 (l
《算法竞赛进阶指南》 第六章 291. 蒙德里安的梦想 状态压缩DP
https://www.acwing.com/problem/content/293/ 解答 使用数字的二进制表示方块的摆放 1 则表示 竖直放置,下一行对应的列 则需要标记为0 表示不放才可行 0 表示不放 上一行对应的列是竖放的 或者表示横放的一部分。 所以抛开上一行的影响(curr | prev),必须偶数个0连在一起。 同时两行相同的位置上不应该出现两个1(curr&pre
P3354 [IOI2005] Riv 河流
P3354 [IOI2005] Riv 河流 树形 dp 我们很容易套路地用 (f_{u,i}) 表示在 (u) 子树中,(u) 节点放了 (i) 个伐木场的最小花费。但是这样无法转移,原因是无法表示路径长度,也无法知道运送数量。 所以我们现在考虑增加状态,能够表示出距离。只考虑 (u) 节点的花费,其木头要运送上去,一定会走一段 (u) 到某个祖先的一段距离,如果这个祖先有伐木场,那么距离就是这
POI2011Lightning Conductor
POI #Year2011 #dp #决策单调性 令 (dp_i=maxlimits_{j=1}^{i-1}{a_j+sqrt{i-j})}) (w(j,i)=sqrt{i-j}) 满足四边形不等式 所以这个 (dp) 具有决策单调性,分治维护
POI2011LIZ-Lollipop
POI #Year2011 #构造 #妙妙题 假设能取到 (x),那么 (forall y) , (x,y) 奇偶性相同,(x>y) ,(y) 一定可以是 (x) 的一个子区间,处理奇数和偶数的最大值,离线,从大到小做
POI2011INS-Inspection
POI #树上问题 #贪心 考虑什么样的点合法,这个点需要尽可能的均匀的子树,手摸几个发现,当且仅当这个点是重心的时候是可行的 那么贪心的来说,我们希望最后一个不需要回来的路径长度尽可能的大,搜索就可以做到 特判当有一个子树的 (siz) 为 (frac{n}{2}) 时,最后的路径一定在这棵树内
POI2011KON-Conspiracy
POI #Year2011 #数学 考虑按照 (deg) 排序,然后暴力加入,这样可以得到一个极大的子集 方案数分两种,一种为从团内去掉一个 (deg=siz-1) 的点,或者是将一个团外的 (deg=siz-1) 的点与一个团内的交换
【CSP】202109-4 收集卡牌
题目大意: 小明抽卡,卡池共有n张卡,每张抽到的概率为pi,且每张重复的卡可以兑换成硬币,k个硬币可以兑换任意一张卡(硬币会攒起来在恰好可以兑换所有n张卡的时候一次性兑换)。问小明得到n张卡的期望抽卡次数是多少。(n<=16) 分析: 氪佬小明一看到n<=16就知道要状压dp,思路就是存储每一个状态的概率,答案就是对于所有满足条件的状态 求和{状态概率*状态抽牌数}。 故设dp[i][