摘要: 样例:3 1 2 1 8 5 6 那么最长上升子序列就是1 2 5 6 朴素解法,复杂度n^2: 我们构建一个数组f[n],f[i]储存的是前i个序列中比第i个数小的序列个数,我们通过max(f[i],f[j] + 1);不断继承较小的序列个数 code: #include <iostream> # 阅读全文
posted @ 2021-11-17 21:51 Gsding 阅读(74) 评论(0) 推荐(0)
摘要: 反思:凭空想象,啥也不是,A题写错公式wa了一发,C题wa了好几发总算看懂了,结果被hack了吐了,又被扣分了www A. Mathematical Addition 传送门 题意: 求解这个公式的x,y **题解:**化简结果就是 code: #include <bits/stdc++.h> us 阅读全文
posted @ 2021-11-14 23:03 Gsding 阅读(64) 评论(0) 推荐(0)
摘要: 反思:又是被教训的一场比赛,好久没打了,又菜了很多,三个思维题苦思冥想也想不出来www A. A.M. Deviation 传送门 **题意:**三个数a1,a2,a3,求abs(a1 + a3 -2*a2)最小值,可以对三个数中的其中两个数加一,另一个减一,该操作次数不限 **题解:*多次列举会发 阅读全文
posted @ 2021-11-13 17:19 Gsding 阅读(83) 评论(0) 推荐(0)
摘要: xpath基础语法 xpath获取的标签是下标从1开始 import requests import csv import time from lxml import etree # xpath写法: ,xpath('/标签/标签/@属性/text()内容') #tree = etree.XML(s 阅读全文
posted @ 2021-11-06 16:51 Gsding 阅读(239) 评论(0) 推荐(0)
摘要: 这次获取的是电脑壁纸 我们打开这个网址 传送门 首先获取源码,三步走,url,user-agent,encoding编码方式,注意的是user-agent一个网站只获取一次就可以,它的子网页跟它一样 接下来将页面源码交给Beautifulsoup生成bs对象 bs 查找只有两个属性,find 和 f 阅读全文
posted @ 2021-11-05 08:41 Gsding 阅读(411) 评论(0) 推荐(0)
摘要: 这次爬取的是2021必看片下载地址 查看源代码,,我们能搜索到'2021必看片' 编码方式是: 首先我们获取的就是‘2021必看片’下面的列表嵌套的电影地址 获取地址之后,遍历每一个地址,在每个电影地址里查找下载地址 code: # 通过域名请求2021必看片 # 获取子页面地址 # 请求子页面地址 阅读全文
posted @ 2021-11-05 08:16 Gsding 阅读(176) 评论(0) 推荐(0)
摘要: 步骤:获取源代码 → requests 通过re提取有效信息 数据分析csv 首先开启检查查找url和user-agent 请求方式是get,那对应的就是headers,若是post,对应的是data 我们看到的url知识第一页,这里写个循环就可: with open('豆瓣Top250爬取.csv 阅读全文
posted @ 2021-11-03 21:58 Gsding 阅读(75) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-11-03 21:46 Gsding 阅读(24) 评论(0) 推荐(0)
摘要: 组合数公式 C(a,b) = C(a-1,b) + C(a-1,b-1) 对小数据范围直接套公式就可: code: #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N 阅读全文
posted @ 2021-11-02 09:33 Gsding 阅读(56) 评论(0) 推荐(0)
摘要: b|a → a 能整除b a = b(mod p) → p|(a-b) 简单的地说,在计算机中,我们让整数除以整数,不一定是整数,但整数乘以整数一定是整数。因此我们在求解整数相除,我们可以通过求他的逆元来计算 逆元一般是来求一个x,使得b*x mod m = 1 快速幂求逆元 #include <i 阅读全文
posted @ 2021-10-27 20:42 Gsding 阅读(61) 评论(0) 推荐(0)
摘要: A排位 传送门 **题解:**两个限定范围,前面至少有a人,那么就有n-a个空位,后面最多有b人,最多有b+1个情况(他本身和后面b个位置),这两者都要满足,我们取min即可 code: #include <iostream> #include <cstring> #include <algorit 阅读全文
posted @ 2021-10-27 17:00 Gsding 阅读(30) 评论(0) 推荐(0)
摘要: 总的来说挺失败的,签到题卡的比后面的题还要久,雀氏菜 A. Luntik and Concerts 传送门 A最简单但卡的最久,果然是思维题硬伤,写了一大堆还抵不过栋哥哥三四行代码,多吃点核桃补补呜呜呜 **题意:**给你三首分别为一分钟,两分钟,三分钟的歌,歌曲数量为a,b,c,把所有的歌安排到两 阅读全文
posted @ 2021-10-26 19:04 Gsding 阅读(24) 评论(0) 推荐(0)
摘要: A题 传送门 **题意:**把字符串最小的那个字符输出到最前面,剩下的字符不变全写在后面 code: #include <iostream> #include <algorithm> #include <cstring> #include <string.h> using namespace std 阅读全文
posted @ 2021-10-25 21:07 Gsding 阅读(25) 评论(0) 推荐(0)
摘要: **题意:**给定nn堆石子,两位玩家轮流操作,每次操作可以从任意一堆石子中拿走任意数量的石子(可以拿完,但不能不拿),最后无法进行操作的人视为失败。 问如果两人都采用最优策略,先手是否必胜。 必胜状态,先手进行某一个操作,留给后手是一个必败状态时,对于先手来说是一个必胜状态。即先手可以走到某一个必 阅读全文
posted @ 2021-10-25 19:31 Gsding 阅读(89) 评论(0) 推荐(0)
摘要: 与& 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 与运算”的特殊用途: (1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。 (2)取 阅读全文
posted @ 2021-10-24 20:40 Gsding 阅读(131) 评论(0) 推荐(0)
摘要: 裴蜀定理:若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。 它的一个重要推论是:a,b互质的充分必要条件是存在整数x,y使ax+by=1. 扩展欧几里得: 用于求解方程 ax+by=gcd(a,b) 的解 阅读全文
posted @ 2021-10-23 20:42 Gsding 阅读(55) 评论(0) 推荐(0)
摘要: C剪切 C题链接 **题解:**我们画图可以看出来,只要这个点在矩形内或者边界,就一定可以让矩形均分,一次面积就是矩形面积一半,只有这个点在矩形正中心,才有多种分割情况,其他的有且仅有一种分割情况 code: # include <iostream> # include <cmath> # incl 阅读全文
posted @ 2021-10-23 17:01 Gsding 阅读(44) 评论(0) 推荐(0)
摘要: 应lzd割割要求,现在补上b题 A windblume Ode A 题链接 **题意:**找出子集的最大个数,使得子集的和是合数 **题解:**先求这个集合本身总和sum,若sum是合数,那么直接输出就可。若不是,说明sum是质数,质数除了2,都是奇数,那么这个sum一定会有一个奇数因子,我们减去这 阅读全文
posted @ 2021-10-22 11:42 Gsding 阅读(42) 评论(0) 推荐(0)
摘要: 反思:这场比赛是在21/10/16队内赛下午打的,总的来说还是没状态,全靠队友了,自己题也看不懂,k题还没做完,队友就ac了两道题,雀氏是该多打打cf了 直接copy我的补题报告了,毕竟要给老师看的会写的更详细 A-Chuanpiao 这句话让我们猜了半天,实在想不出来跟题干有啥关系,后来直接忽略了 阅读全文
posted @ 2021-10-20 15:17 Gsding 阅读(1103) 评论(0) 推荐(1)
摘要: zookeeper安装链接 启动zookeeper:zkServer.sh start 输入命令:`zkCli.sh -server localhost:2181 显示以下内容即成功启动zookeeper服务: 输入help显示所有的命令 ls /显示zookeeper包含的内容 ls /命令可以列 阅读全文
posted @ 2021-10-19 14:42 Gsding 阅读(45) 评论(0) 推荐(0)
摘要: 整数幂 思路:判断b是不是a的n次方,在b%a=0条件下,只需要一直b/a,如果是n次幂,那么b/a最后结果就是a/a=1 代码: # include <bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ll 阅读全文
posted @ 2021-10-17 18:45 Gsding 阅读(28) 评论(0) 推荐(0)
摘要: 目录 如何求出1~N的素数个数呢 朴素版筛法 我们只要将素数的倍数全部筛掉就可以 代码 埃氏筛 int isprime(int n){ int cnt = 0; for (int i = 2; i <= n; i ++){ if (!st[i]) prime[cnt ++] = i; for (in 阅读全文
posted @ 2021-10-15 16:37 Gsding 阅读(101) 评论(0) 推荐(0)
摘要: 直接上代码了 啥也没讲 方法一 直接hbase shell → scan '表名' 方法二:Java api package hbasetest; import java.io.IOException; import org.apache.hadoop.conf.Configuration; imp 阅读全文
posted @ 2021-10-15 08:48 Gsding 阅读(440) 评论(0) 推荐(0)
摘要: 1、定义不同。 tr是一种HTML语言标签,代表HTML表格中的一行。th是定义表格内的表头单元格。td是代表HTML表格中的一个单元格。 2、用法不同。 tr标签是成对出现的,以开始,结束,表头单元格 - 包含表头信息(由 th 元素创建),标准单元格 - 包含数据(由 td 元素创建)。 3、关 阅读全文
posted @ 2021-10-13 16:45 Gsding 阅读(2530) 评论(0) 推荐(0)
摘要: @ mapreduce核心思想是分治 以下样例只涉及基础学习和少量数据,并不需要连接虚拟机 以下样例均可在系统创建的文件夹的part-r-0000中查看结果 MapReduce 经典样例 词频统计 在文件输入一定数量单词,统计各个单词出现次数 代码 package qfnu; import java 阅读全文
posted @ 2021-10-12 16:52 Gsding 阅读(197) 评论(0) 推荐(0)
摘要: 链接:树上有猴 题意:让任意时刻猴子数量都在[0,w] 题解:我们让猴子初始数量为x ,那么x就在0到w范围活动,每输入一个猴子变动的数量s, 那么0 ⇐ x + s ⇐ w ,也就是 -s ⇐ x ⇐ w - s。因此 后续不断输入s,要想维护这个不等式,左边的数值要取最大,右边的数值要取最小,来 阅读全文
posted @ 2021-10-09 22:32 Gsding 阅读(22) 评论(0) 推荐(0)
摘要: 题目链接:cf 478B 题解:求最大值,m队各分一个人,剩下n-m加到任意一个队伍,求(n-m+1)个人任选两个人成为好友,也就是组合数 求最小值,也就是尽量均分每组人数,有剩余人数则一个个加到剩下的队伍即可 代码: # include <iostream> # include <cmath> # 阅读全文
posted @ 2021-10-09 22:03 Gsding 阅读(65) 评论(0) 推荐(0)
摘要: @ Linux下实现增删改查 准备条件 首先在Linux系统大搭建好三台虚拟机,配置好Hadoop,zookeeper以及hbase 如果只是用hbase shell 实现表格操作,可以忽略03链接 01链接: Hadoop集群配置 02 链接hbase安装 03 链接:Linux hbase ja 阅读全文
posted @ 2021-10-08 20:07 Gsding 阅读(535) 评论(0) 推荐(0)
摘要: @ 试除法求约数 题目大意:输出n个数,分别输出这n个数所有的约数 # include <iostream> # include <algorithm> # include <vector> using namespace std; const int N = 1e5 + 10; vector<in 阅读全文
posted @ 2021-09-28 17:19 Gsding 阅读(186) 评论(0) 推荐(0)
摘要: vector(变长数组),倍增的思想,支持比较运算(按字典序) 定义:: vector <int> a; 定义:一个vector数组a vector <int> a(10); 定义:一个长度为10的vector数组a vector <int> a(10,3); 定义:一个长度为10的vector数组 阅读全文
posted @ 2021-09-28 17:18 Gsding 阅读(32) 评论(0) 推荐(0)
摘要: 题意:给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 1,点的编号为 1∼n。 请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。 输入:第一行包含两个整数 n 和 m。 接下来 m 行,每行包含两个整数 a 和 b,表示存在 阅读全文
posted @ 2021-09-28 17:18 Gsding 阅读(65) 评论(0) 推荐(0)
摘要: 重心的定义 重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 举个例子 我们去掉1,树将分为连通块(2,5,8),(3,4,6,9),(7),此时最大连通块点数是4,去掉点2,连通块为(8),(5),(1,4,7,3,6,9),最大连通块点数 阅读全文
posted @ 2021-09-28 17:17 Gsding 阅读(63) 评论(0) 推荐(0)
摘要: 红与黑 链接: ACWing 1113 #include <bits/stdc++.h> using namespace std; const int N = 200; int dx[5] = {1,-1,0,0} , dy[5] = {0,0,-1,1}; int h, w; char g[N][ 阅读全文
posted @ 2021-09-28 17:16 Gsding 阅读(34) 评论(0) 推荐(0)
摘要: 迷宫问题 链接: ACWing 844 #include <bits/stdc++.h> using namespace std; typedef pair<int,int> PII; const int N = 200; int g[N][N],f[N][N]; int m, n; int dx[ 阅读全文
posted @ 2021-09-28 17:15 Gsding 阅读(44) 评论(0) 推荐(0)
摘要: @ 又水了一篇博客呜呜,第一次尝试写DFS和BFS,做题也迷迷糊糊,看着大佬文章简单写了写总结,后续会补上DFS和BFS的题目。 BFS DFS介绍 DFS:深度优先搜索,又叫回溯算法。这个算法的核心就是不断的往更深的地方搜索,如果更深的地方搜索失败了,就返回来搜,是一个回溯的过程。 BFS:广度优 阅读全文
posted @ 2021-09-28 17:14 Gsding 阅读(538) 评论(0) 推荐(0)
摘要: DFS基本概念 深度优先搜索算法(Depth First Search,简称DFS):一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被 阅读全文
posted @ 2021-09-28 17:13 Gsding 阅读(64) 评论(0) 推荐(0)
摘要: @ 支持的操作: 合并两个集合 询问两个元素是否在一个集合中 基本原理 每个集合用用一棵树表示,树的根节点的idex就是整个集合的idex。每个节点保存了它的父节点,p[x] 表示 x 的父节点。 原理解释 在同一个acm队里,你我可能互不认识,但是你我可以通过有相同的朋友来成为朋友,也就是朋友的朋 阅读全文
posted @ 2021-09-28 17:12 Gsding 阅读(65) 评论(0) 推荐(0)
摘要: trie树 trie树又叫字典树 trie 高效地存储和查找字符串集合的数据结构 本质根据字符串的每个字符作为节点建树 凡是用到trie树,字符不会太多 # include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; in 阅读全文
posted @ 2021-09-28 17:11 Gsding 阅读(83) 评论(0) 推荐(0)
摘要: @ KMP算法及其相关概念 KMP算法是一个字符串匹配算法,对暴力的那种一一比对的方法进行了优化,使时间复杂度大大降低。KMP算法的作用是在一个已知字符串中查找子串的位置,也叫做串的模式匹配。比如主串s=“goodgoogle”,子串t=“google”。现在我们要找到子串t 在主串s 中的位置。· 阅读全文
posted @ 2021-09-28 17:10 Gsding 阅读(170) 评论(0) 推荐(0)
摘要: @ 栈和队列基本函数 #include 栈的头文件 #include 队列的头文件 定义栈如下: stack s; 定义队列如下: queue q; 栈的基本操作 s.empty() 如果栈为空返回true,否则返回false s.size() 返回栈中元素的个数 s.pop() 删除栈顶元素但不返 阅读全文
posted @ 2021-09-28 17:09 Gsding 阅读(30) 评论(0) 推荐(0)