树状数组学习笔记
树状数组实例 一般情况下,数据结构我们都以 $1$ 作为起始下标。 lowbit $lowbit$ 操作是为了求出一个数字 $x$ 在二进制形态下,最低位的 $1$ 。 例如 $(110100)_2$ 中最低位 $1$ 的是 $(100)_2$ 。 $lowbit$ 求解的方法是,先将 $x$ 的二进制按位取反,然后 $+1$ ,再按位与原数字。 …
2022.1.29 练习赛题解
比赛链接 A - 考勤1 简单模拟 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t; cin >> t; whi…
2022.1.25 C++11与STL基本练习题解与代码
部分题目课上讲过,就不解释了。 A - Registration system #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int …
thumbnail
Algorithm-Library by st1vdy
这个项目是对XCPC竞赛中常用(?)算法以及常见模型的总结,将会长期更新。具体内容请查看GitHub:  GitHubst1vdy/Algorithm-Library  
2-SAT
定义 有 $n$ 个布尔变量 $x_0,x_1,\ldots, x_{n-1}$ 满足以下形式的逻辑表达式:$(x_i \cup x_j)\cap\cdots (x_u\cup x_{v})\cap \cdots = \text{true}$ 。要求你判断这些逻辑表达式是否能够同时成立,并给出一组构造方案的问题我们称为2-SAT问题(2-satis…
2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛)总结+题解
打的有点雪崩,不过最后勉强算是苟住了。 第一小时做的还行,虽然wa了几法,但是签掉1002、1004和1006还是比较顺利的,但是因为三个人好像都不是很会做1011埋下了伏笔。3个题之后,因为不是很会1011所以转头开了1005和1010,当时我感觉都是很简单的题,1005用二分随便搞搞就好,就是细节比较烦,准备找ydl写;1010我听完题意感觉太…
Hihocoder1147时空阵题解
幽香这几天学习了魔法,准备建造一个大型的时空传送阵。幽香现在可以在幻想乡的 $n$ 个地点建造一些传送门,如果她建造了从地点 $a$ 与地点 $b$ 之间的传送门,那么从 $a$ 到 $b$ 和从 $b$ 到 $a$ 都只需要单位 $1$ 的时间。同时这些地点之间在地理上是非常遥远的,因此来往他们必须使用传送门。现在幽香想要问你,有多少种建造传送门…
AtCoder Beginner Contest 189 题解
AtCoder Beginner Contest 189 题解 AC Codes A - Slot B - Alcoholic C - Mandarin Orange 寻找直方图的最大矩形。 单调栈经典问题。 D - Logical Expression 给定一个长度为 $n$ 且只含有 AND 和 OR 的逻辑序列 $S$ ,询问满足: \beg…
Project Euler 280 题解
一个 $5\times 5$ 的矩阵,初始时有一只蚂蚁位于矩阵中心点,矩阵底层(第五行)每一个单元格上各放有一个种子。现在蚂蚁每次将会随机朝某一个相邻单元格(四相邻)移动,每当蚂蚁遇到一个种子时,它会拿起种子(如果已经拿了一个种子就不能再拿了),当蚂蚁将种子搬运到第一行的某个空单元格后就会将种子放下。当第一行放满种子后,蚂蚁将会停止移动。询问蚂蚁的…
马尔可夫链(Markov Chains)
马尔可夫链 持续更新中。。。 1. 简介 1.1 定义 我们一般这样描述马尔可夫过程(也叫马尔可夫链):假设有一系列状态集合 $S=\{s_1,s_2,\ldots,s_r\}$ ,马尔可夫过程(Markov process)是从这些状态中的某一个开始,从一种状态连续移动到另一种状态。每一次移动被称为一步(step)。如果当前位于状态 $s_i$ …