跳至主要內容
Zxgaer

Zxgaer

这里是Zxgaer的个人网站喵

算法高效进阶-A班 比赛总结

A. 骑上彩虹

1
1

看到一个人想要骑上彩虹,那么他喜欢的所有人和喜欢他的所有人都必须一同骑上彩虹,考虑并查集,题目求彩虹能承载的最多人数,考虑01背包算法

首先将求并查集数组,路径压缩到根节点,新建数组peo[MAXN]peo[MAXN],表示根节点人骑上彩虹时同时要骑上去的人数,子节点设为0,新建数组aft[MAXN]aft[MAXN],表示根节点人上去需要的质量,从01背包的角度看,质量看成价值,人数看成占的容量就行了


Zxgaer大约 3 分钟竞赛算法
从暴力枚举到KMP算法

例1 给定两个字符串 S1S1S2S2S2S2S1S1的子串,输出S2S2S1S1中所有的起始下标


Zxgaer大约 3 分钟KMP算法字符串
【例题1】字符串哈希 的另一种做法

标答用的Hash,但我觉得STL厉害,我用set

#include<iostream>
#include<set>
using namespace std;
int n;
string a;
set<string> s;
int main() {
    scanf("%d",&n);
    while(n--) {cin>>a;s.insert(a);}
    cout << s.size();
}

Zxgaer小于 1 分钟set算法