自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 【无标题】

从曾经的ACM到Kaggle,从AAAI、WWW到KDD,有人问我就这么放弃百万年薪后悔么,我想告诉你,对于职业的选择我至今从未后悔过;但要是你问我从这一刻起可能要放弃竞赛,放弃科研了,你后悔么,可能还是会后悔吧。我仍旧怀念在101实验室熬夜打codeforces的每一个日日夜夜,我仍旧怀念在315教室在键盘上翩翩起舞的每一次努力,我仍旧怀念在11327工位上彻夜看论文跑实验的每一次尝试,可是啊,故事的最后可能还是要说再见了!欠了好几年的生涯总结帖想在入职前的一天晚上好好补上,不会下次一定了,这次一定!

2023-07-18 00:18:41 96

原创 牛客小白月赛68

小白月赛68

2023-03-12 14:57:25 441 1

原创 牛客月月赛48

小白月月赛48写在前面:感觉实习之后好久好久没有更新blog了,昨天人生中第一次找女孩子搭讪要到了微信,到现在都感觉有点心跳过快(怂比本比了)。恭亲王府之行也因为一大早的突击核酸又搁置了,今天不想看论文趁闲打了场重现赛,除了手速不如以前了感觉一切还是在本科实验室时的情形,还是蛮开心的。比赛网址A. 孤独的数组思路: Ai-1和Ai暴力求gcd即可,如存在gcd不为1,输出-1,否则输出0。代码:#include <bits/stdc++.h>#define ll long lon

2022-05-03 23:45:30 524

原创 机器学习数据倾斜处理手法

1. SMOTEsmote属于过采样,但过采样过程中采用了KNN,具体的算法实现流程如下图。具体代码实现如下:参考链接:https://blog.csdn.net/panda_zjd/article/details/79200493#!/usr/bin/env python2# -*- coding: utf-8 -*-from sklearn.neighbors import NearestNeighborsimport numpy as npimport warningsfrom

2021-11-08 16:06:46 1100

原创 2021-10-24

