-
加密文章
如题,这是篇加密文章 1919810 2c8509df0df65f9826dc872a9acfea532c1f53c7 ekS7QytY27onzlqtp4j15c0QY7vtz1yiXJjfq5aDp0s= Submit Read More
-
网络流学习笔记
写在前面 因为本人太菜,所以大部分东西都只有结论,没有证明。 以及如果真的想学习网络流的话,建议去看OI Wiki。 概述 一个网络 $G=(V,E)$ 是一张有向图,图中每一条边都有一个给定的权值 $c(x,y)$,称为边的容量,特别地,若 $(x,y)\notin E$,则 $c(x,y)=0$。图中还有两个特殊点,$S\in V$ 和 $T\in V(S\ne ... Read More
-
题解 P3369 【模板】普通平衡树
题意描述 链接 实现插入、删除、查找排名、查找第 $k$ 大、查找前驱、后继。 很明显的平衡树,但是这里我介绍一种非常规做法——分块。 虽然是 $n\sqrt{n}$ 做法,但是依据数据范围还是可以过的。 做法 首先我们需要处理一个难点:插入。因为一般的分块都是根据数组来实现,所以仅仅是插入就需要 $O(n)$ 的时间复杂度,并且会给维护带来一定的麻烦,这是所不能允许的。 所以需要上另外一种数据... Read More
-
数据结构学习笔记
很早就想写的东西,最近才有时间写。主要是不想改错 树状数组 支持维护前缀和或者是前缀最大值之类的东西,支持单点修改。 基本只有维护前缀才会想到这个,其余的情况用线段树替代。 Code int c[N],n; int ask(int x) { int ans=0; for(;x;x-=lowbit(x))ans+=c[x]; return ans; } void add(int x,in... Read More
-
题解 CF38G Queue
总是改的习惯还没改 做法 首先为了方便实现,我们先将整个队列反转一下,原问题就变成了在队列前 $c_i$ 个数中插入一个数(位置为 $k$),使得对于任意的 $1\leq j < k \leq c_i+1$ 都有 $a_j < a_k$。(很好理解吧。) 好了现在问题就解决了,先建一个以下标为权值的FHQ。 然后对于每次插入,先以大小分裂出 $x$ 和 $z$ 两棵树,然后再... Read More
-
题解 ABC292F Regular Triangle Inside a Rectangle
很久都没有写过题解了 题意描述 求一个矩形内最大的正三角形的边长。 做法 很多,就不给代码了。 下面 $a$ 为宽,$b$ 为长。 并且显然,三角形是矩形的内接三角形且一个顶点在矩形顶点上最优。 二分角度 首先来个分讨: 如果 $2a\le \sqrt{3}b$ ... Read More
-
GDB调试的探讨
爷来填坑辣。 PS:本Blog仅介绍本人常用用法,如有其他请在下面补充。 GDB 是什么 一种常见调试工具。 GDB 怎么下 自行百度搜索。 GDB 的使用 最开始,请在你的编译语句后面加一个 -g 。 开始的开始 首先,使用 gdb A 进入gdb并打开A。 当然,下面的也可以: gdb file A #确保这句... Read More
-
题解 CF1795C Tea Tasting
分析 正面想每个人能喝多少有点困难,但是可以从另一个方面想一杯茶能给多少人喝就做出来了。 不难理解,固定 $l$,$l$ 到 $r$ 的人喝的总量随着 $r$ 的增大而增大。 于是我们可以二分一杯茶可以提供给多少人喝,剩下的加到后面第一个没喝到的人头上。 要用前缀和和差分优化时间复杂度。 总体复杂度 $O(n\log{n})$,详情见代码注释。 代码 #include<iostre... Read More
-
编辑器和调试工具的探讨
前言 最近在这个文章下面与 black_trees 进行了一些探讨,有感而作。 编辑器和调试工具 Dev-C++ 入门级编辑器,简单易上手,缺点就是有亿点老,毕竟在11年就停更了1,所以可能不怎么支持C++14的什么新特性。以前我电脑上的还用的是 Dev 留下的旧 g++ ,然后在某次改错中,才发现不支... Read More
-
新的加密算法探讨
起因 最近EarthMessenger问我有没有什么好的加密方法,我几乎想都没想就说了这样一个方案: 方案 假设明文为 $S_1$ ,密钥为 $S_2$ 。 将 $S_1$ 和 $S_2$ 转换为二进制。 将 $S_2$ 后面粘贴本身,使 $S_2$... Read More