- 博客(69)
- 收藏
- 关注
原创 [LeetCode 2000] 反转单词前缀
题目链接https://leetcode-cn.com/problems/reverse-prefix-of-word/solution/fan-zhuan-dan-ci-qian-zhui-by-leetcode-s-ruaj/题解rtclass Solution {public: string reversePrefix(string word, char ch) { string s = ""; int i = 0; for(;i&l
2022-02-02 12:39:09
448
原创 [LeetCode 1763] 最长的美好子字符串 [参考]
文章目录题目链接题目描述示例1示例2示例3示例4提示题解1题目链接https://leetcode-cn.com/problems/longest-nice-substring/题目描述当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,"abABB" 是美好字符串,因为 'A' 和 'a' 同时出现了,且 'B' 和 'b' 也同时出现了。然而,"abA" 不是美好字符串因为 'b' 出现了,而 'B' 没有出现。给你一个字符
2022-02-02 12:24:32
1034
原创 [LeetCode 1342] 将数字变成 0 的操作次数
文章目录题目链接题目描述方法1方法2方法3题目链接https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero/题目描述给你一个非负整数 num(1 ≤\leq≤ num ≤\leq≤ 1e6) ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。方法1class Solution {public: int numberOfSteps(int n
2022-01-31 13:28:56
609
原创 [leetcode 2047] 句子中的有效单词数
题目链接https://leetcode-cn.com/problems/number-of-valid-words-in-a-sentence/题解rtclass Solution {public: vector<string> tokens; void split(string &sentence) // 把句子分割成token数组 { sentence.push_back(' '); string token =
2022-01-30 20:02:34
271
原创 [LeetCode 1996] 游戏中弱角色的数量 [参考]
文章目录题目链接题目描述示例提示思路代码思路2题目链接https://leetcode-cn.com/problems/the-number-of-weak-characters-in-the-game/题目描述你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attack_i, defense_i] 表示游戏中第 i 个角色的属性。如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的
2022-01-30 17:54:21
99
原创 [LeetCode 884] 两句话中的不常见单词
文章目录题目链接题目描述示例提示思路代码题目链接https://leetcode-cn.com/problems/uncommon-words-from-two-sentences/题目描述句子 是一串由空格分隔的单词。每个 单词 仅由小写字母组成。如果某个单词在其中一个句子中恰好出现一次,在另一个句子中却 没有出现 ,那么这个单词就是 不常见的 。给你两个 句子 s1 和 s2 ,返回所有 不常用单词 的列表。返回列表中单词可以按 任意顺序 组织。示例示例1输入:s1 = "this
2022-01-30 12:01:41
517
原创 [LeetCode 1765] 地图中的最高点
文章目录题目链接题目描述用例提示思路代码题目链接https://leetcode-cn.com/problems/map-of-highest-peak/题目描述给你一个大小为m x n的整数矩阵isWater,它代表了一个由陆地和水域单元格组成的地图。如果isWater[i][j] == 0,格子(i, j)是一个陆地格子;如果isWater[i][j] == 1,格子(i, j)是一个水域格子。你需要按照如下规则给每个单元格安排高度:每个格子的高度都必须是非负的;如果一个格子是
2022-01-29 19:12:01
1135
原创 [LeetCode 438][剑指 Offer II 015] 字符串中的所有变位词
文章目录题目链接题目描述用例数据规模主要思路需要注意的点代码题目链接https://leetcode-cn.com/problems/VabMRr/题目描述给定两个只包含小写字母的字符串 s 和 p,找到 s 中所有 p 的 变位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。变位词 指字母相同,但排列不同的字符串。用例用例1输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的
2022-01-29 12:54:57
533
原创 [LeetCode 1806] 还原排列的最少操作步数 [参考]
文章目录题目描述相关知识点[数论]1. 整除2. 同余3. 同余传递性4. 同余式相乘思路代码题目描述输入是一个偶数n,对于一个长度为n的排列perm,这个排列满足perm[i] == i(下标从0开始计数),对这个排列进行若干步操作。对于每一步操作:(1) 首先将创建一个新数组arr,对于每个i:如果 i % 2 == 0,那么arr[i] == perm[i / 2]如果 i % 2 == 1,那么arr[i] == perm[n / 2 + (i - 1) / 2](2) 然后将ar
2022-01-28 19:15:43
568
原创 6. 前向/反向传播——Dropout
参考资料cs231n Course Materials: BackpropDerivatives, Backpropagation, and Vectorizationcs231n Lecture 4:Neural Networks and Backpropagationcs231n Assignment 2笔记: Batch Normalization及其反向传播6. Dropout前向传播Yi,j=1pXi,jMi,j(6.1)Y_{i,j}=\frac{1}{p}X_{i,j}M_
2022-01-19 11:05:19
457
原创 5. 前向/反向传播——Layer Normalization
参考资料cs231n Course Materials: BackpropDerivatives, Backpropagation, and Vectorizationcs231n Lecture 4:Neural Networks and Backpropagationcs231n Assignment 2笔记: Batch Normalization及其反向传播5. Layer Normalization其实Layer Normalization基本就是把Batch Normalizat
2022-01-19 11:02:35
1406
原创 4. 前向/反向传播——Batch Normalization
参考资料cs231n Course Materials: BackpropDerivatives, Backpropagation, and Vectorizationcs231n Lecture 4:Neural Networks and Backpropagationcs231n Assignment 2笔记: Batch Normalization及其反向传播4. Batch Normalization前向传播""" Forward pass for batch normaliza
2022-01-19 10:59:14
437
原创 3. 前向/反向传播——Softmax
参考资料cs231n Course Materials: BackpropDerivatives, Backpropagation, and Vectorizationcs231n Lecture 4:Neural Networks and Backpropagationcs231n Assignment 2笔记: Batch Normalization及其反向传播3. SoftMax 损失函数"""Inputs: - X: Input data, of shape (N, C)
2022-01-19 10:55:12
835
原创 2. 前向/反向传播——ReLU
参考资料cs231n Course Materials: BackpropDerivatives, Backpropagation, and Vectorizationcs231n Lecture 4:Neural Networks and Backpropagationcs231n Assignment 2笔记: Batch Normalization及其反向传播2. ReLU前向传播Y=max(0,X)(2.1)Y=\max{(0,X)}\tag{2.1}Y=max(0,X)(2.
2022-01-19 10:52:31
741
原创 1. 前向/反向传播——全连接层
参考资料cs231n Course Materials: BackpropDerivatives, Backpropagation, and Vectorizationcs231n Lecture 4:Neural Networks and Backpropagationcs231n Assignment 2笔记: Batch Normalization及其反向传播全连接层前向传播Y=XW+B(1.1)Y=XW+B\tag{1.1}Y=XW+B(1.1)反向传播Yn,m=Zn,m+B
2022-01-19 10:50:04
645
原创 实验与分析 —— numpy.vectorize
函数功能numpy.vectorize函数可以实现任意函数的向量化,从而避免在python中使用循环,提高效率。另外,用好函数的signature参数,可以让本来就是处理向量的函数按照自己的需求对向量的向量进行批量化处理(见下面的例子),可以说非常方便。官方链接如下:https://numpy.org/doc/stable/reference/generated/numpy.vectorize.html下面,以不同类型的加法为例来进行实验和分析。通过对如下函数进行向量化来实现不同类型的加法效果。de
2021-11-06 21:11:39
2098
2
原创 Week8 作业
A - 区间选点 II原题链接http://poj.org/problem?id=1201题目大意给定一个数轴上的 nnn 个区间,要求在数轴上选取最少的点使得第 i 个区间 [ai,bi][a_i, b_i][ai,bi] 里至少有 cic_ici 个点。输入输入第一行一个整数 nnn 表示区间的个数,接下来的 nnn 行,第i行有三个数ai,bi,cia_i,b_i,c_iai,bi,ci,用空格隔开。1<=n<=50000,0<=ai<=bi<=5
2020-06-11 19:39:21
187
原创 Week7 作业C - TT 的美梦
题目大意有N个点,每个点有一个权值。在这N个点间有M条有向边,每条边的长度等于(终点权值−起点权值)3(终点权值 - 起点权值)^3(终点权值−起点权值)3。求1号点到其他点的距离。输入第一行输入 T,表明共有 T 组数据。(1 <= T <= 50)对于每一组数据,第一行输入 N,表示点的个数。(1 <= N <= 200)第二行输入 N 个整数,表示 1 ~ N 点的权值 a[i]。(0 <= a[i] <= 20)第三行输入 M,表示有向边的条数。(0
2020-06-09 21:40:48
183
原创 Week12作业 C -必做题 - 3 [HDU - 1024]
题目描述n个数的序列a,从中选取m个互不相交的闭区间,使这些区间中的数的和最大,输出最大和(1 ≤ i ≤ n ≤ 1e6 , -32768 ≤ ai ≤ 32767)。输入输入m,输入n。后面跟着输入n个ai 处理到 EOF。输出输出最大和。基本思路这是一个动态规划问题,关键是要定状态,找转移方程,如下表所示:状态定义分f[i][j]f[i][j]f[i][j]序列中前j个数选i个区间并以a[j]结尾的最大和初始化f[1][1]=a[1]f[1][j]=max
2020-06-09 07:23:38
233
1
原创 CSPM2
HRZ的序列基本思路首先求出序列的最大值ma和最小值mi,然后遍历序列,对于既不是最大值也不是最小值的数ai,如果该序列是符合要求的序列,2*ai = mi + ma。完整代码#include<iostream>#include<cmath>using namespace std;int T;long long a[200000];int main (){ ios::sync_with_stdio(false); cin>>T; for(int
2020-06-06 14:29:04
672
原创 CSPM4
TT数鸭子题目大意给定n,k以及n个数,判断n个数中有多少个数的数位中不同数字个数小于k。输入输入第一行包含两个数n,k,表示鸭子的个数和题目要求的k。接下来一行有n个数,aia_iai,每个数表示鸭子被TT映射之后的值。输出输出一行,一个数,表示满足题目描述的鸭子的个数。数据范围数据点nnnkkkaia_iai111n≤1000n \leq 1000n≤1000k=10k=10k=1010610^6106222n≤1000n\leq 1000n≤
2020-06-05 23:15:52
228
原创 Week9 作业C - 签到题 [CodeForces - 1042A]
题目大意有x个长凳,第 i 个长凳上坐着 a[i] 个,现在有y个人,也要坐在这些长凳上,问这y个人坐下后,设所有长凳上人数的最大值为k,问k的最大值mx和最小值mn分别是多少?输入第一行包含一个整数 x (1 <= x <= 100) 表示公园中长椅的数目;第二行包含一个整数 y (1 <= y <= 1000) 表示有 y 个人来到公园;接下来 x 个整数 a_i (1<=a_i<=100),表示初始时公园长椅上坐着的人数。输出输出 mn 和 mx。思
2020-06-05 18:56:48
143
原创 Week9 作业B - 东东学打牌 [计蒜客 - 41408]
原题链接https://nanti.jisuanke.com/t/41408题目描述基本思路本题的关键问题在于玩家的排序,首先根据手牌情况进行排序,若手牌相同,则根据name进行排序。为了更加方便的进行排序,可以将手牌情况映射到一个整数score,score大的排在前面。求score的方法:可以使用THREE(1000000)、TWO(10000)、ONE(100)、1表示不同的优先级。score等于不同优先级的指标与对应优先级相乘再相加得到。例如:"两对"手牌的score=3(类型)×TH
2020-06-05 18:33:17
193
原创 Week9 作业A - 咕咕东的目录管理器
原题链接https://open.kattis.com/problems/directorymanagement题目描述基本思路这题对我来说有点儿过于复杂,要是独立完成真不知道要花多长时间,好在课上讲了这道题,以下为老师课上讲的思路。关键点树形结构,动态创建、删除。字典序撤销操作输出数据与数量有关零散思路如果没有TREE操作和UNDO操作,那么这个题的难度将降一个档次。直接逐一实现相关的功能,按要求模拟即可。相比于之前的模拟题,这个题的真正难点在于UNDO和TREE。添加
2020-06-05 17:58:15
164
原创 CSP 201604-3 路径解析(c++)
题目描述基本思路基本步骤如下图所示,路径的规范化可分为三部分:第一部分(ext)是从路径字符串中解析出文件、文件夹、"…",并按照路径字符串中出现的先后顺序存储在数组sl中;第二部分(arrange)将sl数组进行整理,去掉"…",使其符合绝对路径要求,结果存入resl;第三部分(getR)将resl中的文件或文件夹按顺序连成路径;ext实现思路函数参数:路径字符串str,文件空数组sl。(1) 首先将st拷贝到s,在s最后添加一个’/’(这样处理起来更加方便)。(2) 声明一个
2020-06-05 16:22:31
387
原创 CSP 201809-3 元素选择器(C++)
文章目录题目描述基本思路过程及结构基本信息存储方式query_one 实现思路query_muti 实现思路其他完整代码题目描述基本思路过程及结构问题解决方法过程及结构如下图所示其中,read负责读取层叠样式信息,read_query负责读取查询信息(读取一条处理一条),query负责处理一条查询信息,query_one负责处理元素标签选择器和id选择器,query_muti负责处理后代选择器。lwr可以将一个字符串中所有的大写字母变为小写,并返回。基本信息存储方式层叠样式信息存储在数组e
2020-06-05 15:19:40
269
原创 Week13 作业C - TT 的奖励[HDU - 1176]
题目描述在大家不辞辛劳的帮助下,TT 顺利地完成了所有的神秘任务。神秘人很高兴,决定给 TT 一个奖励,即白日做梦之捡猫咪游戏。捡猫咪游戏是这样的,猫咪从天上往下掉,且只会掉在 [0, 10] 范围内,具体的坐标范围如下图所示。TT 初始站在位置五上,且每秒只能在移动不超过一米的范围内接住掉落的猫咪,如果没有接住,猫咪就会跑掉。例如,在刚开始的一秒内,TT 只能接到四、五、六这三个位置其中一个位置的猫咪。喜爱猫咪的 TT 想要接住尽可能多的猫咪,你能帮帮他吗?输入多组样例。每组样例输入一个
2020-05-29 12:35:22
236
原创 Week13 作业B - TT 的神秘任务2[CodeForces - 1352C]
题目描述给定两个整数n,k,要求给出无法被n整除的第k个正整数。输入第一行一个整数 T,表示数据组数,不超过 1000。之后 T 行,每一行给出两个正整数,分别表示 n(2 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 1e9)。输出对于每一组数据,输出无法被 n 整除的第 k 个的正整数。思路n的取值范围很大,可以达到1e9。因此,我们无法通过线性搜索来解决问题。虽然直接求答案很困难,但是给定一个数,我们很容易确定其是否是答案,如果不是,我们也可以确定答案比这个数小还是大。因此,我们可以考
2020-05-29 12:07:11
264
原创 Week13 作业A - TT 的神秘任务1[CodeForces - 1352B]
题目描述给定两个正整数n,k,要求给出 k 个奇偶性相同的正整数,使得其和等于 n。输入第一行一个整数 T,表示数据组数,不超过 1000。之后 T 行,每一行给出两个正整数,分别表示 n(1 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 100)。输出如果存在这样 k 个数字,则第一行输出 “YES”,第二行输出 k 个数字。如果不存在,则输出 “NO”。基本思路(1) n,k都是偶数若k>n,不存在;输出n-k+1,再输出k-1个1。(2) n是偶数,k是奇数若2*k&
2020-05-29 11:42:17
372
原创 Week15 作业A - ZJM 与霍格沃兹
题目描述给出一系列二元组:[原字符串] 翻译字符串;进行若干次查询,给出原字符串或翻译字符串,输出对应的翻译字符串或原字符串。输入首先给出若干行,每行一个二元组:[原字符串] 翻译字符串;最后一行以"@END@"结尾;之后一行给出一个整数q,表示询问次数;之后q行,每行一个[原字符串]或翻译字符串;输出输出q行,每行输出对应字符串。输入样例[expelliarmus] the disarming charm[rictusempra] send a jet of silver ligh
2020-05-29 11:12:31
359
原创 CSP 201609-3 炉石传说(C++)
题目描述基本思路本题是一道模拟题,主要在如何进行模拟。回合: 可以使用一个整数p,0代表先手回合,1代表后手回合。英雄或随从: 使用一个结构体Sorder,其中包含hp和att,分别表示生命值和攻击力。战场: 使用vector<Sorder> v[2]来表示,其中v[0]表示先手阵营,v[1]表示后手阵营,v[0][0]和v[1][0]分别表示先手英雄和后手英雄,v[1]和v[0]中的其余元素表示响应的随从。创建随从和随从死亡事件: 利用vector的insert和erase方法
2020-05-29 10:41:46
414
原创 Week14 限时模拟 - 猫睡觉问题 [HDU - 3700]
原题链接http://acm.hdu.edu.cn/showproblem.php?pid=3700题目描述题目里的坑1. 时间段全部是闭区间,这意味着睡觉时间的端点和看番时间的端点不能重合,计算时间长度也不能简单的用两个端点相减。2. 别看样例里边给的时间段都是有序的,题目里没说有序,所以需要排序。3. 题目中的A和B分别是指连续睡觉或醒着的时间要求,而不是对睡觉或醒着的总时间的要求。4. 猫不能一直不睡觉(如果一个睡觉时间段也没有,必须输出No)。5. Yes和No,不是YES和NO。
2020-05-22 17:47:21
232
原创 Week14 作业
文章目录A - Q老师与石头剪刀布题目大意输入输出基本思路完整代码B - Q老师与十字叉题目大意输入输出基本思路完整代码C - Q老师的考验题目大意输入输出基本思路完整代码D - Q老师染砖题目大意输入输出基本思路完整代码E - Q老师度假题目大意输入输出基本思路需要注意的点完整代码A - Q老师与石头剪刀布题目大意Q老师和Monika玩石头剪刀布,一共n局,Q老师知道对方每一局的出招,但是他只能出a次石头,b次剪刀,c次布,问他是否能赢过Monika(赢n/2(上取整) 次)。输入第一行一个整数
2020-05-21 12:43:09
416
原创 Week11 作业
文章目录必做题 11-1题目描述输入格式输出格式基本思路完整代码必做题 11-2题目描述输入格式输出格式基本思路需要注意的点完整代码必做题 11-3题目描述输入格式输出格式基本思路完整代码必做题 11-4题目描述输入输出基本思路完整代码必做题 11-1题目描述蒜头君从现在开始工作,年薪 N 万。他希望在蒜厂附近买一套 60 平米的房子,现在价格是 200万。假设房子价格以每年百分之 K 增长,并且蒜头君未来年薪不变,且不吃不喝,不用交税,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?(第一年
2020-05-12 23:06:23
129
原创 CSPM3
T1 瑞神的序列题目描述瑞神的数学一向是最好的,连强大的咕咕东都要拜倒在瑞神的数学水平之下,虽然咕咕东很苦 恼,但是咕咕东拿瑞神一点办法都没有。 5.1期间大家都出去玩了,只有瑞神还在孜孜不倦的学习,瑞神想到了一个序列,这个序列长度为 ,也就是一共有 个数,瑞神给自己出了一个问题:数列有几段? 段的定义是连续的相同的最长整数序列。输入描述输入第一行一个整数n,表示数的个数 接下来一行n个空格隔开的整数,表示不同的数字。输出描述输出一行,这个序列有多少段。数据规模数据点数据范围
2020-05-12 22:12:25
292
原创 Clion环境下C++调用Python
前提条件已经安装好python环境(我使用的是Anaconda3,Python版本是3.7)。安装好Clion(我使用的是CLion 2019.2.5)。可能需要配置环境变量(我之前已经将python相关的环境变量配置好了,不确定是否有影响)。步骤新建好工程,打开CMakeLists.txt。添加下面两行代码。include_directories(python目录\\include)link_libraries(python目录/libs/python37.lib)我的pyth
2020-05-09 23:40:30
2185
9
原创 Week7 B-TT的旅行日记 [UVA - 11374]
题目链接https://vjudge.net/problem/UVA-11374题目大意最短路问题,N个站点,其中包含起点和终点。找起点到终点最短的路线。站点之间有经济线和商业线。经济线可以坐任意次,商业线只能坐一次。输入输入包含多组数据。每组数据第一行为 3 个整数 N, S 和 E (2 ≤ N ≤ 500, 1 ≤ S, E ≤ 100),即猫猫快线中的车站总数,起点和终点(即喵星机场所在站)编号。下一行包含一个整数 M (1 ≤ M ≤ 1000),即经济线的路段条数。接下来有 M 行
2020-05-08 22:21:18
113
原创 Week7 A - TT 的魔法猫 [HDU-1704]
原题链接http://acm.hdu.edu.cn/showproblem.php?pid=1704题目大意比赛,N个人,M个胜负关系。每个胜负关系为 A B,表示 A 能胜过 B,且胜负关系具有传递性。即 A 胜过 B,B 胜过 C,则 A 也能胜过 C。输入第一行给出数据组数。每组数据第一行给出 N 和 M(N , M <= 500)。接下来 M 行,每行给出 A B,表示 A 可以胜过 B。输出对于每一组数据,判断有多少场比赛的胜负不能预先得知。注意 (a, b) 与 (b,
2020-05-08 21:02:16
156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人