- 博客(48)
- 收藏
- 关注
原创 为什么负梯度方向下降最快
假设初始点x有,沿着u更新x,步长a0,则xnewx−au不妨设u是u因为我们只关心u的方向,关心朝哪个方向走出步长a,并不关心它的模长例如向量(1,2,3)和向量(2,4,6)虽然模长不同,但是其实指向的就是同一个方向下面说明为什么这个方向取负梯度方向的时候,函数值下降是最多的首先进行泰勒展开有fxnewfx−aufx−f′x⋅auoau移项有fxnew−fxf′x⋅auoa。
2025-08-01 13:57:09
1066
原创 反向传播计算
将正向传播的值x=50, y= 60代入分别得到x方向和y方向偏导数的值。如果正向传播时有x=50, y= 60,则计算反向传播时。x的变化对z的影响大小。节点内运算规则:xy。x方向偏导数:衡量在。
2025-08-01 10:24:00
246
原创 no cuda tool set found
cmake .. -T cuda="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.5/"
2025-06-01 10:44:28
122
原创 add_custom_command不执行解决
路径正确,但是add_custom_command就是不执行。原因:生成的可执行文件必须依赖。那里设置的输出文件。
2024-10-17 18:03:28
557
1
原创 memset用法小记
int dp[size]; memset(dp, 1, sizeof(dp)); for(int i=0;i<size;i++){ cout<<dp[i]<<" "; }输出的结果是16843009 16843009 16843009 16843009 16843009 16843009为什么呢?因为memset是以字节为单位赋值的什么意思呢首先,一个int占四个字节 ...
2022-05-12 14:57:34
849
原创 string 与 int/double 转换
头文件stdlib.hstring转intstring str = "020948";int n = atoi(str.c_str());int 转stringstr = to_string(n);string转doublestring str = "0.983";double n = atof(str.c_str());double转string
2022-05-03 11:12:49
420
1
原创 智能补全【按词频递减,字典序递增输出topK】
bool cmp(pair<string, int> a, pair<string, int> b){ return a.second>b.second;}int main(){ int n, m, k; cin>>n>>m>>k; getchar(); map<string, map<string, int> > Map; //map<前缀,map.
2022-03-08 22:51:59
329
原创 实现按词频递减,字典序递增
好吧直接bool cmp(pair<string, int> a, pair<string,int> b){ if(a.second!=b.second) return a.second>b.second; else return a.first<b.first;}sort(vec.begin(),vec.end(),cmp);就可以实现按词频递减,字典序递增bool cmp(pair<string, int>
2022-03-08 20:57:55
289
原创 146. LRU 缓存机制(C++实现)
struct DLinkedNode{ int key; int value; DLinkedNode *next; DLinkedNode *prev; DLinkedNode():key(0), value(0), next(nullptr), prev(nullptr){} DLinkedNode(int _key, int _value):key(_key), value(_value), next(nullptr), prev(nullptr){}.
2021-10-25 19:46:44
317
原创 C语言, qsort排序
int cmp_int(const void *_a, const void *_b){ int *a = (int *) _a; int *b = (int *) _b; //return *a - *b; //从小到大 return *b - *a; //从大到小}//调用qsort(nums,numsSize,sizeof(int),cmp_/int);
2021-10-05 17:04:58
179
原创 latex 表格居中
前提:已用\centering导言区加入:\usepackage{geometry}\geometry{hcentering} 将版心居中
2021-09-24 17:16:51
1147
原创 matlab符号变量小记
查看结果数据类型whosS = sym('a^2+b');b = 3;R = subs(S)结果R = a^2+3符号表达式替换R = subs (S, old, new)
2021-09-13 16:44:52
170
原创 103. 二叉树的锯齿形层序遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *retur.
2021-08-26 23:43:40
267
原创 二叉树的右视图
int* rightSideView(struct TreeNode* root, int* returnSize){ if(root==NULL){ *returnSize = 0; return NULL; } int *view = (int *)malloc(sizeof(int)*100); struct TreeNode* queue[100]; struct TreeNode* pNode = NULL;...
2021-08-26 11:50:36
119
原创 哈希表,C语言
struct my_struct{ int id; /* key */ int val; UT_hash_handle hh; /* makes this structure hashable */};struct my_struct *users = NULL;/* Add an item to a hash */void add_user(int user_id, int user_val){ struct my_struct *s; HAS.
2021-08-22 08:41:07
148
原创 54. 螺旋矩阵
/** * Note: The returned array must be malloced, assume caller calls free(). */ //冲刺006:螺旋矩阵int* spiralOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize){ int row = matrixSize; int col = matrixColSize[0]; if(row=...
2021-08-21 08:47:29
130
原创 98. 验证二叉搜索树
Check函数:以root为根的子树,判断子树中所有节点的值是否都在 (lower, upper)的范围内(注意是开区间)。用LONG_MAX或LONG_MIN要 #include <limits.h>bool Check(struct TreeNode * root, long long int upper, long long int lower ){ if(root == NULL) return true; else if(root->val ...
2021-08-18 09:32:50
103
原创 101. 对称二叉树
递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *///判断两颗树是否镜面对称bool Check(struct TreeNode * Left, struct TreeNode * Right){ if(Left==NULL &a...
2021-08-17 09:44:45
115
原创 二叉树-C语言
struct TreeNode { char val; struct TreeNode *left; struct TreeNode *right;};void PreOrderTraverse(struct TreeNode * T){ if(T!=NULL){ printf("%c", T->val); PreOrderTraverse(T->left); PreOrderTraverse(T->r.
2021-08-16 22:46:18
169
原创 169.多数元素 C语言 哈希表
哈希表struct hashTable{ int key; int val; UT_hash_handle hh;};struct hashTable *hashtable = NULL ;struct hashTable * Find(int ikey){ struct hashTable * p; HASH_FIND_INT(hashtable, &ikey, p); return p;}int Insert(int i...
2021-08-04 14:00:34
309
原创 最长有效括号
栈(难理解)int longestValidParentheses(char * s){ int n = (int )strlen(s); if(n==0) return 0; int max_length=0; int stack[n+1]; int top=0; stack[top]=-1; top++; for(int i=0;i<n;i++){ if(s[i]=='('){..
2021-07-29 21:14:28
123
原创 最短无序连续子数组
关键在于入栈的是下标int findUnsortedSubarray(int* nums, int numsSize){ int Stack[numsSize]; int top=0; int min=numsSize; int max=0; for(int i=0;i<numsSize;i++){ while (top!=0 && nums[i]<nums[Stack[top-1]]) { ...
2021-07-29 17:18:50
137
原创 394. 字符串解码
/* 如果当前的字符为数位,解析出一个数字(连续的多个数位)并进栈 如果当前的字符为字母或者左括号,直接进栈 如果当前的字符为右括号,开始出栈,一直到左括号出栈,出栈序列反转后拼接成一个字符串,此时取出栈顶的数字(此时栈顶一定是数字,想想为什么?),就是这个字符串应该出现的次数,我们根据这个次数和字符串构造出新的字符串并进栈 */#define MAX_SIZE 10000void GetString(char *str, char *Stack_letter, int *top_lett..
2021-07-29 15:45:22
132
原创 链表/回文链表
struct ListNode{ int val; struct ListNode *next;};bool isPalindrome(struct ListNode* head){ int data[5001]; int num=0; while(head!=NULL){ data[num]=head->val; num++; head=head->next; } int .
2021-07-22 17:31:03
110
原创 统计全为1的正方形子矩阵
int countSquares(int** matrix, int matrixSize, int* matrixColSize){ int row = matrixSize; int col = matrixColSize[0]; int f[row+1][col+1]; memset(f, 0, sizeof(f)); int sum=0; for(int i=0;i<row;i++){ f[i][...
2021-07-09 13:05:21
151
原创 指针的指针 传递二维数组
int *p[n]; for(int i=0;i<n;i++){ p[i]=&a[i][0]; } 重新定义一个指针p,将p传递过去二级指针**是指向指针的指针而二维数组a是……?指针
2021-07-07 18:52:16
216
原创 动态规划-最小路径和
int minPathSum(int** grid, int gridSize, int* gridColSize){ int row=gridSize; int col=gridColSize[0]; int dp[row+1][col+1]; memset(dp, 0, sizeof(dp)); dp[1][1]=grid[0][0]; for(int j=2;j<=col;j++){ dp[1...
2021-07-07 17:32:02
178
原创 排序:选择,冒泡,插入,希尔,快排
选择排序:从未排序的数据中选出最小的一个元素顺序放在已经排好序的数列最后int main() { %输入 int n; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++){ scanf("%d",&a[i]); } %选择排序 int min; %记录最小值的下标 for(int i=0;i<n;i++){
2021-07-06 20:05:54
145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