
找工作
ITAK_fans
这个作者很懒,什么都没留下…
展开
-
并查集-找朋友
并查集input:第一行:n,m,p。(分别代表总人数,已知彼此是朋友的数量,需要判定是否是朋友的数量)m行:a b。(a,b是朋友关系)p行:a b.(需要判定a,b是否是朋友)output:对于后面的p行数据如果是朋友输出“YES”,否则输出“NO“做题步骤:通过已知朋友,确定关系,也就是父节点。然后由已知的关系,判定未知关系的父节点是否一致。#include<bits/stdc++.h> using namespace std; int mark[5005],f原创 2021-06-22 19:05:52 · 451 阅读 · 1 评论 -
2021-06-22-求字符串的子序列数
求一个字符串的子序列数,输入一个字符串s和子序列数的长度n,输出子序列数,输入:word,2输出:6解释:word的长度为2的子串有:wo,wr,wd,or,wd,rd解题思路:1、考虑使用组合公式C(s.size(),n),但是这样不能排除字符串中相邻的字符是相同的情况,比如s=“aaa”,n=2. 组合公式得到的结果是C(3.2)=3,但是实际答案只能是一种“aa”,所以直接组合公式是不正确的。2、使用深度优先搜索,对于重复的子序列用set去重#include <bits/s原创 2021-06-22 16:02:53 · 799 阅读 · 0 评论 -
区间内的字符转换
区间内的字符转换输入一个01字符串,输入n个区间,然后对字符串的n个区间做转换,0变1,1变0输入:10101 21 32 2输出00001解释:执行1 3变为01001执行2 2变为00001解题思路:差分数组#include <bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; vector<int> sum(s.size()+1),原创 2021-06-22 15:51:19 · 164 阅读 · 0 评论