【算法笔记】位运算详解

2022-10-18
0. 前言 突然想到位运算是个好东西,就来水一波文章了…… 注意:我把能想到的有关位运算的所有内容都放进来了,所以篇幅较长,请谅解!若有写的不清楚或者不够详细的地方欢迎在评论区补充,谢谢支持! 本文中参考代码均使用C++编写。 废话不多说,...
阅读更多

【算法笔记】树状数组/Binary Indexed Tree/Fenwick Tree

2022-08-20
前言 树状数组,即树形存储的数组,又称Binary Indexed Tree或Fenwick Tree。 抛开它树形的存储结构,这种神奇的数据结构的应用看起来与「 树」没什么关系: 有一个序列A=(A1,A2,…,AN)A=(A_1,A_...
阅读更多

【算法笔记】三种背包问题——背包 DP

2022-08-18
前言 背包(Knapsack)问题是经典的动态规划问题,也很有实际价值。 01背包 洛谷 P2871 [USACO07DEC] Charm Bracelet S AtCoder Educational DP Contest D - Kna...
阅读更多

【算法笔记】Kruskal/Prim算法——求解最小生成树问题

2022-08-15
前言 生活中经常遇到类似这种的问题: 公路修建 有一些城市,城市之间要修建高速公路,每两个城市之间都可以修双向的路。其中每两个城市之间修路都需要花费对应的金额。请问如何修路,使得总花费的金额最少,且任意两个城市之间都可以直接或间接通过修建...
阅读更多

【算法笔记】单源最短路问题——Dijkstra算法(无优化/优先队列/set优化)

2022-08-13
0. 前言 Dijkstra算法可在O(mlog⁡m)\mathcal O(m\log m)O(mlogm)或O(mlog⁡n)\mathcal O(m\log n)O(mlogn)的时间内求解无负权单源最短路问题。本文中,我们将详细介绍算...
阅读更多

【算法笔记】多源最短路问题——Floyd算法

2022-08-12
0. 前言 在图中,如果要求任意两点间的距离,则可以使用Floyd(O(N3)\mathcal O(N^3)O(N3)😉)和Dijkstra(O(NMlog⁡M)\mathcal O(NM\log M)O(NMlogM)😃)。对于比较小...
阅读更多

【算法笔记】树形DP算法总结&详解

2022-08-12
0. 定义 树形DP,又称树状DP,即在树上进行的DP,是DP(动态规划)算法中较为复杂的一种。 1. 基础 令f[u]= f[u]=~f[u]= 与树上顶点uuu有关的某些数据,并按照拓扑序(从叶子节点向上到根节点的顺序)进行DP\tex...
阅读更多

LINE Verda Programming Contest (AtCoder Beginner Contest 263) A~E 题解

2022-08-07
A - Full House 题目大意 来自一个掼蛋爱好者的翻译qwq 给定一副扑克牌中五张牌的编号A,B,C,D,EA,B,C,D,EA,B,C,D,E,判断这五张是否为一组“三带二”。(不懂的自行百度 数据范围:1≤A,B,C,D,E≤...
阅读更多

PyQt6/PySide6:账本项目前端制作【附完整项目地址】

2022-07-23
0. 前言 最近在家里闲着没事,正好又看到朋友@studentWheat发了篇用Tkinter做的账本,于是决定跟他一起改进这个程序。 屏幕截图: 1. 后端 后端主要是朋友做的,在这里就不多说了,放个代码: src/api.py f...
阅读更多

AtCoder Beginner Contest 260 A~F 题解

2022-07-19
A - A Unique Letter 题目大意 给定一个长度为333的字符串SSS。 输出SSS中出现正好一次的字母(任意,如abc中,三个字母都可为答案)。 如果没有,输出-1。 数据保证SSS的长为333,且由小写英文字母组成。 输入...
阅读更多