1. RNNx 为当前状态下数据的输入, h 表示接收到的上一个节点的输入。y为当前节点状态下的输出,而 h’ 为传递到下一个节点的输出。通过上图的公式可以看到,输出 h’ 与 x 和 h 的值都相关。而 y 则常常使用 h’ 投入到一个线性层(主要是进行维度映射)然后使用softmax进行分类得到需要的数据。对这里的y如何通过 h’ 计算得到往往看具体模型的使用方式。通过序列形式的输入,我们能够得到如下形式的RNN。2. LSTM2.1 什么是LSTM长短期记忆(Long short

2021-10-24 22:00:56 211

原创 C++知识点总结

C++知识点总结回调函数:程序通过参数把该函数指针传递给其他函数,在那个函数中调用这个函数指针就相当于调用这个函数,这个过程就叫回调,而被调用的函数就叫回调函数。回调函数的本质就是函数指针传递。函数指针和指针函数的区分(后面是本质):函数指针:指向一个函数的指针,如int (*fun)(int x,int y),调用时可以用 * 取具体值的方式来调用函数;指针函数:返回值是一个指针,但其本质还是一个函数,如void f(int a,int b)。C++可以使用全局函数和静态函数作为回调函数。考虑

2021-05-08 19:17:47 80

原创 Redis源码阅读笔记(三)

Redis源码阅读笔记(三)数据库键空间redis数据库结构体定义typedef struct redisDb { // 数据库键空间,保存着数据库中的所有键值对 dict *dict; /* The keyspace for this DB */ // 键的过期时间,字典的键为键,字典的值为过期事件 UNIX 时间戳 dict *expires; /* Timeout of keys with a timeo

2021-05-07 21:17:21 77

原创 Redis源码阅读笔记(二)

Redis源码阅读笔记(二)数据类型的实现一般来说redis中的每种数据都是创建了一个key,value键值对对象来存储,key必定为字符串,而value才为笔记(一)中的数据类型。数据对象的结构体定义typedef struct redisObject { // 类型 unsigned type:4; // 编码 unsigned encoding:4; // 对象最后一次被访问的时间(日后会说) unsigned lru:REDIS_LRU_

2021-05-07 17:20:00 84

原创 Redis源码阅读笔记(一)

Redis源码阅读笔记(一)1. sds 动态字符串结构体定义// 类型别名,用于指向 sdshdr 的 buf 属性typedef char *sds;//保存字符串对象的结构struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int free; // 数据空间 char buf[];};sdslen获取sds动态字符串长度/* * 返回 sds 实际保存的字符串的

2021-05-06 17:13:54 64

原创 Java中常见知识点总结

Java中常见知识点总结fail-fast机制: 一般发生在某个容器用迭代器遍历这个容器的过程中发生了更改这个容器结构的操作,就会引发fail-fast快速失败并抛出异常。arraylist和linklist: arraylist底层是动态数组,linklist底层是链表。线程池内部参数及原理: corePoolSize(核心线程数) maximumPoolSize(线程池最大容量) queueCapacity(阻塞队列容量)、keepalivetime(保活时间) allowCoreThreadTi

2021-05-03 22:30:53 46

原创 JAVA spring框架学习笔记(三)

JAVA spring框架学习笔记(三)AOP(面向切面编程): 相较于oop面向对象编程来说,AOP关注的不再是程序代码中某个类,某些方法,AOP考虑的更多是一种面到面的切入,即层到层的一种切入。AOP的应用: 主要应用于日志记录、性能统计、安全控制、事务处理等方面。AOP的特点:降低模块间的耦合度,提高业务代码的聚合度(高内聚低耦合)提高了代码的复用性提高系统的扩展性可在不影响原有功能的基础上添加新功能...

2021-04-30 21:24:48 79

原创 JAVA spring框架学习笔记(二)

JAVA spring框架学习笔记(二)javabean的lazy_init属性为什么默认设置为false,即为什么bean默认是不使用懒加载的。原因有两个:使用懒加载,在使用这个bean对象时才会发现问题,无法提前知道存在的问题,容易有隐患。在使用时才去加载它,会导致使用速度变慢,影响相应时间。...

2021-04-28 16:20:55 106

原创 JAVA spring框架学习笔记(一)

JAVA spring框架学习笔记(一)spring中大体可分为两块 IOC (控制反转、依赖注入)和 AOP (面向切面编程)IOC中Bean的实现原理:在xml文件中有bean标签id和class,id用来唯一标明bean对象,class用来记录对象文件路径。对xml文件进行解析取出xml文件中的id和class放入一个beans集合中,通过遍历这个beans集合将bean对象和其对应的bean_id用map进行映射getbean方法传入一个id后可在这个map中直接返回一个已经初始化的be

2021-04-27 15:32:01 113 1

原创 java多线程笔记

java多线程可用线程池来实现。java有四类线程池:newCachedThreadPoolnewFixedThreadPoolnewSingleThreadExecutornewScheduledThreadPoolnewCachedThreadPool: 用来创建一个可以无限扩大的线程池,适用于负载较轻的场景,执行短期异步任务。(可以使得任务快速得到执行,因为任务时间执行短,可以很快结束,也不会造成cpu过度切换)newFixedThreadPool: 创建一个固定大小的线程池,因为采

2021-04-24 17:54:45 51

原创 java中堆内存结构

java堆内存是所有线程所共享的,堆内存可分为新生代和老生代,而新生代又可分为一个Eden区和两个Survival区,这两个Survival区分别为Survival_from和Survival_to,这两个survival区轮流做survival_from和survival_to。新生代中常用的垃圾收集算法为minorGC,假设这两个survival区分别标号为S0和S1,当Eden区第一次满了之后,jvm执行minorGC将Eden中仍就存活的对象放入S0中;当Eden区第二次满了知乎,jvm继续执行m

2021-04-23 18:59:01 393

原创 牛客练习赛80

牛客练习赛80总结: A了三题,凭着手速冲上了前50,这场的神仙估计都参加春招去了,榜首才出了4题,活久见。A. 加密很常规的简单模拟,大方向是先算出由1形成的段共几段,然后通过一次反转至多可以减少掉一个1子串。考虑几种情况:当两个连续的1形成的块中间隔了超过1个0时,将中间的0直接反之显然没什么意义。当两个连续的1形成的块中间隔了1个0时,将中间的0反转即可减少一个子串。当有一个1两边都是0的时候,将这个1反转也能减少1个子串。当1出现在最左侧或者最右侧的时候,只要旁边的是0也能消除一个

2021-04-10 21:06:11 136

原创 牛客练习赛79

牛客练习赛79A. 炼金术师单调栈裸题,很容易想到对于每一次的粉刷,都要找到他上一次粉刷到的比他大的区间(就是单调栈中栈顶的下一个元素),在他的基础上加一种颜色。最后的结果只是判一下单调栈中最后存在多少个数。代码#include <bits/stdc++.h>#define ll long long#define mem( f, x ) memset( f, x, sizeof(f))#define pii pair<int,int>#define fi first

2021-03-27 16:29:44 93

原创 3-24 阿里春招笔试(淘系)

最后一分钟AK,有点惊险。A. 很简单的线性dp,给定n和n个元素(下标1-n),玩家初始位置在1处,现有两种操作,向前走一步和向前走两步,设当下玩家在i处,向前走一步到i+1处只能拿到第i+1个位置一半的值即a[i+1]/2,走两步可以拿到i+2个位置全部的值,即a[i+2],问玩家走到最后总共能拿到最大值为多少。状态转移方程:dp[i] = max( dp[i-2]+a[i], dp[i-1]+a[i]/2)代码#include <bits/stdc++.h>#define ll

2021-03-24 10:12:49 302

原创 牛客小白月赛32

牛客小白月赛32A. 拼三角签到题,暴力DFS选C(6,3)即可,由于三个边有大小关系,前期排个序,可以利于后期三角形判别,选的三个数必定由小到大,a < b < c,只需判a+b > c即可。代码#include <bits/stdc++.h>#define ll long long#define mem( f, x ) memset( f, x, sizeof(f))#define pii pair<int,int>#define fi firs

2021-03-23 23:28:21 1554 3

原创 单调栈和单调队列

单调栈和单调栈网上关于这两个数据结构的用法总结的并不多,自己也是学一次忘一次,趁着在准备实习面试,再做个总结。学习网址这篇帖子讲的很形象,关于单调栈的用法,只要记住,一个诀窍“我是被比我牛逼的人赶走的即可”。作用就是,求排队过程中那个排我后面,他来排队的时候强行把我赶走的人即可。单调栈 :单调栈主要可以求数组里边,在我右边第一个比我大或小(就是比我牛逼的人),至于左边第一个被我牛逼的其实已经存在栈里边了,排你前边的你打不过,所以你才没插队。单调栈求的是未来值。模板:#include <bi

2021-03-21 16:27:12 99

原创 二维01背包路径输出

P1759 通天之潜水主要回顾一下背包路径记录问题,dp问题的路径输出主要需要记录状态转移方程中状态是从哪一状态转移而来的。例如01背包中的状态转移方程dp[i][j] = max(dp[i][j], dp[i-1][j-w[i]]+v[i]),需要用path[i][j]=1来表示取了第i件物品,即dp[i][j] < dp[i-1][j-w[i]]+v[i] ( 若是要求字典序最小这里便不能加等号),回溯时只需要回溯到path( i-1, j-w[i] )状态即可,利用后序遍历可输出路径。代码实

2021-03-18 20:54:36 312

原创 Kaggle riiid 拿银总结

Kaggle 首战拿银总结比赛起止时间: 2020.10.12 - 2021.1.5个人比赛账号: Kwjdefulgn比赛项目简介: 官方给了一个5个G的压缩包,里边有三张表格,分别是train lecture 和 question,我们需要根据这三张表中的做题信息来推测出该用户下一次再遇到某一道题目时的答题正确率。train表 中主要是用户的一些做题信息,主要字段包括user_id,问题或者讲座的id即content_id,题目类型content_type_id(1代表讲座0代表问题),做题的

2021-03-16 16:14:42 212

原创 位运算总结

位运算总结操作(这里的第i位都是指二进制位)运算取n的第k位n>>k&1取 n的0~k-1位(n的后k位)n&((1<<k)-1)将n的第k位取反n^1<<k将n的第k位 置1n|1<<k将n的第k位 置0n&(~(1<<k))lowbit(n)n&(-n)关于lowbit运算的理解: lowbit(x)是指将x的二进制表示的最低位的1及其之后的

2021-03-10 13:55:32 37

原创 树状数组去绝对值模型

最近复习树状数组的时候解决了一些以前遗留下的有关去绝对值的题目,在这里总结了一片blog

2021-01-20 11:14:28 101

原创 Tarjan 算法及其应用

Tarjan 算法及其应用NO.1 求强连通分量学习链接: https://www.cnblogs.com/shadowland/p/5872257.html学习心得: dfn[cur] 记录访问 cur 结点的时间戳,low[cur] 记录 cur 结点及其子树中时间戳最小是多少,显然当访问 cur 结点的子节点 to 时,若 dfn[to] 不为0,则 to 结点到 cur 或 cur ...

2021-01-20 11:13:34 215

原创 2020-10-15

python中对于axis的理解当axis用于比较时如加减乘除,axis=0代表第一维(行)比较,axis=1代表第二维(列)比较当axis用于涉及整行整列的整体运算时,axis=0代表整列,axis=1代表整行

2020-10-15 15:36:58 40

原创 DP入门之动态序列问题

DP中涉及了很多有关序列的问题及其由此衍生的相关问题,这里写一篇blog对dp入门中的一些经典的动态序列问题做一个总结。

2020-05-28 14:18:17 168

原创 AtCoder Beginner Contest 167 Solution

AtCoder Beginner Contest 167 Solution题目链接: AtCoder Beginner Contest 167A,B不做解释C - Skill Up解题思路: 前期被题面卡了一下,以为是个DP,后来看到 1≤N,M≤12 的数据范围马上暴搜,复杂度O(M*2^N),1e4左右。代码实现:#include <bits/stdc++.h>#define ll long long#define mem( f, x ) memset( f, x, size

2020-05-11 18:47:53 88

原创 AtCoder Beginner Contest 163 F.path pass i

AtCoder Beginner Contest 163 F.path pass i题目链接:163 F.path pass i错解: 比赛时想到了用子节点数去分类统计,后面把自己绕晕了,当时写的时候由于 dfs 时只能由上往下遍历,当时看样例时只过了单侧链树的样例,于是往上找最靠近当前结点且与当前结点颜色相同的结点深度深度作差后可用公式直接得出两节点之间可选方案数,但这样会重复计算且当前结点...

2020-05-07 16:33:56 97

原创 洛谷3225 矿场搭建

刷 Tarjan 专题的时候遇到这题看了网上的一些代码,大都解释的不是太清楚,有些大牛的题解只给了结论而少了思考过程,有些有很好的图示,但理论解释的有些模糊,这里自己整合了一下,并加了一些自己的理解。

2020-04-23 18:19:56 84

原创 分层图

分层图学习链接: 链接1       链接2上述链接中所讲的 k+1 层图结构相同,然后 k 个特殊操作可通过层间建边,通过层间边的权值大小来将操作变为讨论层间权值的情况这里不在作赘述。这里主要再来讨论一种多路线的上下车问题。题目链接:牛客 小雨坐地铁题意: 有 n 个站点,m条地铁线,起点st,终点ed,第 i 条地铁线上车的起步价 ai 元,以后每过一站加 bi 元,问由 st 到...

2020-04-22 15:04:05 78

原创 图论基础之关于前向星的理解

图论关于边的存储问题前向星,head数组解释及其代码: head[x]表示以x为出度顶点的最后一条边的编号,边的结构体为eg{ int to, w, nxt; }, eg[x]中,to表示出度顶点,w表示该条边的权值,nxt表示以x为顶点的下一条邻边的标号(实际上各条邻边存储的顺序是倒着的因此为前向,即先存的后遍历)已知x,可由最后一条边head[x]由后往前依次遍历以x为出度的邻边:...

2020-04-15 16:38:26 104

原创 状压中子集的枚举

今天在写一道mtsp问题的时候遇到了状压枚举子集的情况,看题解时代码有些不太理解,于是找了一位大牛的讲解。

2020-03-26 12:08:29 137

原创 状压DP入门

前面在搜索专题中已经遇到过很多状态压缩的情况,状压在dp中也有很多应用,这里主要记录一下背包专题中状压的用法。

2020-03-26 12:06:24 49

原创 ST表专题总结

今天结束了ST表的专题练习,选了一些好题结合ST表的知识点做一次笔记。

2020-03-25 14:05:49 84

原创 复杂迷宫最短路径BFS总结

BFS三维标记例题以及注意要点写在前面:  关于BFS的迷宫问题刷题刷到今天已经接近尾声了,对于比较复杂的迷宫问题特意选了两道比较有代表意义的例题写篇blog。两题的共通点就是走迷宫时的限制条件比较多,且用常规的vis二维数组标记无法解决重复遍历问题,这里引入了三维标记数组,也就是不仅记录坐标(x,y),还要记录到达(x,y)时的某个状态,这就要用到第三维标记,若是dp入过门的朋友会发现这里很...

2020-03-16 13:25:49 315

原创 TSP问题

TSP问题,即旅行商问题,是状压dp中的一个经典模型,这两天遇到了不少这类问题以及其拓展问题,想写篇blog小结一下。

2020-03-13 12:19:02 174

原创 分组背包总结

最近几天重刷背包以便为后面的DP学习打好基础,但发现分组自己还是不太熟练,想简单总结一下分组背包中的一些经典模型以及解题技巧。

2020-03-10 23:18:05 221

原创 背包九讲心得

再重新回顾DP中最基础的背包问题,感觉自己学一次忘一次,或许是自己对于背包问题的理解还是不够深刻吧,特此写篇笔记记录一下学习心得

2020-03-09 13:10:26 96

原创 初识0-1依赖背包

有依赖的0-1背包hdu3449题意:    给定物品的组数n和一开始拥有的钱数m,后面n行输入代表n组物品,若要购买该组物品中的一个或多个都需要先购买盒子,盒子无价值,每组物品中最开始两个数bp和mi分别表示盒子的价格和该组物品的种数,问用m元最多可获得货物的最高价值是多少。   思路:    典型的有依赖的0-1背包问题,根据dd大牛的背包九讲,基本思路为先将每一组物品看作一个集合...

2020-03-07 15:14:18 90

Bable_Dragon.zip

Bable_Dragon.zip

2021-05-08

Riiid 首战拿银源代码

Riiid 首战拿银项目分享

2021-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除