摘要:
原文:https://www.cnblogs.com/magisk/p/8809922.html C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。 bitset常用构造函数有四种,如下: 1 bitset<4> bit 阅读全文
摘要:
*传送 FJ想按照奶牛产奶的能力给她们排序。现在已知有$N$头奶牛$(1 ≤ N ≤ 1,000)$。FJ通过比较,已经知道了$M(1 ≤ M ≤ 10,000)$对相对关系。每一对关系表示为“X Y”,意指X的产奶能力强于Y。现在FJ想要知道,他至少还要调查多少对关系才能完成整个排序。 这道题和F 阅读全文
摘要:
*传送 给定平面上的n个点,定义$(x_1,y_1)$到$(x_2,y_2)$的费用为min(|$x_1$-$x_2$|,|$y_1$-$y_2$|),求从1号点走到n号点的最小费用。 先给一段证明:给定三个x值,$x_1<x_2<x_3$。可得$x_2-x_1<x_3-x_2<x_3-x_1$,对 阅读全文
摘要:
*传送 FJ的$N(1 <= N <= 100)$头奶牛们最近参加了场程序设计竞赛:)。在赛场上,奶牛们按1..N依次编号。每头奶牛的编程能力不尽相同,并且没有哪两头奶牛的水平不相上下,也就是说,奶牛们的编程能力有明确的排名。 整个比赛被分成了若干轮,每一轮是两头指定编号的奶牛的对决。如果编号为A的 阅读全文
摘要:
背包问题应用场景给定 $n$ 种物品和一个背包。物品 $i$ 的重量是 $w_i$ ,其价值为 $v_i$ ,背包的容量为C。应该如何选择装入背包中的物品,使得装入背包的总价值最大?*01 背包 *01 背包特点: 给定 $n$ 种物品和一个背包 ( 每个物品只能选取一个)。物品$i$ 的重量是$w 阅读全文
摘要:
拓扑排序的过程大概是这样的:① 选择一个入度为0 的结点并直接输出。② 删除这个结点以及与它关联的所有边。③ 重复步骤①和②,直到找不到入度为0 的结点。 在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指 阅读全文
摘要:
破坏掉一些路径,修复他的代价就是该路径的长度,没有破坏的路径,修复它的代价是0(*链式前向星建图) SPFA求最短路: 1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #include <cmath> 5 #inc 阅读全文
摘要:
题目给定村庄建设的时间是从小到大排列的(*不用离散化了)。对于第一次查询,从村庄1开始,一直到第一个村庄未建成开始下一次查询(此时后面的村庄肯定都没建成),每次不断从上一个未建成的村庄一直更新到下一个未建成的村庄(以此保证更新的村庄已建设完毕),直到最后一次查询。 *floyd的代码: 1 for( 阅读全文
摘要:
把已经给出的串称为文本串,要在文本串中找的串称为模式串。特别地,前两位$(kmp[0],kmp[1])$为零。比如串$ABABAC$,它的$fail$应该为001230。已知第$i$位的自动机$kmp[i]$,要求第$i+1$位的。设$j=kmp[i]$。$kmp[i]$一定在i前面,$kmp[i] 阅读全文
摘要:
1 #include <cstdio> 2 #include<iostream> 3 #include <algorithm> 4 #include <cmath> 5 using namespace std; 6 #define ll long long 7 ll n; 8 ll B; 9 ll 阅读全文