自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只谜谜怪的博客

怀着永远进步的心,追逐希望与梦想

  • 博客(198)
  • 收藏
  • 关注

原创 webserver项目

在Web服务器的设计与实现中,性能优化是永远不会过时的话题。一般来说,Web服务器需要能够有效地处理大量并发请求。在多线程环境中,工作队列的设计尤为关键。传统的工作队列通常涉及使用锁(例如互斥锁)来确保线程安全,但这可能导致性能瓶颈。本博客文章将探讨一种全新的Web服务器设计,其主要特点是工作队列在访问任务时不使用锁。(封面图引用自博客:https://blog.csdn.net/qq_43450920/article/details/125470741,如有侵权则删除)

2023-10-04 11:23:45 231

原创 【文心一言大模型插件制作初体验】制作面试错题本大模型插件

文心一言插件是一款功能丰富、易于使用的浏览器插件,提供了多种实用的工具和功能,有助于提高用户的网络使用体验。尽管存在一些兼容性和稳定性问题,但整体上还是一款值得推荐的浏览器插件。

2023-09-01 17:05:59 2574 1

原创 最长和为0子数组(前缀和)

遍历一遍sum数组,对每个位置j,记录最早的相同值的下标i(如果不存在相同值则跳过;从下标0开始遍历,记sum[0]=0, 避免整个数组和为0的边界情况)给定一个整数数组 a,其中 a[i]表示数组的第i个元素(0 < i < N),找出和为0的最长连续子数组,并返回其长度。* 子序列的和为 sum[j] - sum[i] 要符合条件就需要结果为 0,那么需要满足sum[j] == sum[i]* 所以将问题转化为找到 sum[i] 中相等元素的最长距离。* 先计算数组的前缀和(从下标1开始记录)

2023-08-29 11:16:16 195

原创 动态规划题目复习(acwing59把数字翻译成字符串,acwing 80. 骰子的点数,AcWing 30. 正则表达式匹配,一道还不会做的笔试题)

例如[1 1 1 2 2 3 3 1]进行unique操作之后的序列为[1 2 3 1];[1 2 3 3 2 1 1]进行unique操作之后的序列为[1,2,3,2,1];现在,输入一个长度为n的序列S,你需要将其划分为k段,使得每一段都不为空,且你需要最大化所有段的f函数的值之和。思路:(没找到正解,打暴力版递推式)dp[i][j]=max(dp[l][j-1] + f(i:j), dp[l][j-1])思路:使用dp[i]表示子字符串[0,i]的翻译方法数,则dp[i]=dp[i-1]+dp。

2023-08-23 18:24:26 307

原创 力扣 在LR字符串中交换相邻字符(双指针)

思路:记录’X‘之外值的坐标(可以双指针)python(双指针)

2023-05-12 21:30:09 57

原创 力扣756 金字塔转换(dfs)

【代码】力扣756 金字塔转换(dfs)

2023-05-12 11:31:33 67

原创 HJ64 MP3光标位置

思路:维护一个窗口上边沿up和当前位置p即可,代码有一点丑陋,执行U操作需要额外判断一下n

2023-05-07 12:37:18 68

原创 1026. 节点与其祖先之间的最大差值(4-19日

题目:给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。(如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先)代码:(low low 代码,计算以每个节点为根的子树的最大值和最小值,使用ans计算最大的绝对值)输入:root = [8,3,10,1,6,null,14,null,null,4,7,13]

2023-04-19 14:22:18 341

原创 力扣 2601. 质数减法运算

力扣第 338 场周赛

2023-03-30 19:19:18 211

原创 增加一个不使用的线性层影响模型预测结果的原因[pytorch]

pytorch 中 增加一个不使用的线性层影响训练准确度的原因(在固定所有随机数种子的前提下)

2022-09-17 18:19:29 768 1

原创 2021秋季课程cs224w(图机器学习) colab5 异构图节点分类

代码详见github:https://github.com/whitehat32/cs224w-colab这里的主要思路就是先对每种类型的边使用gnn获得嵌入表示,之后把嵌入表示聚合(聚合方式可以是求均值或者attention)网络框架:

2022-01-25 17:39:44 1261

原创 2021秋季课程cs224w(图机器学习) colab4 GAT

官网链接:cs244colab4里需要自己实现的部分是单层GAT,下面就是GAT单层实现部分:参考pyG的具体实现即可:https://pytorchgeometric.readthedocs.io/en/latest/_modules/torch_geometric/nn/conv/gat_conv.html#GATConvMessagePassing类的各种函数定义就不放了,colab里有。下面是相关公式和代码公式:GAT可以带权重的聚合节点的邻居信息,总公式为公式(1):αij为注意力权重

2022-01-17 15:34:11 923

原创 论文阅读:Joint Link Prediction and Network Alignment via Cross-graph Embedding

主要内容:文章认为链路预测和网络对齐两个任务存在潜在联系。提出了一个跨网络的嵌入模型。链路预测可以发现图中的潜在边,随着边的丰富,网络对齐方法就能发现更多对齐关系。得到的对齐关系又可以促进链路预测,实现互相增强。问题描述(Notations and Preliminaries):网络对齐(Network alignment):对两个网络G=(v,e)和G‘=(v’,e’),求对齐关系种子节点和种子集合(Seed vertices and seed set):即预先知道的两个网络的对其关系,这篇论

2022-01-14 09:41:54 824

原创 西瓜书第六章笔记(待补)

6.1-6.2线性SVM6.3核函数

2021-09-06 19:11:21 112

原创 西瓜书第五章笔记(待补)

5.1 神经元模型5.2 感知机与多层网络5.3 BP神经网络算法5.4 全局最小与局部最小5.5 深度学习

2021-09-02 21:39:50 129

原创 西瓜书第四章笔记

4.1 决策树基本概念顾名思义,决策树是基于树结构来进行决策的。4.2决策树的构造图片为转载,侵权则删除4.2.1 ID3算法4.2.2 C4.5算法ID3算法存在一个问题,就是偏向于取值数目较多的属性,例如:如果存在一个唯一标识,这样样本集D将会被划分为|D|个分支,每个分支只有一个样本,这样划分后的信息熵为零,十分纯净,但是对分类毫无用处。因此C4.5算法使用了“增益率”(gain ratio)来选择划分属性,来避免这个问题带来的困扰。4.2.3 CART算法CART决策树使用“基

2021-08-30 22:37:15 194

原创 西瓜书第三章笔记(待补)

多元线性回归:逻辑回归(对数几率回归):LDA:

2021-08-23 10:50:49 99

原创 二分模板总结

最近做题做二分老是卡,于是总结一下:本人二分做题不多,只遇到过三种情况,如有错误请大佬指正:1、递增序(即若(0,x)位置满足条件,(x + 1, n)均不满足),找最后一个满足条件的位置,如找满足某条件的最大长度。2、递减序(即若(x + 1, n)位置满足条件,(0, x)均不满足)找第一个满足条件的位置,如找满足某条件的最小值。3、局部满足,找任意一个递增和递减的交界点。下面假设bool check(int n)当位置满足条件时返回true,否则返回false.1、递增,找最后一个位置:(

2021-02-22 11:04:47 203 3

原创 AtCoder Regular Contest 113 B - A^B^C(欧拉定理)

感想:看了题解居然是找规律的,我做的时候感觉有公式,然后去搜了欧拉定理,然后发现完全能套,Φ(10) = 4,然后直接套公式就行了。。代码写的比较丑。。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 2e5 + 5;int mpow(ll a , ll b , ll mod) { ll res = 1; while(b) { if(b &amp

2021-02-21 22:19:13 412

原创 AtCoder Beginner Contest 191 C - Digital Graffiti

思路:扫描所有’.'块,分4种情况计数。c++代码:#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 5;int a[maxn];int dx[] = {-1 , 1 , 0 , 0};int dy[] = {0 , 0 , -1 , 1}; char g[20][20];int h , w;int check(int r , int c , int t) { int cnt =

2021-02-07 18:41:47 549

原创 AtCoder Beginner Contest 189 D - Logical Expression(线性dp)

题目链接:传送门感想:最后因为一个小错没看出来,晚了12秒提交,直接难受。思路:本题具有最优子结构,用dp[i][0 /1]表示i位置为0/1的情况数,dp即可。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 1e4 + 5;typedef long long ll;string s[100];ll dp[100][2];int main() { int n; ios::sync_

2021-01-23 22:28:40 224 2

原创 AtCoder Beginner Contest 188 D - Snuke Prime

思路:本来想的是直接给区间排序,后来发现太麻烦了,直接对每个点(一个区间有两个点)的贡献左区间计+c[i] , 负区间计-c[i] ,进行排序即可,每次访问下一个点的时候,首先计算i - 1 与 i 点之间的花费(此处与C进行比较,保证每天最多花C),把上一个点的贡献c[i - 1]计入新的c[i]。做到这里,本题还有一个关键点:若一个区间为[l , r],l点的贡献从它自己l位置开始起效,而r点从r + 1点才开始起效,因此记录点的贡献时,右边坐标应为r + 1。为什么呢?比如下面这种情况: [1 ,

2021-01-11 20:52:14 175

原创 ccf csp 2020年09月 第三题:点亮数字人生(dfs + 判环)

题目背景土豪大学的计算机系开了一门数字逻辑电路课,第一个实验叫做“点亮数字人生”,要用最基础的逻辑元件组装出实际可用的电路。时间已经是深夜了,尽管实验箱上密密麻麻的连线已经拆装了好几遍,小君同学却依旧没能让她的电路正常工作。你能帮助她模拟出电路的功能,成功点亮她的数字人生吗?问题描述本题中,你需要实现一个简单的数字逻辑电路模拟器。如果你已经有了此方面的基础,可以直接跳过本节。在阅读时,也可以参照前两个样例的图示和解释,这有助于你更好地理解数字逻辑电路的工作原理。数字逻辑电路是用来传输数字信号(也就是

2020-10-02 23:32:00 2764 2

原创 Codeforces Round #663 (Div. 2) C. Cyclic Permutations(思维)

题目链接:传送门思路:可以先算无环的情况数,再用全部情况数减,算无环情况的关键点有两个:1)除了最大数n以外,每个数一定至少有一条边指向另一个数,当每个数只有一条边连出去时(共n-1条边),图是无环的,即只要有一个数连两条边出去就有环。2)对于特定的数i (i < n - 1 ),要保证无环,它两边的数已经被确定了,一边必须是(1) — (i - 1) , 一边是 (i+1) — (n),即只要对于前n-1个数,满足一边都是小于它的数,一边全大于,即可保证无环,其他情况均有环(因为会发出两条边

2020-08-10 08:42:31 833

原创 Codeforces Round #662 (Div. 2) B. Applejack and Storages

题目链接:传送门感想:好久不打cf,一打直接被教育,本来想的是用两个整数变量来模拟,但是似乎删除数字时不好处理,然后就凉了。思路:用set来存储所有出现次数大于4的数,变量f2存储所有大于等于2小于4的数(即2和3),然后随着每次操作维护即可。这样似乎比较笨,但是比较好想。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 5;int a[maxn];map <int , int&

2020-08-08 10:52:49 182

原创 PAT甲级 1087. All Roads Lead to Rome (30) (dijkstra)

题目链接:传送门思路:直接dijkstra即可,在过程中记录路径并转移各种情况,似乎先dijkstra记录路径再dfs比较好写。。但是我之前并没有想到这种题因为dijkstra以贪心选择选取最近的点,只排除了不可能成为最短路的情况,有可能构成最短路的所有情况并没有被跳过,所以模拟即可代码:#include <bits/stdc++.h>using namespace std;const int maxn = 205;struct node { int u , d; nod

2020-07-22 19:31:20 122

原创 leetcode 面试题 17.13. 恢复空格(dp)

题目描述:哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。注意:本题相对原题稍作改

2020-07-10 13:10:11 112

原创 ccf csp认证 201912-4 区块链

思路:一道模拟题,参考了大佬们的代码,目前尝试了bfs直接暴力,(把当前要扩展的链放到搜到的点上),80分,会超内存。可以改成在询问时处理所有请求,并生成结果队列,能用引用的地方尽量用引用(不然很容易超时)。还有对于题意,我刚开始有个误区,以为规则bi <= bi+1只有输入是a,b,c才有效,但是仔细读题,查询操作也是遵循这个规则的。代码:80分:#include <bits/stdc++.h>using namespace std;const int N = 505;

2020-06-26 16:35:59 630

原创 PAT甲级 1114 Family Property (25分) (并查集)

题目链接:传送门思路:根据题意首先把所有给出的人记录下来,包括n个id,还有n个id对应的父母和孩子(可能没有房产信息,但需要在求平均的时候占人数),我这里使用结构体存的,没有信息的人的房产信息默认为零,只记录id,(也可以不这样存储,用一个标记数组标记人是否存在也行),然后扫一遍寻找所有家庭,假设此时家庭成员的都满足p[i]=t,则都存在一个ans[t]这个vector数组中,并且把t存储在集合中,最后遍历集合计算每个家庭的人数和房产信息,然后输出。c++代码:#include <bits/s

2020-06-01 16:53:02 202

原创 PAT甲级 1107 Social Clusters (30分)(并查集)

传送门:思路:题目中要求只要两个人有任意相同兴趣,那么他们就能被分到一组,于是可以记录每种兴趣对应的人(兴趣可以对应多个人,但是这里随便记录就行,只要有就可以之后进行合并了),之后遍历每个人的兴趣,根据兴趣对应的人合并即可,具体请参考代码。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 1005;int ans[maxn];int cnt[maxn];int p[maxn];vector &l

2020-05-25 16:42:05 131

原创 AtCoder Beginner Contest 167 D - Teleporter (dfs)

题目链接:传送门思路:题目提供了一个每个点有且仅有一条出边的有向图,所以一定能形成环,且只会有一个环(可以证明),所以做法就是dfs一下,记录经过的路径,顺便记一下重复经过的点(这个点是一个环的开始),k最大1e18,此时一定是在环上移动,取模即可。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 2e5 + 5;int a[maxn] , vis[maxn];int ans , pos;vect

2020-05-10 22:19:04 227

原创 天梯赛练习 7-4 求一元二次方程的根

本题目要求一元二次方程的根,结果保留2位小数。输入格式:输入在一行中给出3个浮点系数a、b、c,中间用空格分开。输出格式:根据系数情况,输出不同结果:1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;3)如果方程只有一个根,则直接输出此根;4)如果系数都为0,则...

2020-03-31 12:40:30 1449

原创 PAT甲级1052 Linked List Sorting (25分) (模拟)

传送门:传送门思路:直接数组模拟即可,先遍历一遍链表剔除多余节点(即由起始节点访问不到的节点),然后排序,直接输出计科,注意链表中没有元素的情况。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 5;struct node { int ad , key , next; ...

2020-01-20 22:23:33 83

原创 AtCoder Grand Contest 041 B - Voting Judges (前缀和)

题目链接:传送门思路:先对输入数组进行排序,排完存储前缀和,之和分析可以得到,对一个位置t要让它排到p位置首先需要对自己需要加m,再判断能否大于等于a[p],可以就继续,不可以则退出,然后a[p-1]以及之前的数组不受影响,a[t]之后的也不受影响,可以加m,剩下的最多加到m + a[t]即可,然后可以证明:只要加的值小于m*v,一定存在分配策略。代码:#include <bits/...

2019-12-31 00:17:35 308

原创 PAT甲级 1068. Find More Coins(背包dp)

题目链接:传送门思路:用01背包的模板可以直接判断是否有可行解,然后是记录字典序最小的答案序列,需要以贪心的思想先排序,以从大到小的顺序选取物品,这样保证输出的结果最前面的物品最小。还有就是要用二维数组进行路径记录。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 1e4 + 5 , N = 4...

2019-12-14 08:21:53 111

原创 PAT甲级 1045 Favorite Color Stripe (30分) (dp)

题目链接:传送门思路:由题意知道,首先输入的颜色序列中,颜色是不重复的,于是可以记录每个颜色的出现位置f[a[i]]。然后遍历待去重的串,对每个字符,根据刚才记录的位置,可以判断这个字符只能出现在j <= f[a[i]]的位置,然后进行dp ,状态转移方程为:dp[t] = max(dp[j] + 1) (j>= 0 && j <= f[a[i]] , t ...

2019-12-09 16:38:27 143

原创 PAT甲级 1040 Longest Symmetric String (25分)(模拟)

题目链接:传送门思路:求最长回文子串,想到马拉车,但是不会,看到n只有1000,所以直接枚举中心点,有两种情况:回文串长度是奇数,或者回文串长度是偶数,o(n*n)遍历即可。代码:#include <bits/stdc++.h>using namespace std;int main() { string s; getline(cin , s); int ans =...

2019-12-08 18:14:56 130

原创 PAT甲级 1071 Speech Patterns (25分) (模拟)

题目链接:传送门思路:直接遍历字符串,筛选出单词,然后计数即可。代码:#include <bits/stdc++.h>using namespace std;map <string , int> mp;int main() { string s; ios::sync_with_stdio(0); getline(cin , s); string ...

2019-12-07 12:28:57 98

原创 PAT甲级 1047 Student List for Course (25分) (模拟)

题目链接:传送门思路:直接存储字符串模拟即可。代码:#include <bits/stdc++.h>using namespace std;const int maxn = 3005;vector <string> g[maxn]; int main() { int n , k; ios::sync_with_stdio(0); cin >...

2019-12-06 16:03:47 90

原创 PAT甲级 1039 Course List for Student (25分)

题目链接:传送门思路:因为姓名字符串只有4位,可以使用262626*10个vector来存储不同学生的选课信息,但是只用map是可以卡过去的,加上cin.tie(0)和cout.tie(0)。代码:(卡过的。。)#include <bits/stdc++.h>using namespace std;map <string , vector<int> &g...

2019-12-05 20:09:28 143

空空如也

空空如也

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

TA关注的人

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